|
@@ -486,7 +486,7 @@ func (this *ArticleController) AddStopTime() {
|
|
|
br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- uid := user.UserId
|
|
|
+
|
|
|
articleId := req.ArticleId
|
|
|
stopTime := req.StopTime
|
|
|
outType := req.OutType
|
|
@@ -510,85 +510,112 @@ func (this *ArticleController) AddStopTime() {
|
|
|
hasPermission := 0
|
|
|
hasFree := 0
|
|
|
|
|
|
-
|
|
|
- applyCount, err := models.GetApplyRecordCount(uid)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+
|
|
|
+ detail, err = models.GetArticleDetailById(articleId)
|
|
|
+ if err != nil {
|
|
|
br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- if user.CompanyId > 1 {
|
|
|
- companyPermission, err := models.GetCompanyPermission(user.CompanyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "判断是否已申请访谈失败,Err:" + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
|
|
|
- return
|
|
|
- }
|
|
|
- detail, err = models.GetArticleDetailById(articleId)
|
|
|
- if err != nil {
|
|
|
+
|
|
|
+ havePower, err := services.GetArticleDetailUserPower(user, detail)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "校验用户权限失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if havePower {
|
|
|
+ hasPermission = 1
|
|
|
+ go services.ArticleHistoryStopTime(articleId, stopTime, outType, user)
|
|
|
+ } else {
|
|
|
+ hasPermission, err = services.GetUserDetailPermissionCode(user.UserId, user.CompanyId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取文章信息失败,Err:" + err.Error() + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
|
|
|
+ br.ErrMsg = "获取信息失败,GetUserDetailPermissionCode Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- if companyPermission == "" {
|
|
|
- if applyCount > 0 {
|
|
|
- hasPermission = 5
|
|
|
- } else {
|
|
|
- hasPermission = 2
|
|
|
- }
|
|
|
- hasFree = 2
|
|
|
- goto Loop
|
|
|
- } else {
|
|
|
- hasFree = 1
|
|
|
- var articlePermissionPermissionName string
|
|
|
- if detail.CategoryId > 0 {
|
|
|
- articlePermission, err := models.GetArticlePermission(detail.CategoryId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取报告权限失败,Err:" + err.Error() + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
|
|
|
- return
|
|
|
- }
|
|
|
- if articlePermission == nil {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "报告权限不存在,Err:" + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(articleId)
|
|
|
- return
|
|
|
- }
|
|
|
- articlePermissionPermissionName = articlePermission.PermissionName
|
|
|
- } else {
|
|
|
- articlePermissionPermissionName = detail.CategoryName
|
|
|
- }
|
|
|
- var hasPersion bool
|
|
|
- slice := strings.Split(articlePermissionPermissionName, ",")
|
|
|
-
|
|
|
- mfyxUserPermissionTotal := services.GetMfyxUserPermissionTotal(uid)
|
|
|
- if mfyxUserPermissionTotal == 1 {
|
|
|
- companyPermission += "," + utils.CHART_PERMISSION_NAME_MF_YANXUAN
|
|
|
- companyPermission += "," + utils.MAI_FANG_YAN_XUAN_NAME
|
|
|
- }
|
|
|
-
|
|
|
- if strings.Contains(companyPermission, utils.CHART_PERMISSION_NAME_MF_YANXUAN) {
|
|
|
- companyPermission += "," + utils.MAI_FANG_YAN_XUAN_NAME
|
|
|
- }
|
|
|
- for _, v := range slice {
|
|
|
- if strings.Contains(companyPermission, v) {
|
|
|
- hasPersion = true
|
|
|
- }
|
|
|
- }
|
|
|
- if hasPersion {
|
|
|
- go services.ArticleHistoryStopTime(articleId, stopTime, outType, user)
|
|
|
- } else {
|
|
|
- hasPermission = 3
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- if applyCount > 0 {
|
|
|
- hasPermission = 5
|
|
|
- } else {
|
|
|
- hasPermission = 4
|
|
|
- }
|
|
|
}
|
|
|
-Loop:
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
resp := new(models.ArticleDetailAddStopTimeRep)
|
|
|
resp.HasPermission = hasPermission
|
|
|
resp.HasFree = hasFree
|