浏览代码

Merge branch 'cygx_9.3.1_0' of http://8.136.199.33:3000/hongze/hongze_cygx into debug

xingzai 2 年之前
父节点
当前提交
0a01187371
共有 2 个文件被更改,包括 38 次插入14 次删除
  1. 1 1
      controllers/activity.go
  2. 37 13
      services/activity_special.go

+ 1 - 1
controllers/activity.go

@@ -4885,7 +4885,7 @@ func (this *ActivityCoAntroller) OverActivityList() {
 	if companyDetail.Status == "永续" {
 		conditionSpecial, err = services.HandleActivityLabelSpecialPermission(user)
 	} else {
-		conditionSpecial, err = services.HandleActivityLabelSpecialTripPermission(user)
+		conditionSpecial, _, err = services.HandleActivityLabelSpecialTripPermission(user)
 	}
 	if err != nil {
 		br.Msg = "获取失败"

+ 37 - 13
services/activity_special.go

@@ -103,7 +103,7 @@ func GetActivityLabelSpecialList(user *models.WxUserItem, isPower int, chartPerm
 			return
 		}
 	} else {
-		condition, e = HandleActivityLabelSpecialTripPermission(user)
+		condition, _, e = HandleActivityLabelSpecialTripPermission(user)
 		if e != nil {
 			err = errors.New("HandleActivityLabelSpecialPermission, Err: " + e.Error())
 			return
@@ -192,13 +192,13 @@ func HandleActivityLabelSpecialPermission(user *models.WxUserItem) (condition st
 }
 
 // HandleActivityLabelSpecialPermisseion 处理专项产业调研的查询权限sql
-func HandleActivityLabelSpecialTripPermission(user *models.WxUserItem) (condition string, err error) {
+func HandleActivityLabelSpecialTripPermission(user *models.WxUserItem) (condition string, userType int, err error) {
 	permissionStr, e := GetCompanyPermission(user.CompanyId)
 	if e != nil {
 		err = errors.New("GetCompanyPermission, Err: " + e.Error())
 		return
 	}
-	userType, _, e := GetUserType(user.CompanyId)
+	userType, _, e = GetUserType(user.CompanyId)
 	//userType, e := GetSpecialUserType(user)
 	if e != nil {
 		err = errors.New("GetSpecialUserType, Err: " + e.Error())
@@ -237,14 +237,16 @@ func GetActivitySpecialPrepareList(user *models.WxUserItem, startSize, pageSize
 	}
 	//如果是永续的就按照普通的权限逻辑来查,如果不是就按照升级的逻辑来查
 	var condition string
+	var conditionUser string
+	var userType int
 	if companyDetail.Status == "永续" {
-		condition, e = HandleActivityLabelSpecialPermission(user)
+		conditionUser, e = HandleActivityLabelSpecialPermission(user)
 		if e != nil {
 			err = errors.New("HandleActivityLabelSpecialPermission, Err: " + e.Error())
 			return
 		}
 	} else {
-		condition, e = HandleActivityLabelSpecialTripPermission(user)
+		conditionUser, userType, e = HandleActivityLabelSpecialTripPermission(user)
 		if e != nil {
 			err = errors.New("HandleActivityLabelSpecialPermission, Err: " + e.Error())
 			return
@@ -257,11 +259,31 @@ func GetActivitySpecialPrepareList(user *models.WxUserItem, startSize, pageSize
 		condition += ` AND art.research_theme LIKE ? `
 		pars = append(pars, keywords)
 	}
+
+	// 8: 行业升级套餐客户:该活动对应行业为升级权限的客户
+	permissionShengji, errs := models.GetCompanyPermissionByUserZhengShiTrip(user.CompanyId)
+	if errs != nil {
+		err = errs
+		return
+	}
+	var conditionOr string
+	if permissionShengji != "" && userType != 2 {
+		slicePerShengji := strings.Split(permissionShengji, ",")
+		permissionShengji = ""
+		for _, v := range slicePerShengji {
+			permissionShengji += "'" + v + "',"
+		}
+		permissionShengji = strings.TrimRight(permissionShengji, ",")
+		conditionOr += ` OR (  art.customer_type_ids LIKE '%8%' AND art.chart_permission_name  IN (` + permissionShengji + `)` + condition + `) `
+		pars = append(pars, pars)
+	}
+	condition += conditionUser + conditionOr
 	totalPrepare, e = models.GetActivitySpecialCount(condition, pars)
 	if e != nil {
 		err = errors.New("GetActivitySpecialCount, Err: " + e.Error())
 		return
 	}
+
 	condition += `  ORDER BY art.last_updated_time DESC `
 	list, e = models.GetCygxActivitySpecialDetailList(condition, pars, user.UserId, startSize, pageSize)
 	if e != nil {
@@ -285,6 +307,7 @@ func GetActivityLabelSpecialConfirmList(user *models.WxUserItem, startSize, page
 	//如果是永续的就按照普通的权限逻辑来查,如果不是就按照升级的逻辑来查
 	var condition string
 	var conditionUser string
+	var userType int
 	if companyDetail.Status == "永续" {
 		conditionUser, e = HandleActivityLabelSpecialPermission(user)
 		if e != nil {
@@ -292,7 +315,7 @@ func GetActivityLabelSpecialConfirmList(user *models.WxUserItem, startSize, page
 			return
 		}
 	} else {
-		conditionUser, e = HandleActivityLabelSpecialTripPermission(user)
+		conditionUser, userType, e = HandleActivityLabelSpecialTripPermission(user)
 		if e != nil {
 			err = errors.New("HandleActivityLabelSpecialPermission, Err: " + e.Error())
 			return
@@ -329,17 +352,19 @@ func GetActivityLabelSpecialConfirmList(user *models.WxUserItem, startSize, page
 		err = errs
 		return
 	}
-	if permissionShengji != "" {
+	var conditionOr string
+	if permissionShengji != "" && userType != 2 {
 		slicePerShengji := strings.Split(permissionShengji, ",")
 		permissionShengji = ""
 		for _, v := range slicePerShengji {
 			permissionShengji += "'" + v + "',"
 		}
 		permissionShengji = strings.TrimRight(permissionShengji, ",")
-		condition += ` OR (  art.customer_type_ids LIKE '%8%' AND art.chart_permission_name  IN (` + permissionShengji + `)` + condition + `) `
+		conditionOr += ` OR (  art.customer_type_ids LIKE '%8%' AND art.chart_permission_name  IN (` + permissionShengji + `)` + condition + `) `
+		pars = append(pars, pars)
 	}
-	pars = append(pars, pars)
-	condition += conditionUser
+
+	condition += conditionUser + conditionOr
 	totalConfirm, e = models.GetActivitySpecialCount(condition, pars)
 	if e != nil {
 		err = errors.New("GetActivitySpecialCount, Err: " + e.Error())
@@ -462,7 +487,6 @@ func GetActivitySpecialList(user *models.WxUserItem, currentIndex, pageSize int,
 		}
 	}
 	total = totalConfirm + totalPrepare
-
 	//处理封面图片
 	detail, e := models.GetConfigByCode("city_img_url")
 	if e != nil {
@@ -717,12 +741,12 @@ func GetSpecialDetailUserPower(user *models.WxUserItem, activityInfo *models.Cyg
 		err = errors.New("GetCompanyPermissionUpgrade, Err: " + e.Error())
 		return
 	}
-	fmt.Println(permissionStr)
 	//如果没有对应的升级权限,则返回
 	if !strings.Contains(permissionStr, activityInfo.ChartPermissionName) {
 		return
 	}
-	userType, e := GetSpecialUserType(user)
+	//userType, e := GetSpecialUserType(user)
+	userType, _, e := GetUserType(user.CompanyId)
 	if e != nil {
 		err = errors.New("GetSpecialUserType, Err: " + e.Error())
 		return