浏览代码

行业套餐客户权限优化

xingzai 3 年之前
父节点
当前提交
87f60cd2df
共有 1 个文件被更改,包括 14 次插入9 次删除
  1. 14 9
      controllers/activity.go

+ 14 - 9
controllers/activity.go

@@ -147,6 +147,11 @@ func (this *ActivityCoAntroller) ActivityList() {
 			} else {
 				userType = 3
 			}
+			if userType == 3 {
+				if !strings.Contains(permissionStr, "医药") && !strings.Contains(permissionStr, "消费") && !strings.Contains(permissionStr, "科技") && !strings.Contains(permissionStr, "智造") {
+					userType = 4
+				}
+			}
 		}
 	}
 	if isShowJurisdiction == 1 && chartPermissionIds == "" && userType == 4 {
@@ -165,13 +170,13 @@ func (this *ActivityCoAntroller) ActivityList() {
 	//活动可见限制
 	var sqlExport string
 
-	//slicePer := strings.Split(permissionStr, ",")
+	slicePer := strings.Split(permissionStr, ",")
 	var permissionSqlStr string
-	//for _, v := range slicePer {
-	//	permissionSqlStr += "'" + v + "',"
-	//}
-	//permissionSqlStr = strings.TrimRight(permissionSqlStr, ",")
-	//permissionSqlStr = ` AND art.chart_permission_name  IN (` + permissionSqlStr + `)`
+	for _, v := range slicePer {
+		permissionSqlStr += "'" + v + "',"
+	}
+	permissionSqlStr = strings.TrimRight(permissionSqlStr, ",")
+	permissionSqlStr = ` AND art.chart_permission_name  IN (` + permissionSqlStr + `)`
 	sqlExport = ` AND (art.customer_type_ids LIKE '%` + strconv.Itoa(userType) + `%' `
 	if userType == 2 {
 		sqlExport += ` OR  art.customer_type_ids LIKE '%3%' `
@@ -223,10 +228,10 @@ func (this *ActivityCoAntroller) ActivityList() {
 	condition += ` AND art.publish_status = 1 `
 	var conditionOr string
 	if strings.Contains(permissionStr, "专家") && (userType == 2 || userType == 3 || userType == 4) {
-		conditionOr = `	OR (  art.is_limit_people = 0 	AND art.activity_type_id IN ( 1,3 )  ` + condition + `) `
-		conditionOr += ` OR (  art.is_limit_people = 1 AND art.customer_type_ids LIKE '%4%'	 ` + condition + `) `
+		conditionOr += ` OR (  art.is_limit_people = 1 AND art.customer_type_ids LIKE '%4%'	 ` + permissionSqlStr + condition + `) `
+		conditionOr += ` OR (  art.is_limit_people = 1 AND art.activity_type_id = 3  AND art.customer_type_ids LIKE '%4%'	 ` + condition + `) `
 	}
-	conditionOr += `	OR ( art.is_limit_people = 0 	  ` + permissionSqlStr + condition + `) `
+	conditionOr += `	OR ( art.is_limit_people = 0 	  ` + condition + `) `
 	condition += ` AND art.is_limit_people = 1 ` + permissionSqlStr + sqlExport + conditionOr
 	total, err := models.GetActivityCount(condition, pars)
 	if err != nil {