xingzai 2 anni fa
parent
commit
cb5d7f3976
2 ha cambiato i file con 23 aggiunte e 12 eliminazioni
  1. 18 12
      services/activity.go
  2. 5 0
      services/activity_special.go

+ 18 - 12
services/activity.go

@@ -770,6 +770,7 @@ func GetIndustryNewLabelMap(industryIds []int) (labelMap map[int]bool, err error
 // GetSpecialDetailUserPower 处理用户查看专项调研详情的权限
 func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.ActivityDetail) (havePower bool, err error) {
 	var companyDetailStatus string
+	var userTypeStr string
 	userType, permissionStr, e := GetUserType(user.CompanyId)
 	if e != nil {
 		err = errors.New("GetCompanyPermissionUpgrade, Err: " + e.Error())
@@ -781,7 +782,6 @@ func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.Ac
 			err = e
 			return
 		}
-		var userTypeStr string
 		userTypeStr = mapUserType[userType]
 		if !strings.Contains(userTypeStr, userTypeStr) {
 			return
@@ -834,6 +834,22 @@ func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.Ac
 	if activityInfo.YidongActivityId != "" && permissionStr != "" && strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
 		havePower = true
 	}
+
+	permissionShengji, errs := models.GetCompanyPermissionByUserZhengShiTrip(user.CompanyId)
+	if errs != nil {
+		err = errs
+		return
+	}
+	if strings.Contains(permissionShengji, activityInfo.ChartPermissionName) && strings.Contains(activityInfo.CustomerTypeIds, "8") {
+		havePower = true
+		return
+	}
+
+	if strings.Contains(permissionStr, activityInfo.ChartPermissionName) && strings.Contains(activityInfo.CustomerTypeIds, userTypeStr) {
+		havePower = true
+		return
+	}
+
 	if havePower && activityInfo.LimitPeopleNum > 0 {
 		//对于一些特殊的活动,即使权限满足也不给产看
 		noPower, e := GetShareNoPowe(activityInfo, permissionStr, userType, user)
@@ -870,17 +886,7 @@ func GetShareNoPowe(activityInfo *models.ActivityDetail, permissionStr string, u
 	if userType == 3 && !strings.Contains(permissionStr, "专家") && !strings.Contains(activityInfo.CustomerTypeIds, strconv.Itoa(3)) {
 		noPower = true
 	}
-	if userType == 8 {
-		permissionShengji, errs := models.GetCompanyPermissionByUserZhengShiTrip(user.CompanyId)
-		if errs != nil {
-			err = errs
-			return
-		}
-		if !strings.Contains(permissionShengji, activityInfo.ChartPermissionName) {
-			noPower = true
-			return
-		}
-	}
+
 	if !noPower {
 		noPower, err = CheckUserPowerByActivityChoose(user, activityInfo)
 	}

+ 5 - 0
services/activity_special.go

@@ -938,6 +938,11 @@ func GetSpecialDetailUserPower(user *models.WxUserItem, activityInfo *models.Cyg
 	if total == 1 {
 		havePower = true
 	}
+
+	if strings.Contains(permissionStr, activityInfo.ChartPermissionName) && strings.Contains(activityInfo.CustomerTypeIds, "8") {
+		havePower = true
+		return
+	}
 	return
 }