|
@@ -369,7 +369,11 @@ func GetUserType(companyId int) (userType int, permissionStrnew string, err erro
|
|
|
}
|
|
|
|
|
|
// 校验被分享的用户是否有查看详情的权限
|
|
|
-func GetShareNoPowe(activityInfo *models.ActivityDetail, permissionStr string, userType int) (noPower bool, err error) {
|
|
|
+func GetShareNoPowe(activityInfo *models.ActivityDetail, permissionStr string, userType int, user *models.WxUserItem) (noPower bool, err error) {
|
|
|
+ //如果是弘则的就不进行可见权限校验
|
|
|
+ if user.CompanyId == utils.HZ_COMPANY_ID {
|
|
|
+ return
|
|
|
+ }
|
|
|
//var noPower bool
|
|
|
if (userType == 1 || userType == 4 || userType == 5) && !strings.Contains(activityInfo.CustomerTypeIds, strconv.Itoa(userType)) {
|
|
|
noPower = true
|
|
@@ -387,6 +391,39 @@ func GetShareNoPowe(activityInfo *models.ActivityDetail, permissionStr string, u
|
|
|
if userType == 3 && !strings.Contains(permissionStr, "专家") && !strings.Contains(activityInfo.CustomerTypeIds, strconv.Itoa(3)) {
|
|
|
noPower = true
|
|
|
}
|
|
|
+ if !noPower {
|
|
|
+ noPower, err = CheckUserPowerByActivityChoose(user, activityInfo)
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//处理活动本组们是否决策人权限
|
|
|
+func CheckUserPowerByActivityChoose(user *models.WxUserItem, activityInfo *models.ActivityDetail) (noPower bool, err error) {
|
|
|
+ //处理 见范围 1,仅本组可见 、2,全部客户可见
|
|
|
+ if activityInfo.VisibleRange == 1 {
|
|
|
+ adminIds, errAdmin := models.GetSelleridWhichGroup(user.CompanyId, 2)
|
|
|
+ if errAdmin != nil {
|
|
|
+ err = errAdmin
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sliceAdminIds := strings.Split(adminIds, ",")
|
|
|
+ var haveAdminId bool
|
|
|
+ for _, v := range sliceAdminIds {
|
|
|
+ if v == strconv.Itoa(activityInfo.AdminId) {
|
|
|
+ haveAdminId = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if !haveAdminId {
|
|
|
+ noPower = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //处理 是否仅决策人可见 0,否 、1,是
|
|
|
+ if activityInfo.IsMakerShow == 1 {
|
|
|
+ if user.IsMaker == 0 {
|
|
|
+ noPower = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fmt.Println(noPower)
|
|
|
return
|
|
|
}
|
|
|
|