Browse Source

Merge branch 'cygx/cygx_11.1' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

xingzai 1 year ago
parent
commit
8b65f67d54
2 changed files with 88 additions and 1 deletions
  1. 46 1
      controllers/cygx/apply_record.go
  2. 42 0
      services/cygx/admin_power.go

+ 46 - 1
controllers/cygx/apply_record.go

@@ -6,6 +6,7 @@ import (
 	"hongze/hz_crm_api/controllers"
 	"hongze/hz_crm_api/models"
 	"hongze/hz_crm_api/models/cygx"
+	cygxService "hongze/hz_crm_api/services/cygx"
 	"hongze/hz_crm_api/utils"
 	"strconv"
 )
@@ -66,6 +67,20 @@ func (this *ApplyRecordController) ListSysRole() {
 		}
 	}
 
+	//权益申请销售只能看到自己名下的客户的申请 查研观向11.1
+	companyIds, err := cygxService.GetAdminLookUserCompanyIds(sysUser)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,GetAdminLookUserCompanyIds Err:" + err.Error()
+		return
+	}
+	lencompanyIds := len(companyIds)
+	if lencompanyIds > 0 {
+		condition = ` AND a.company_id_pay  IN (` + utils.GetOrmInReplace(lencompanyIds) + `)`
+		pars = append(pars, companyIds)
+
+	}
+
 	total, err := cygx.GetCygxApplyRecordCount(condition, pars)
 	if err != nil {
 		br.Msg = "获取失败"
@@ -79,6 +94,33 @@ func (this *ApplyRecordController) ListSysRole() {
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
+
+	var microvideoIds []int
+	for _, v := range list {
+		if v.Source == "microvideo" {
+			microvideoIds = append(microvideoIds, v.SourceId)
+		}
+	}
+	lenmicrovideoIds := len(microvideoIds)
+	mapmicrovideoChartPermissionId := make(map[int]int) //产业视频ID所对应的行业ID
+	mapmicrovideoIndustryId := make(map[int]int)        //产业视频ID所对应的行业ID
+	if lenmicrovideoIds > 0 {
+		var conditionmicrovideo string
+		var parsmicrovideo []interface{}
+		conditionmicrovideo = ` AND video_id IN (` + utils.GetOrmInReplace(lenmicrovideoIds) + `)`
+		parsmicrovideo = append(parsmicrovideo, microvideoIds)
+		listmicrovideo, err := cygx.GetMicroRoadshowVideoList(conditionmicrovideo, "", parsmicrovideo, 0, lenmicrovideoIds)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取数据失败,Err:" + err.Error()
+			return
+		}
+		for _, v := range listmicrovideo {
+			mapmicrovideoChartPermissionId[v.VideoId] = v.ChartPermissionId
+			mapmicrovideoIndustryId[v.VideoId] = v.IndustryId
+		}
+	}
+
 	for i, v := range list {
 		if list[i].SellerName == "/" {
 			list[i].SellerName = ""
@@ -134,9 +176,12 @@ func (this *ApplyRecordController) ListSysRole() {
 		case "activityvideo": //活动视频详情
 			list[i].HttpUrl = utils.CYGX_WEB_URL + "/activity/detail/" + strconv.Itoa(v.SourceId)
 		case "productinterior": //产品内测
-			list[i].HttpUrl = utils.CYGX_WEB_URL + "//internal/article/" + strconv.Itoa(v.SourceId)
+			list[i].HttpUrl = utils.CYGX_WEB_URL + "/internal/article/" + strconv.Itoa(v.SourceId)
+		case "microvideo": //产业视频
+			list[i].HttpUrl = utils.CYGX_WEB_URL + "/indepth/info/" + strconv.Itoa(mapmicrovideoChartPermissionId[v.SourceId]) + "/" + strconv.Itoa(mapmicrovideoIndustryId[v.SourceId])
 		}
 	}
+
 	page := paging.GetPaging(currentIndex, pageSize, total)
 	resp := new(cygx.CygxApplyRecordListResp)
 	resp.List = list

+ 42 - 0
services/cygx/admin_power.go

@@ -2,9 +2,12 @@ package cygx
 
 import (
 	"errors"
+	"hongze/hz_crm_api/models/company"
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/models/system"
+	"hongze/hz_crm_api/utils"
 	"strconv"
+	"strings"
 )
 
 // 获取这个销售所能查看的手机号权限
@@ -29,3 +32,42 @@ func GetAdminLookUserMobile(adminInfo *system.Admin) (mapMobile map[string]strin
 	mapMobile = mapUserMobile
 	return
 }
+
+// 获取这个销售所能查看的手机号权限
+func GetAdminLookUserCompanyIds(sysUser *system.Admin) (companyIds []int, err error) {
+	//如果不是管理员,权益管理员那么就对可见权限范围做处理
+	adminIds := make([]int, 0)
+	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_RAI_ADMIN {
+		if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP {
+			//如果是权益的组长就获取下面的组员
+			adminList, e := system.GetAdminListByGroupId(sysUser.GroupId)
+			if e != nil {
+				err = errors.New("GetAdminListByGroupId , Err: " + e.Error())
+				return
+			}
+			for _, v := range adminList {
+				adminIds = append(adminIds, v.AdminId)
+			}
+		} else if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER {
+			adminIds = append(adminIds, sysUser.AdminId)
+		}
+
+		var adminIdGroup string
+		for _, v := range adminIds {
+			adminIdGroup += strconv.Itoa(v) + ","
+		}
+		adminIdGroup = strings.TrimRight(adminIdGroup, ",")
+		companyProductList, e := company.GetCompanyProductsBySellerId(adminIdGroup)
+		if e != nil {
+			err = errors.New("GetCompanyProductsBySellerId , Err: " + e.Error())
+			return
+		}
+
+		for _, v := range companyProductList {
+			companyIds = append(companyIds, v.CompanyId)
+		}
+		companyIds = append(companyIds, 0)
+	}
+
+	return
+}