소스 검색

活动列表优化

xingzai 3 년 전
부모
커밋
4a08faae19
1개의 변경된 파일21개의 추가작업 그리고 6개의 파일을 삭제
  1. 21 6
      controllers/activity.go

+ 21 - 6
controllers/activity.go

@@ -163,10 +163,10 @@ func (this *ActivityCoAntroller) ActivityList() {
 	var pars []interface{}
 	//活动可见限制
 	var sqlExport string
-	if userType == 3 && strings.Contains(permissionStr, "专家") {
-		sqlExport = `	OR ( is_limit_people = 1 OR  customer_type_ids LIKE '%4%' ) `
-	}
-	condition += ` AND (is_limit_people = 0 OR(is_limit_people = 1 AND customer_type_ids LIKE'%` + strconv.Itoa(userType) + `%')  ` + sqlExport + `) `
+	//if userType == 3 && strings.Contains(permissionStr, "专家") {
+	//	sqlExport = `	OR ( is_limit_people = 1 OR  customer_type_ids LIKE '%4%' ) `
+	//}
+
 	if keyWord != "" {
 		slicekeyWord := strings.Split(keyWord, ",")
 		var sqlOr string
@@ -180,6 +180,10 @@ func (this *ActivityCoAntroller) ActivityList() {
 		}
 	}
 
+	//if userType == 3 {
+
+	//}
+
 	//行业名称
 	if len(chartPermissionIds) > 0 {
 		condition += ` AND art.chart_permission_id  IN (` + chartPermissionIds + `)`
@@ -203,11 +207,22 @@ func (this *ActivityCoAntroller) ActivityList() {
 		condition += ` AND art.activity_time >= ` + "'" + startDate + " 00:00:00'"
 		condition += ` AND art.activity_time <= ` + "'" + endDate + " 23:59:59'"
 	}
-
-	condition += ` AND art.publish_status = 1 `
+	condition += ` AND (art.is_limit_people = 0 OR(art.is_limit_people = 1 AND art.customer_type_ids LIKE'%` + strconv.Itoa(userType) + `%')  ` + sqlExport + `) `
 	if activeState != "" {
 		condition += ` AND art.active_state  IN (` + activeState + `)`
 	}
+	var conditionOr string
+	if strings.Contains(permissionStr, "专家") {
+		conditionOr = `	OR (  art.publish_status = 1 ` + condition + `) `
+	}
+	condition += ` AND art.publish_status = 1 `
+	slicePer := strings.Split(permissionStr, ",")
+	var permissionSqlStr string
+	for _, v := range slicePer {
+		permissionSqlStr += "'" + v + "',"
+	}
+	permissionSqlStr = strings.TrimRight(permissionSqlStr, ",")
+	condition += ` AND art.chart_permission_name  IN (` + permissionSqlStr + `)` + conditionOr
 	total, err := models.GetActivityCount(condition, pars)
 	if err != nil {
 		br.Msg = "获取失败"