Переглянути джерело

Merge branch 'cygx_v2' of hongze/hongze_cygx into master

hongze 3 роки тому
батько
коміт
2f6ed7b60e
2 змінених файлів з 65 додано та 40 видалено
  1. 54 40
      controllers/activity.go
  2. 11 0
      models/company.go

+ 54 - 40
controllers/activity.go

@@ -112,40 +112,54 @@ func (this *ActivityCoAntroller) ActivityList() {
 	if user.CompanyId <= 1 {
 		userType = 0
 	} else {
-		companyDetail, err := models.GetCompanyDetailByIdGroup(user.CompanyId)
+		total, err := models.GetCountCompanyDetailByIdGroup(user.CompanyId)
 		if err != nil {
-			br.Msg = "获取信息失败!"
-			br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
-			return
-		}
-		if companyDetail == nil {
-			br.Msg = "获取信息失败!"
-			br.ErrMsg = "客户不存在,uid:" + strconv.Itoa(user.UserId) + "CompanyId:" + strconv.Itoa(user.CompanyId)
-			return
-		}
-		permissionStr, err = models.GetCompanyPermission(user.CompanyId)
-		if err != nil {
-			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,Err:" + err.Error()
 			return
 		}
-
-		//1、永续客户
-		//2、大套餐客户(4个行业全开通的正式客户)
-		//3、分行业套餐客户(开通对应行业的正式客户)
-		//4、仅开通专家套餐的正式客户
-		//5、开通对应行业套餐或专家套餐的试用客户
-		if companyDetail.Status == "永续" {
-			userType = 1
-		} else if companyDetail.Status == "试用" {
-			userType = 5
-		} else if companyDetail.Status == "正式" {
-			if permissionStr == "专家" {
-				userType = 4
-			} else if strings.Contains(permissionStr, "医药") && strings.Contains(permissionStr, "消费") && strings.Contains(permissionStr, "科技") && strings.Contains(permissionStr, "智造") {
-				userType = 2
-			} else {
-				userType = 3
+		if total == 0 {
+			userType = 0
+		} else {
+			companyDetail, err := models.GetCompanyDetailByIdGroup(user.CompanyId)
+			if err != nil {
+				br.Msg = "获取信息失败!"
+				br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
+				return
+			}
+			if companyDetail == nil {
+				br.Msg = "获取信息失败!"
+				br.ErrMsg = "客户不存在,uid:" + strconv.Itoa(user.UserId) + "CompanyId:" + strconv.Itoa(user.CompanyId)
+				return
+			}
+			permissionStr, err = models.GetCompanyPermission(user.CompanyId)
+			if err != nil {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
+				return
+			}
+			//1、永续客户
+			//2、大套餐客户(4个行业全开通的正式客户)
+			//3、分行业套餐客户(开通对应行业的正式客户)
+			//4、仅开通专家套餐的正式客户
+			//5、开通对应行业套餐或专家套餐的试用客户
+			if companyDetail.Status == "永续" {
+				userType = 1
+			} else if companyDetail.Status == "试用" {
+				userType = 5
+			} else if companyDetail.Status == "正式" {
+				if permissionStr == "专家" {
+					userType = 4
+				} else if strings.Contains(permissionStr, "医药") && strings.Contains(permissionStr, "消费") && strings.Contains(permissionStr, "科技") && strings.Contains(permissionStr, "智造") {
+					userType = 2
+				} else {
+					userType = 3
+				}
+				if userType == 3 {
+					if !strings.Contains(permissionStr, "医药") && !strings.Contains(permissionStr, "消费") && !strings.Contains(permissionStr, "科技") && !strings.Contains(permissionStr, "智造") {
+						userType = 4
+					}
+				}
 			}
 		}
 	}
@@ -165,13 +179,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 +237,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 {

+ 11 - 0
models/company.go

@@ -33,6 +33,17 @@ func GetCompanyDetailByIdGroup(companyId int) (item *CompanyDetail, err error) {
 	return
 }
 
+func GetCountCompanyDetailByIdGroup(companyId int) (count int, err error) {
+	sql := ` SELECT COUNT(1) AS count
+            FROM company AS a
+			INNER JOIN company_product AS b ON a.company_id=b.company_id
+			LEFT JOIN admin AS c ON b.seller_id=c.admin_id
+			WHERE a.company_id=? AND b.product_id = 2  `
+	o := orm.NewOrm()
+	err = o.Raw(sql, companyId).QueryRow(&count)
+	return
+}
+
 //原有权限叫校验,下方更改与2021-5.18
 //func GetCompanyPermission(companyId int) (permission string, err error) {
 //	sql := ` SELECT GROUP_CONCAT(DISTINCT b.chart_permission_name  ORDER BY b.sort ASC SEPARATOR ',') AS permission