Browse Source

no message

xingzai 1 year ago
parent
commit
106882887f
3 changed files with 68 additions and 31 deletions
  1. 38 31
      controllers/yanxuan_special.go
  2. 6 0
      services/activity.go
  3. 24 0
      services/user_yanxuan_permission.go

+ 38 - 31
controllers/yanxuan_special.go

@@ -242,42 +242,49 @@ func (this *BaseAuthMobileController) Detail() {
 		}
 	}
 
-	if userId == 0 {
-		hasPermission = 1
-		resp.Content = utils.InterceptHtmlLength(resp.Content, 240) // 截取前80个字
+	//if userId == 0 {
+	//	hasPermission = 1
+	//	resp.Content = utils.InterceptHtmlLength(resp.Content, 240) // 截取前80个字
+	//} else {
+	//	//查询研选的权限状态
+	//	var condition string
+	//	var pars []interface{}
+	//	condition = " AND company_id = ?  AND status  IN ('正式','试用')  AND chart_permission_id = ?   ORDER BY company_report_permission_id DESC LIMIT 1  "
+	//	pars = append(pars, user.CompanyId, utils.CHART_PERMISSION_ID_YANXUAN)
+	//	companyReportPermissionDetail, err := models.GetCompanyReportPermissionDetailByCondition(condition, pars)
+	//	if err != nil && err.Error() != utils.ErrNoRow() {
+	//		br.Msg = "获取信息失败"
+	//		br.ErrMsg = "获取用户所在公司剩余的点失败,Err:" + err.Error()
+	//		return
+	//	}
+	//	if companyReportPermissionDetail == nil {
+	//		hasPermission, _, _, _, err = services.GetUserHasPermissionArticle(user)
+	//		if err != nil {
+	//			br.Msg = "获取信息失败"
+	//			br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
+	//			return
+	//		}
+	//	} else {
+	//		hasPermission = 1
+	//	}
+	//
+	//}
+	//
+	//resp.HasPermission = hasPermission
+
+	//如果是用户本人写的专栏,那么就不做校验
+	if item.UserId == user.UserId || user.UserId == 0 {
+		resp.HasPermission = 1
 	} else {
-		//查询研选的权限状态
-		var condition string
-		var pars []interface{}
-		condition = " AND company_id = ?  AND status  IN ('正式','试用')  AND chart_permission_id = ?   ORDER BY company_report_permission_id DESC LIMIT 1  "
-		pars = append(pars, user.CompanyId, utils.CHART_PERMISSION_ID_YANXUAN)
-		companyReportPermissionDetail, err := models.GetCompanyReportPermissionDetailByCondition(condition, pars)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取用户所在公司剩余的点失败,Err:" + err.Error()
+		hasPermission, err = services.GetUserRaiPermissionYanXuanInfo(user)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败, Err:" + err.Error()
 			return
 		}
-		if companyReportPermissionDetail == nil {
-			hasPermission, _, _, _, err = services.GetUserHasPermissionArticle(user)
-			if err != nil {
-				br.Msg = "获取信息失败"
-				br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
-				return
-			}
-		} else {
-			hasPermission = 1
-		}
-
+		resp.HasPermission = hasPermission
 	}
 
-	resp.HasPermission = hasPermission
-	//if userId == 0 {
-
-	//}
-	//if hasPermission != 0 && hasPermission != 1 {
-	//	//resp.Content = utils.InterceptHtmlLength(resp.Content, 240) // 截取前80个字
-	//	resp.Content = ""
-	//}
 	br.Data = resp
 	br.Ret = 200
 	br.Success = true

+ 6 - 0
services/activity.go

@@ -195,6 +195,7 @@ func GetUserTypeZhengShi(companyId int) (userType int, permissionStrnew, permiss
 func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.ActivityDetail) (havePower, isResearchSpecial bool, err error) {
 	var companyDetailStatus string
 	var userTypeStr string
+	userId := user.UserId
 	activityPointsByUserAllMap := GetActivityPointsByUserAllMap() // 获取对用户进行研选扣点的活动
 	//勾选【研选扣点】且扣点对象为参会人的活动,需要有买方研选的正式权限
 	if strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) && activityPointsByUserAllMap[activityInfo.ActivityId] {
@@ -212,6 +213,11 @@ func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.Ac
 		err = errors.New("GetCompanyPermissionUpgrade, Err: " + e.Error())
 		return
 	}
+	//判断用户是否开通了个人研选权限,如果有权限后缀拼接权限名称
+	mfyxUserPermissionTotal := GetMfyxUserPermissionTotal(userId)
+	if mfyxUserPermissionTotal == 1 {
+		permissionStr += "," + utils.CHART_PERMISSION_NAME_MF_YANXUAN
+	}
 	//如果一个权限都没有就返回无权限
 	if permissionStr == "" {
 		return

+ 24 - 0
services/user_yanxuan_permission.go

@@ -24,3 +24,27 @@ func GetMfyxUserPermissionTotal(userId int) (toatal int) {
 	}
 	return
 }
+
+// 查询研选的权限状态
+func GetUserRaiPermissionYanXuanInfo(user *models.WxUserItem) (hasPermission int, err error) {
+	var condition string
+	var pars []interface{}
+	condition = " AND company_id = ?  AND status  IN ('正式','试用')  AND chart_permission_id = ?   ORDER BY company_report_permission_id DESC LIMIT 1  "
+	pars = append(pars, user.CompanyId, utils.CHART_PERMISSION_ID_YANXUAN)
+	companyReportPermissionDetail, e := models.GetCompanyReportPermissionDetailByCondition(condition, pars)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetCompanyReportPermissionDetailByCondition, Err: " + e.Error())
+		return
+	}
+	//如果用户没有研选权限,那么就获取他对应的状态码
+	if companyReportPermissionDetail == nil {
+		hasPermission, _, _, _, e = GetUserHasPermissionArticle(user)
+		if e != nil {
+			err = errors.New("GetUserHasPermissionArticle, Err: " + e.Error())
+			return
+		}
+	} else {
+		hasPermission = 1
+	}
+	return
+}