xingzai 1 ano atrás
pai
commit
2ff840464d

+ 11 - 15
controllers/cygx/contract_allocation.go

@@ -592,7 +592,16 @@ func (this *ContractAllocationController) CompanyContracDetail() {
 		return
 	}
 	mapPermissionUser := make(map[string][]*cygx.AllocationRealNameListResp)
-
+	listPermission, err := cygx.GetChartPermissionAll()
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+		return
+	}
+	mapPermissionId := make(map[string]int)
+	for _, v := range listPermission {
+		mapPermissionId[v.PermissionName] = v.ChartPermissionId
+	}
 	var respList []*cygx.AllocationPermissionListResp
 	if total == 0 {
 		for _, v := range sysUserList {
@@ -604,19 +613,6 @@ func (this *ContractAllocationController) CompanyContracDetail() {
 			mapPermissionUser[v.ChartPermissionName] = append(mapPermissionUser[v.ChartPermissionName], item)
 		}
 
-		listPermission, err := cygx.GetChartPermissionAll()
-		if err != nil {
-			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
-			return
-		}
-
-		mapPermissionId := make(map[string]int)
-
-		for _, v := range listPermission {
-			mapPermissionId[v.PermissionName] = v.ChartPermissionId
-		}
-
 		for k, v := range mapPermissionUser {
 			respItem := new(cygx.AllocationPermissionListResp)
 			respItem.ChartPermissionName = k
@@ -662,7 +658,7 @@ func (this *ContractAllocationController) CompanyContracDetail() {
 			}
 			respItem := new(cygx.AllocationPermissionListResp)
 			respItem.ChartPermissionName = v.ChartPermissionName
-			respItem.ChartPermissionId = v.ChartPermissionId
+			respItem.ChartPermissionId = mapPermissionId[v.ChartPermissionName]
 			respItem.Money = v.Money
 			respItem.Proportion = v.Proportion
 			respItem.List = mapPermissionUser[v.ChartPermissionName]

+ 19 - 1
services/cygx/activity_power_check.go

@@ -218,7 +218,7 @@ func GetActivityDetailUserPowerold(user *models.WxUser, adminInfo *system.Admin,
 func GetActivityDetailUserPower(user *models.WxUser, adminInfo *system.Admin, activityInfo *cygx.ActivityDetail) (havePower bool, err error) {
 	var companyDetailStatus string
 	var userTypeStr string
-
+	userId := int(user.UserId)
 	//如果是弘则的用户或者宏观的权限不做校验
 	//if user.CompanyId == utils.HZ_COMPANY_ID || activityInfo.ChartPermissionName == "宏观" {
 	if user.CompanyId == utils.HZ_COMPANY_ID {
@@ -237,6 +237,24 @@ func GetActivityDetailUserPower(user *models.WxUser, adminInfo *system.Admin, ac
 		return
 	}
 
+	//判断用户是否开通了个人研选权限,如果有权限后缀拼接权限名称
+	// 查询用户是否开通过
+	mfyxUserPermissionTotal, e := cygx.GetCygxUserYanxuanPermissionCountByUserId(userId)
+	if e != nil {
+		err = errors.New("GetCygxUserYanxuanPermissionCountByUserId, Err: " + e.Error())
+		return
+	}
+
+	if mfyxUserPermissionTotal == 1 {
+		permissionStr += "," + utils.CHART_PERMISSION_NAME_MF_YANXUAN
+	}
+
+	//如果用户开通了研选扣点包,但是没开通研选订阅,那么就拼接一个研选订阅的权限名称
+	if !strings.Contains(permissionStr, utils.CHART_PERMISSION_NAME_MF_YANXUAN) && strings.Contains(permissionStr, utils.YAN_XUAN_KOU_DIAN_BAO_NAME) {
+		permissionStr += "," + utils.CHART_PERMISSION_NAME_MF_YANXUAN
+		permissionStrZhengShi += "," + utils.CHART_PERMISSION_NAME_MF_YANXUAN
+	}
+
 	//如果一个权限都没有就返回无权限
 	if permissionStr == "" {
 		return