浏览代码

Merge branch 'cygx_10.5.4' of http://8.136.199.33:3000/hongze/hongze_cygx

xingzai 1 年之前
父节点
当前提交
3af7c3ed36
共有 5 个文件被更改,包括 42 次插入34 次删除
  1. 11 26
      controllers/activity.go
  2. 1 0
      models/activity.go
  3. 1 0
      models/activity_signup.go
  4. 22 7
      services/activity.go
  5. 7 1
      services/company_permission.go

+ 11 - 26
controllers/activity.go

@@ -345,16 +345,16 @@ func (this *ActivityCoAntroller) Detail() {
 	}
 	activityInfo.SignupNum = signupCount
 
-	havePower, err := services.GetActivityDetailUserPower(user, activityInfo)
+	havePower, isResearchSpecial, err := services.GetActivityDetailUserPower(user, activityInfo)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "校验用户权限失败,Err:" + err.Error()
 		return
 	}
-
+	resp.IsResearchSpecial = isResearchSpecial
 	if havePower {
 		//是否展示限免标签
-		if services.GetShowSustainable() && strings.Contains(activityInfo.ChartPermissionName, "研选") {
+		if services.GetShowSustainable() && strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
 			activityInfo.IsShowSustainable = true
 		}
 		resp.HasPermission = 1
@@ -375,23 +375,6 @@ func (this *ActivityCoAntroller) Detail() {
 		if activityInfo.IsHideAppointment == 0 {
 			activityInfo.IsShowAppointment = services.IsShowAppointment(activityInfo.ActivityTypeId, activityInfo.ChartPermissionName)
 		}
-		//if activityInfo.ReportLink != "" {
-		//	artList := strings.Split(activityInfo.ReportLink, "{|}")
-		//	if len(artList) > 0 {
-		//		for _, v := range artList {
-		//			artitem := new(models.ActivityArticleResp)
-		//			artitem.ReportLink = v
-		//			artIdSlice := strings.Split(v, "/")
-		//			if len(artIdSlice) > 0 {
-		//				articleId, _ := strconv.Atoi(artIdSlice[len(artIdSlice)-1])
-		//				artitem.ArticleId = articleId
-		//			}
-		//			activityInfo.ArticleList = append(activityInfo.ArticleList, artitem)
-		//		}
-		//	}
-		//} else {
-		//	activityInfo.ArticleList = make([]*models.ActivityArticleResp, 0)
-		//}
 		activityInfo.ActivityTypeName = strings.Replace(activityInfo.ActivityTypeName, "(C类)", "", -1)
 
 		//处理活动关联的产业
@@ -662,12 +645,13 @@ func (this *ActivityCoAntroller) SignupAdd() {
 		resp.IsResearch = true
 	}
 
-	havePower, err := services.GetActivityDetailUserPower(user, activityInfo)
+	havePower, isResearchSpecial, err := services.GetActivityDetailUserPower(user, activityInfo)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "校验用户权限失败,Err:" + err.Error()
 		return
 	}
+	resp.IsResearchSpecial = isResearchSpecial
 	if havePower {
 		hasPermission = 1
 		signupStatus = "Success"
@@ -1185,13 +1169,13 @@ func (this *ActivityCoAntroller) MeetingReminderAdd() {
 		resp.IsResearch = true
 	}
 
-	havePower, err := services.GetActivityDetailUserPower(user, activityInfo)
+	havePower, isResearchSpecial, err := services.GetActivityDetailUserPower(user, activityInfo)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "校验用户权限失败,Err:" + err.Error()
 		return
 	}
-
+	resp.IsResearchSpecial = isResearchSpecial
 	if havePower {
 		hasPermission = 1
 		signupStatus = "Success"
@@ -2085,12 +2069,13 @@ func (this *ActivityCoAntroller) CheckAsk() {
 	}
 	resp := new(models.SignupStatus)
 	hasPermission := 0
-	havePower, err := services.GetActivityDetailUserPower(user, activityInfo)
+	havePower, isResearchSpecial, err := services.GetActivityDetailUserPower(user, activityInfo)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "校验用户权限失败,Err:" + err.Error()
 		return
 	}
+	resp.IsResearchSpecial = isResearchSpecial
 	if havePower {
 		hasPermission = 1
 		signupStatus = "Success"
@@ -3280,13 +3265,13 @@ func (this *ActivityCoAntroller) ActivityAppointmentAdd() {
 	item := new(models.CygxActivityAppointment)
 	resp := new(models.SignupStatus)
 	hasPermission := 0
-	havePower, err := services.GetActivityDetailUserPower(user, activityInfo)
+	havePower, isResearchSpecial, err := services.GetActivityDetailUserPower(user, activityInfo)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "校验用户权限失败,Err:" + err.Error()
 		return
 	}
-
+	resp.IsResearchSpecial = isResearchSpecial
 	if havePower {
 		hasPermission = 1
 		signupStatus = "Success"

+ 1 - 0
models/activity.go

@@ -223,6 +223,7 @@ type CygxActivityResp struct {
 	SellerMobile      string `description:"销售电话"`
 	SellerName        string `description:"销售姓名"`
 	IsResearch        bool   `description:"是否属于研选"`
+	IsResearchSpecial bool   `description:"是否属于特殊的研选"`
 	Detail            *ActivityDetail
 }
 

+ 1 - 0
models/activity_signup.go

@@ -41,6 +41,7 @@ type SignupStatus struct {
 	GoOutboundMobile  bool   `description:"是否去绑定手机号"`
 	GoBindEmail       bool   `description:"是否去绑定邮箱"`
 	IsResearch        bool   `description:"是否属于研选"`
+	IsResearchSpecial bool   `description:"是否属于特殊的研选"`
 }
 
 // 我的日程

+ 22 - 7
services/activity.go

@@ -493,14 +493,35 @@ func GetUserTypeZhengShi(companyId int) (userType int, permissionStrnew, permiss
 }
 
 // GetSpecialDetailUserPower 处理用户查看详情的权限
-func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.ActivityDetail) (havePower bool, err error) {
+func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.ActivityDetail) (havePower, isResearchSpecial bool, err error) {
 	var companyDetailStatus string
 	var userTypeStr string
+
 	//如果是弘则的用户或者宏观的权限不做校验
 	if GetBelongingRai(user.Mobile) || activityInfo.ChartPermissionName == utils.HONG_GUAN_NAME {
 		havePower = true
 		return
 	}
+	userType, permissionStr, permissionStrZhengShi, e := GetUserTypeZhengShi(user.CompanyId)
+	if e != nil {
+		err = errors.New("GetCompanyPermissionUpgrade, Err: " + e.Error())
+		return
+	}
+	//如果是 公司调研电话会:3,或 专家线下沙龙:5  而且  除易董同步过来的以外的研选类型活动,必须要有研选的正式权限
+	if (activityInfo.ActivityTypeId == 3 || activityInfo.ActivityTypeId == 5) && activityInfo.YidongActivityId == "" && strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
+		isResearchSpecial = true
+	}
+	//如果是 公司调研电话会:3,或 专家线下沙龙:5  而且  除易董同步过来的以外的研选类型活动,必须要有研选的正式权限
+	if isResearchSpecial {
+		if !strings.Contains(permissionStr, utils.CHART_PERMISSION_NAME_YANXUAN) {
+			//如果连试用权限都没有,那么久按照普通的研选样式展示
+			isResearchSpecial = false
+		}
+		if !strings.Contains(permissionStrZhengShi, activityInfo.ChartPermissionName) {
+			havePower = false
+			return
+		}
+	}
 	//处理决策人可见权限
 	if user.IsMaker == 0 && activityInfo.IsMakerShow == 1 {
 		havePower = false
@@ -526,12 +547,6 @@ func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.Ac
 			return
 		}
 	}
-
-	userType, permissionStr, permissionStrZhengShi, e := GetUserTypeZhengShi(user.CompanyId)
-	if e != nil {
-		err = errors.New("GetCompanyPermissionUpgrade, Err: " + e.Error())
-		return
-	}
 	if permissionStr == "" {
 		return
 	}

+ 7 - 1
services/company_permission.go

@@ -149,6 +149,7 @@ func GetUserHasPermissionActivity(user *models.WxUserItem, activityInfo *models.
 		err = errors.New("GetApplyRecordCount, Err: " + e.Error())
 		return
 	}
+
 	if strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
 		popupMsg = "暂无<b>买方研选</b>权限<br/>您可申请开通试用"
 	} else {
@@ -202,7 +203,12 @@ func GetUserHasPermissionActivity(user *models.WxUserItem, activityInfo *models.
 			return
 		}
 		if strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
-			popupMsg = "暂无<b>买方研选</b>权限<br/>点击提交申请,提醒对口销售为你开通试用"
+			//popupMsg = "暂无<b>买方研选</b>权限<br/>点击提交申请,提醒对口销售为你开通试用"
+			if !strings.Contains(companyPermission, utils.CHART_PERMISSION_NAME_YANXUAN) && (activityInfo.ActivityTypeId == 3 || activityInfo.ActivityTypeId == 5) {
+				popupMsg = "暂无<b>买方研选</b>权限<br/>点击提交申请,提醒对口销售为你开通试用"
+			} else {
+				popupMsg = "签约买方研选套餐才可参与此活动,请联系对口销售"
+			}
 		} else {
 			if companyPermission == "专家" {
 				popupMsg = "您暂无权限参加【" + activityInfo.ActivityTypeName + "】类型活动,若想参加请联系对口销售--" + companyItem.SellerName + ":" + companyItem.Mobile