|
@@ -0,0 +1,966 @@
|
|
|
+package cygx
|
|
|
+
|
|
|
+import (
|
|
|
+ "errors"
|
|
|
+ "fmt"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "github.com/tealeg/xlsx"
|
|
|
+ "hongze/hz_crm_api/controllers"
|
|
|
+ "hongze/hz_crm_api/models"
|
|
|
+ "hongze/hz_crm_api/models/cygx"
|
|
|
+ "hongze/hz_crm_api/models/roadshow"
|
|
|
+ cygxService "hongze/hz_crm_api/services/cygx"
|
|
|
+ "hongze/hz_crm_api/utils"
|
|
|
+ "os"
|
|
|
+ "path/filepath"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+// 权益服务类型
|
|
|
+type RaiServeCoAntroller struct {
|
|
|
+ controllers.BaseAuthController
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 服务类型列表
|
|
|
+// @Description 服务类型列表接口
|
|
|
+// @Success 200 {object} cygx.RaiServeTypeListResp
|
|
|
+// @router /rai_serve/type_list [get]
|
|
|
+func (this *RaiServeCoAntroller) TypeList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp := new(cygx.RaiServeTypeListResp)
|
|
|
+ var condition string
|
|
|
+ list, err := cygx.GetRaiServeTypeRespList(condition)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.List = list
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 标签搜索
|
|
|
+// @Description 标签搜索接口
|
|
|
+// @Param KeyWord query string false "搜索关键词"
|
|
|
+// @Success 200 {object} cygx.RaiServeTagListResp
|
|
|
+// @router /rai_serve/search_tag [get]
|
|
|
+func (this *RaiServeCoAntroller) SearchTag() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ keyWord := this.GetString("KeyWord")
|
|
|
+ if keyWord == "" {
|
|
|
+ br.Msg = "请输入搜索关键词"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ resp := new(cygx.RaiServeTagListResp)
|
|
|
+ list, err := cygx.GetRaiServeSearchTagRespList(keyWord)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //如果有固收或者策略就去查询行业表
|
|
|
+ if strings.Contains("固收", keyWord) || strings.Contains("策略", keyWord) {
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ keyWord = "%" + keyWord + "%"
|
|
|
+ condition = ` AND product_id = 2 AND permission_name IN ('策略','固收') AND permission_name LIKE ? `
|
|
|
+ pars = append(pars, keyWord)
|
|
|
+
|
|
|
+ listChartPermission, err := models.GetChartPermissionListByCondition(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,GetChartPermissionListByCondition Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listChartPermission {
|
|
|
+ item := new(cygx.RaiServeTagResp)
|
|
|
+ item.TagType = 3
|
|
|
+ item.TagId = v.ChartPermissionId
|
|
|
+ item.TagName = v.PermissionName
|
|
|
+ list = append(list, item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(list) == 0 {
|
|
|
+ list = make([]*cygx.RaiServeTagResp, 0)
|
|
|
+ } else {
|
|
|
+ for _, v := range list {
|
|
|
+ v.Md5Key = utils.MD5(fmt.Sprintf("K_", v.TagType, "V_", v.TagId))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resp.List = list
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 标签搜索(研究员日历添加到会信息)
|
|
|
+// @Description 标签搜索接口
|
|
|
+// @Param KeyWord query string false "搜索关键词"
|
|
|
+// @Param ResearcherId query int false "研究员ID"
|
|
|
+// @Success 200 {object} cygx.RaiServeTagListResp
|
|
|
+// @router /rai_serve/search_tag_by_calendar [get]
|
|
|
+func (this *RaiServeCoAntroller) SearchTagCalendar() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ keyWord := this.GetString("KeyWord")
|
|
|
+
|
|
|
+ researcherId := this.GetString("ResearcherId")
|
|
|
+ askEmailList, err := cygx.GetAskEmailListByAdminIds(researcherId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "GetAskEmailCountByCelue,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var hasCelue bool
|
|
|
+ var permissionName []string
|
|
|
+ for _, v := range askEmailList {
|
|
|
+ permissionName = append(permissionName, v.ChartPermissionName)
|
|
|
+ if v.ChartPermissionName == "策略" || v.ChartPermissionName == "固收" {
|
|
|
+ hasCelue = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var permissionNameSql []string
|
|
|
+ for _, v := range permissionName {
|
|
|
+ permissionNameSql = append(permissionNameSql, "'"+v+"'")
|
|
|
+ }
|
|
|
+ chartList, err := models.GetChartPermissionByNamesByRai(permissionNameSql)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,GetChartPermissionByNames Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var list []*cygx.RaiServeTagResp
|
|
|
+ resp := new(cygx.RaiServeTagListResp)
|
|
|
+ if hasCelue {
|
|
|
+ for _, v := range chartList {
|
|
|
+ item := new(cygx.RaiServeTagResp)
|
|
|
+ item.TagType = 3
|
|
|
+ item.TagId = v.ChartPermissionId
|
|
|
+ item.TagName = v.PermissionName
|
|
|
+ list = append(list, item)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if keyWord == "" {
|
|
|
+ br.Msg = "请输入搜索关键词"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ keyWordSlice := strings.Split(keyWord, ",")
|
|
|
+ var conditionindustrial string
|
|
|
+ var conditionsubject string
|
|
|
+ for _, v := range keyWordSlice {
|
|
|
+ conditionindustrial += ` OR i.industry_name LIKE '%` + v + `%' `
|
|
|
+ conditionsubject += ` OR s.subject_name LIKE '%` + v + `%' `
|
|
|
+ }
|
|
|
+ var permissionId []string
|
|
|
+ for _, v := range chartList {
|
|
|
+ permissionId = append(permissionId, strconv.Itoa(v.ChartPermissionId))
|
|
|
+ }
|
|
|
+ list, err = cygx.GetRaiServeSearchTagRespListBycharId(keyWord, strings.Join(permissionId, ","), conditionindustrial, conditionsubject)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,GetRaiServeSearchTagRespListBycharId Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(list) == 0 {
|
|
|
+ list = make([]*cygx.RaiServeTagResp, 0)
|
|
|
+ } else {
|
|
|
+ for _, v := range list {
|
|
|
+ v.Md5Key = utils.MD5(fmt.Sprintf("K_", v.TagType, "V_", v.TagId))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resp.List = list
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 校验是否属于策略固收
|
|
|
+// @Description 校验是否属于策略固收接口
|
|
|
+// @Param ResearcherId query int false "研究员ID"
|
|
|
+// @Success 200 {object} cygx.RaiServeTagListResp
|
|
|
+// @router /rai_serve/chcck_PermissionName [get]
|
|
|
+func (this *RaiServeCoAntroller) ChcckPermissionName() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ researcherId := this.GetString("ResearcherId")
|
|
|
+ askEmailList, err := cygx.GetAskEmailListByAdminIds(researcherId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "GetAskEmailCountByCelue,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var belong bool
|
|
|
+ var permissionNameResp []string
|
|
|
+ var permissionNames []string
|
|
|
+ for _, v := range askEmailList {
|
|
|
+ permissionNames = append(permissionNames, v.ChartPermissionName)
|
|
|
+ if v.ChartPermissionName == "策略" || v.ChartPermissionName == "固收" {
|
|
|
+ belong = true
|
|
|
+ permissionNameResp = append(permissionNameResp, v.ChartPermissionName)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var list []*cygx.RaiServeTagResp
|
|
|
+ if belong {
|
|
|
+ var permissionNameSql []string
|
|
|
+ for _, v := range permissionNameResp {
|
|
|
+ permissionNameSql = append(permissionNameSql, "'"+v+"'")
|
|
|
+ }
|
|
|
+ chartList, err := models.GetChartPermissionByNamesByRai(permissionNameSql)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,GetChartPermissionByNames Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range chartList {
|
|
|
+ item := new(cygx.RaiServeTagResp)
|
|
|
+ item.TagType = 3
|
|
|
+ item.TagId = v.ChartPermissionId
|
|
|
+ item.TagName = v.PermissionName
|
|
|
+ item.Md5Key = utils.MD5(fmt.Sprintf("K_", item.TagType, "V_", item.TagId))
|
|
|
+ list = append(list, item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resp := new(cygx.ChekChartPermissionNameResp)
|
|
|
+ if len(list) == 0 {
|
|
|
+ list = make([]*cygx.RaiServeTagResp, 0)
|
|
|
+ }
|
|
|
+ resp.List = list
|
|
|
+ resp.Belong = belong
|
|
|
+ resp.ChartPermissionName = strings.Join(permissionNameResp, ",")
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 权益服务统计列表
|
|
|
+// @Description 权益服务统计列表接口
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param SellerId query string false "销售id"
|
|
|
+// @Param ShareSellerId query string false "共享销售ID"
|
|
|
+// @Param ServeTypeId int int false "服务类型ID"
|
|
|
+// @Param TagType int string false "标签类型"
|
|
|
+// @Param TagId int string false "标签ID"
|
|
|
+// @Param Status query string false "客户状态,正式、未续约(除了正式之外的所有)"
|
|
|
+// @Param SortType query string true "如何排序,是正序还是倒序,枚举值:`asc 正序`,`desc 倒叙`"
|
|
|
+// @Param IsExport query bool false "是否导出excel,默认是false"
|
|
|
+// @Success 200 {object} cygx.RaiServeTagListResp
|
|
|
+// @router /rai_serve/list [get]
|
|
|
+func (this *RaiServeCoAntroller) List() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ status := this.GetString("Status")
|
|
|
+ sellerId := this.GetString("SellerId")
|
|
|
+ shareSellerId := this.GetString("ShareSellerId")
|
|
|
+ sortType := this.GetString("SortType")
|
|
|
+ tagType, _ := this.GetInt("TagType")
|
|
|
+ tagId, _ := this.GetInt("TagId")
|
|
|
+ serveTypeId, _ := this.GetInt("ServeTypeId")
|
|
|
+ isExport, _ := this.GetBool("IsExport")
|
|
|
+ resp := new(cygx.CygxRaiServeCompanyListResp)
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
+ var condition string
|
|
|
+ var sortStr string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ if status != "" {
|
|
|
+ if status == "正式" {
|
|
|
+ condition += " AND status = '正式' "
|
|
|
+ } else {
|
|
|
+ condition += " AND status != '正式' "
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if sellerId != "" {
|
|
|
+ condition += " AND seller_id IN (?) "
|
|
|
+ pars = append(pars, sellerId)
|
|
|
+ }
|
|
|
+
|
|
|
+ if shareSellerId != "" {
|
|
|
+ condition += " AND share_seller_id IN (?) "
|
|
|
+ pars = append(pars, shareSellerId)
|
|
|
+ }
|
|
|
+
|
|
|
+ if sortType != "" {
|
|
|
+ if sortType == "asc" {
|
|
|
+ sortStr = " ORDER BY money ASC "
|
|
|
+ } else if sortType == "desc" {
|
|
|
+ sortStr = " ORDER BY money DESC "
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ sortStr = " ORDER BY end_date DESC "
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果不是权益管理员和admin、财务,就做可见权限限制
|
|
|
+ if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_RAI_ADMIN && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_RAI_RESEARCHR {
|
|
|
+ if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER {
|
|
|
+ condition += " AND (seller_id = ? OR share_seller_id = ? ) "
|
|
|
+ pars = append(pars, sysUser.AdminId, sysUser.AdminId)
|
|
|
+ }
|
|
|
+ if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_RAI_GROUP {
|
|
|
+ condition += " AND ( seller_id = ? OR share_seller_id = ? OR group_id = ? OR share_group_id = ? ) "
|
|
|
+ pars = append(pars, sysUser.AdminId, sysUser.AdminId, sysUser.GroupId, sysUser.GroupId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ total, err := cygx.GetCygxRaiServeCompanyCount(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,GetCygxRaiServeCompanyCountErr:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ listRaiServeCompany, err := cygx.GetCygxRaiServeCompanyList(condition+sortStr, pars, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var companyIds []int
|
|
|
+ for _, v := range listRaiServeCompany {
|
|
|
+ companyIds = append(companyIds, v.CompanyId)
|
|
|
+ }
|
|
|
+
|
|
|
+ mapWeekAmount := make(map[string]float64) //周度服务量
|
|
|
+ weeks := 4
|
|
|
+ if isExport {
|
|
|
+ weeks = 12 // 下载获取近12周的数据
|
|
|
+ }
|
|
|
+ lencompanyIds := len(companyIds)
|
|
|
+ if lencompanyIds > 0 {
|
|
|
+ var conditionBill string
|
|
|
+ var parsBill []interface{}
|
|
|
+
|
|
|
+ conditionBill, parsBill, err = getServeBillTag(tagType, tagId) // 标签ID搜索语句处理
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
+ br.ErrMsg = "获取用户信息失败-getServeBillTag!Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //服务类型筛选
|
|
|
+ if serveTypeId > 0 {
|
|
|
+ conditionBill += ` AND serve_type_id = ? `
|
|
|
+ parsBill = append(parsBill, serveTypeId)
|
|
|
+ }
|
|
|
+
|
|
|
+ conditionBill += " AND company_id IN (" + utils.GetOrmInReplace(lencompanyIds) + ") "
|
|
|
+ parsBill = append(parsBill, companyIds)
|
|
|
+
|
|
|
+ listBill, err := cygx.GetCygxRaiServeBillListAll(conditionBill, parsBill)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
+ br.ErrMsg = "获取用户信息失败-GetCygxRaiServeBillListAll!Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ now := time.Now()
|
|
|
+
|
|
|
+ for _, v := range listBill {
|
|
|
+ for i := 0; i < weeks; i++ {
|
|
|
+ // 计算当前周的周一
|
|
|
+ monday := now.AddDate(0, 0, -int(now.Weekday()-time.Monday)-i*7)
|
|
|
+ weekmonday := monday.Format(utils.FormatDate)
|
|
|
+ if v.WeekStartDate == weekmonday {
|
|
|
+ mapWeekAmount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", i)] += v.ServeCount
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listRaiServeCompany {
|
|
|
+ item := new(cygx.CygxRaiServeCompanyResp)
|
|
|
+ item.CompanyId = v.CompanyId
|
|
|
+ item.CompanyName = v.CompanyName
|
|
|
+ item.Money = v.Money
|
|
|
+ item.ServeCoverageRate = v.ServeCoverageRate + "%"
|
|
|
+ item.SellerId = v.SellerId
|
|
|
+ item.SellerName = v.SellerName
|
|
|
+ item.StartDate = v.StartDate
|
|
|
+ item.StartDate = v.StartDate
|
|
|
+ item.EndDate = v.EndDate
|
|
|
+ item.ShareSeller = v.ShareSeller
|
|
|
+ item.ShareSellerId = v.ShareSellerId
|
|
|
+ item.Status = v.Status
|
|
|
+ item.PermissionName = v.PermissionName
|
|
|
+ if v.IsUserMaker == 0 {
|
|
|
+ item.IsRed = true
|
|
|
+ }
|
|
|
+ item.ThisWeekAmount = mapWeekAmount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", 0)]
|
|
|
+ item.LastWeekAmount = mapWeekAmount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", 1)]
|
|
|
+ item.TwoWeekAmount = mapWeekAmount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", 2)]
|
|
|
+ item.ThreeWeekAmount = mapWeekAmount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", 3)]
|
|
|
+ resp.List = append(resp.List, item)
|
|
|
+ }
|
|
|
+
|
|
|
+ //导出excel
|
|
|
+ if isExport {
|
|
|
+ RaiServeListExport(this, resp, mapWeekAmount, br)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ resp.Paging = page
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// EnterScoreScoreListExport 导出Excel
|
|
|
+func RaiServeListExport(this *RaiServeCoAntroller, resp *cygx.CygxRaiServeCompanyListResp, mapWeekAmount map[string]float64, br *models.BaseResponse) {
|
|
|
+ weeks := 12 // 下载获取近12周的数据
|
|
|
+ mapWeekFormat := make(map[int]string)
|
|
|
+ now := time.Now()
|
|
|
+ for i := 0; i < weeks; i++ {
|
|
|
+ // 计算当前周的周一
|
|
|
+ monday := now.AddDate(0, 0, -int(now.Weekday()-time.Monday)-i*7)
|
|
|
+ sunday := monday.AddDate(0, 0, 6)
|
|
|
+ weekmonday := monday.Format(utils.FormatMonthDayUnSpace2)
|
|
|
+ weeksunday := sunday.Format(utils.FormatMonthDayUnSpace2)
|
|
|
+ mapWeekFormat[i] = weekmonday + "~" + weeksunday
|
|
|
+ }
|
|
|
+
|
|
|
+ dir, err := os.Executable()
|
|
|
+ exPath := filepath.Dir(dir)
|
|
|
+ downLoadnFilePath := exPath + "/" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
|
|
|
+ xlsxFile := xlsx.NewFile()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "生成文件失败"
|
|
|
+ br.ErrMsg = "生成文件失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ style := xlsx.NewStyle()
|
|
|
+ alignment := xlsx.Alignment{
|
|
|
+ Horizontal: "center",
|
|
|
+ Vertical: "center",
|
|
|
+ WrapText: true,
|
|
|
+ }
|
|
|
+
|
|
|
+ style.Alignment = alignment
|
|
|
+ style.ApplyAlignment = true
|
|
|
+
|
|
|
+ sheel, err := xlsxFile.AddSheet("权益服务统计")
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "新增Sheet失败"
|
|
|
+ br.ErrMsg = "新增Sheet失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sheel.SetColWidth(0, 0, 30)
|
|
|
+ sheel.SetColWidth(1, 1, 15)
|
|
|
+ sheel.SetColWidth(2, 2, 15)
|
|
|
+ sheel.SetColWidth(3, 3, 18)
|
|
|
+
|
|
|
+ titleRow := sheel.AddRow()
|
|
|
+
|
|
|
+ cellA := titleRow.AddCell()
|
|
|
+ cellA.SetStyle(style)
|
|
|
+ cellA.SetValue("客户名称")
|
|
|
+
|
|
|
+ cellB := titleRow.AddCell()
|
|
|
+ cellB.SetStyle(style)
|
|
|
+ cellB.SetValue("当前状态")
|
|
|
+
|
|
|
+ cellC := titleRow.AddCell()
|
|
|
+ cellC.SetStyle(style)
|
|
|
+ cellC.SetValue("所属销售")
|
|
|
+
|
|
|
+ cellD := titleRow.AddCell()
|
|
|
+ cellD.SetStyle(style)
|
|
|
+ cellD.SetValue("咨询销售")
|
|
|
+
|
|
|
+ cellE := titleRow.AddCell()
|
|
|
+ cellE.SetStyle(style)
|
|
|
+ cellE.SetValue("合同期限")
|
|
|
+
|
|
|
+ cellF := titleRow.AddCell()
|
|
|
+ cellF.SetStyle(style)
|
|
|
+ cellF.SetValue("合同金额")
|
|
|
+
|
|
|
+ cellG := titleRow.AddCell()
|
|
|
+ cellG.SetStyle(style)
|
|
|
+ cellG.SetValue("签约套餐")
|
|
|
+
|
|
|
+ cellWe1 := titleRow.AddCell()
|
|
|
+ cellWe1.SetStyle(style)
|
|
|
+ cellWe1.SetValue("本周服务量(" + mapWeekFormat[0] + ")")
|
|
|
+
|
|
|
+ cellWe2 := titleRow.AddCell()
|
|
|
+ cellWe2.SetStyle(style)
|
|
|
+ cellWe2.SetValue("上周服务量(" + mapWeekFormat[1] + ")")
|
|
|
+
|
|
|
+ cellWe3 := titleRow.AddCell()
|
|
|
+ cellWe3.SetStyle(style)
|
|
|
+ cellWe3.SetValue("上上周服务量(" + mapWeekFormat[2] + ")")
|
|
|
+
|
|
|
+ cellWe4 := titleRow.AddCell()
|
|
|
+ cellWe4.SetStyle(style)
|
|
|
+ cellWe4.SetValue("上三周服务量(" + mapWeekFormat[3] + ")")
|
|
|
+
|
|
|
+ for i := 0; i < weeks; i++ {
|
|
|
+ if i < 4 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ // 计算当前周的周一
|
|
|
+ cellWei := titleRow.AddCell()
|
|
|
+ cellWei.SetStyle(style)
|
|
|
+ cellWei.SetValue(mapWeekFormat[i])
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range resp.List {
|
|
|
+ dataRow := sheel.AddRow()
|
|
|
+ dataRow.SetHeight(20)
|
|
|
+
|
|
|
+ cellA := dataRow.AddCell()
|
|
|
+ cellA.SetStyle(style)
|
|
|
+ cellA.SetValue(v.CompanyName)
|
|
|
+
|
|
|
+ cellB := dataRow.AddCell()
|
|
|
+ cellB.SetStyle(style)
|
|
|
+ cellB.SetValue(v.Status)
|
|
|
+
|
|
|
+ cellC := dataRow.AddCell()
|
|
|
+ cellC.SetStyle(style)
|
|
|
+ cellC.SetValue(v.SellerName)
|
|
|
+
|
|
|
+ cellD := dataRow.AddCell()
|
|
|
+ cellD.SetStyle(style)
|
|
|
+ cellD.SetValue(v.ShareSeller)
|
|
|
+
|
|
|
+ cellE := dataRow.AddCell()
|
|
|
+ cellE.SetStyle(style)
|
|
|
+ cellE.SetValue(v.StartDate + "~" + v.EndDate)
|
|
|
+
|
|
|
+ cellF := dataRow.AddCell()
|
|
|
+ cellF.SetStyle(style)
|
|
|
+ cellF.SetValue(v.Money)
|
|
|
+
|
|
|
+ cellG := dataRow.AddCell()
|
|
|
+ cellG.SetStyle(style)
|
|
|
+ cellG.SetValue(v.PermissionName)
|
|
|
+
|
|
|
+ for i := 0; i < weeks; i++ {
|
|
|
+ cellWei := dataRow.AddCell()
|
|
|
+ cellWei.SetStyle(style)
|
|
|
+ cellWei.SetValue(mapWeekAmount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", i)])
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ err = xlsxFile.Save(downLoadnFilePath)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "保存文件失败"
|
|
|
+ br.ErrMsg = "保存文件失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ randStr := time.Now().Format(utils.FormatDateTimeUnSpace)
|
|
|
+ downloadFileName := "权益服务统计导出数据_" + randStr + ".xlsx"
|
|
|
+ this.Ctx.Output.Download(downLoadnFilePath, downloadFileName)
|
|
|
+ defer func() {
|
|
|
+ os.Remove(downLoadnFilePath)
|
|
|
+ }()
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "导出成功"
|
|
|
+}
|
|
|
+
|
|
|
+// 标签搜索语句筛选
|
|
|
+func getServeBillTag(tagType, tagId int) (conditionBill string, parsBill []interface{}, err error) {
|
|
|
+ if tagType == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var activityIds []int
|
|
|
+ var activitySpecialIds []int
|
|
|
+ var articleIds []int
|
|
|
+ var rsCalendarIds []int
|
|
|
+ switch tagType {
|
|
|
+ case 1:
|
|
|
+ listGroupActivity, e := cygx.GetIndustrialActivityGroupManagementListByIndustriaId(tagId, 1) // 关联的活动
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetIndustrialActivityGroupManagementListByIndustriaId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listGroupActivity {
|
|
|
+ activityIds = append(activityIds, v.ActivityId)
|
|
|
+ }
|
|
|
+
|
|
|
+ listGroupActivitySpecial, e := cygx.GetIndustrialActivityGroupManagementListByIndustriaId(tagId, 2) // 关联的产业
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetIndustrialActivityGroupManagementListByIndustriaId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listGroupActivitySpecial {
|
|
|
+ activitySpecialIds = append(activitySpecialIds, v.ActivityId)
|
|
|
+ }
|
|
|
+
|
|
|
+ listGroupArticle, e := cygx.GetIndustrialArticleGroupManagementListByindustrialId(tagId) // 关联的产业
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetIndustrialArticleGroupManagementListByindustrialId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listGroupArticle {
|
|
|
+ articleIds = append(articleIds, v.ArticleId)
|
|
|
+ }
|
|
|
+
|
|
|
+ listGroupRsCalendar, e := roadshow.GetRsCalendarMeetingLabelGroupDetailByTag(tagType, tagId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetRsCalendarMeetingLabelGroupDetailByTag, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listGroupRsCalendar {
|
|
|
+ rsCalendarIds = append(rsCalendarIds, v.RsCalendarId)
|
|
|
+ }
|
|
|
+ case 2:
|
|
|
+ listGroupActivity, e := cygx.GetSubjectActivityGroupManagementListBySubjectId(tagId, 1) // 关联的活动
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSubjectActivityGroupManagementListBySubjectId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listGroupActivity {
|
|
|
+ activityIds = append(activityIds, v.ActivityId)
|
|
|
+ }
|
|
|
+
|
|
|
+ listGroupActivitySpecial, e := cygx.GetSubjectActivityGroupManagementListBySubjectId(tagId, 2) // 关联的产业
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSubjectActivityGroupManagementListBySubjectId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listGroupActivitySpecial {
|
|
|
+ activitySpecialIds = append(activitySpecialIds, v.ActivityId)
|
|
|
+ }
|
|
|
+
|
|
|
+ listGroupArticle, e := cygx.GetSubjectArticleGroupManagementListBysubjectId(tagId) // 关联的产业
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSubjectArticleGroupManagementListBysubjectId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listGroupArticle {
|
|
|
+ articleIds = append(articleIds, v.ArticleId)
|
|
|
+ }
|
|
|
+
|
|
|
+ listGroupRsCalendar, e := roadshow.GetRsCalendarMeetingLabelGroupDetailByTag(tagType, tagId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetRsCalendarMeetingLabelGroupDetailByTag, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listGroupRsCalendar {
|
|
|
+ rsCalendarIds = append(rsCalendarIds, v.RsCalendarId)
|
|
|
+ }
|
|
|
+
|
|
|
+ activityIds = append(activityIds, 0)
|
|
|
+ lenactivityIds := len(activityIds)
|
|
|
+ //if lenactivityIds > 0 {
|
|
|
+ conditionBill += ` AND IF ( source = 'activity', source_id IN (` + utils.GetOrmInReplace(lenactivityIds) + `) , 1 = 1 ) `
|
|
|
+ parsBill = append(parsBill, activityIds)
|
|
|
+ //}
|
|
|
+
|
|
|
+ activitySpecialIds = append(activitySpecialIds, 0)
|
|
|
+ lenactivitySpecialIds := len(activitySpecialIds)
|
|
|
+ //if lenactivitySpecialIds > 0 {
|
|
|
+ conditionBill += ` AND IF ( source = 'activityspecial', source_id IN (` + utils.GetOrmInReplace(lenactivitySpecialIds) + `) , 1 = 1 ) `
|
|
|
+ parsBill = append(parsBill, activitySpecialIds)
|
|
|
+ //}
|
|
|
+
|
|
|
+ articleIds = append(articleIds, 0)
|
|
|
+ lenarticleIds := len(articleIds)
|
|
|
+ //if lenarticleIds > 0 {
|
|
|
+ conditionBill += ` AND IF ( source = 'article', source_id IN (` + utils.GetOrmInReplace(lenarticleIds) + `) , 1 = 1 ) `
|
|
|
+ parsBill = append(parsBill, articleIds)
|
|
|
+ //}
|
|
|
+
|
|
|
+ rsCalendarIds = append(rsCalendarIds, 0)
|
|
|
+ lenrsCalendarIds := len(rsCalendarIds)
|
|
|
+ //if lenrsCalendarIds > 0 {
|
|
|
+ conditionBill += ` AND IF ( source = 'rscalendar', source_id IN (` + utils.GetOrmInReplace(lenrsCalendarIds) + `) , 1 = 1 ) `
|
|
|
+ parsBill = append(parsBill, rsCalendarIds)
|
|
|
+
|
|
|
+ case 3:
|
|
|
+ conditionBill += " AND chart_permission_id = ? "
|
|
|
+ parsBill = append(parsBill, tagId)
|
|
|
+ }
|
|
|
+
|
|
|
+ //}
|
|
|
+
|
|
|
+ conditionBill += ` AND source != 'yanxuanspecial' AND source != 'userfeedback' `
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 近四周覆盖率
|
|
|
+// @Description 近四周覆盖率接口
|
|
|
+// @Param CompanyId query int false "公司ID"
|
|
|
+// @Success 200 {object} cygx.RaiServeTagListResp
|
|
|
+// @router /rai_serve/coverage_rate [get]
|
|
|
+func (this *RaiServeCoAntroller) CoverageRate() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ companyId, _ := this.GetInt("CompanyId")
|
|
|
+ listWeekBill, err := cygx.GetCygxRaiServeBillListWeek4(companyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
+ br.ErrMsg = "获取用户信息失败-GetCygxRaiServeBillListWeek4!Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mapWeek := make(map[int]string)
|
|
|
+ for k, v := range listWeekBill {
|
|
|
+ mapWeek[k] = utils.SubFloatToString(v.CoverageRate, 2)
|
|
|
+ }
|
|
|
+ resp := new(cygx.RaiServeCoverageRateResp)
|
|
|
+ resp.ThisWeekAmount = mapWeek[0] + "%"
|
|
|
+ resp.LastWeekAmount = mapWeek[1] + "%"
|
|
|
+ resp.TwoWeekAmount = mapWeek[2] + "%"
|
|
|
+ resp.ThreeWeekAmount = mapWeek[3] + "%"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 明细列表
|
|
|
+// @Description 明细列表接口
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param CompanyId query int false "公司ID"
|
|
|
+// @Param TagType query int false "标签类型"
|
|
|
+// @Param TagId query int false "标签ID"
|
|
|
+// @Param ServeTypeId int int false "服务类型ID"
|
|
|
+// @Param WhatWeek query int false "哪一周 ,1:本周、2:上周、3:上上周、4上三周"
|
|
|
+// @Success 200 {object} cygx.RaiServeTagListResp
|
|
|
+// @router /rai_serve/bill_list [get]
|
|
|
+func (this *RaiServeCoAntroller) BillList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ companyId, _ := this.GetInt("CompanyId")
|
|
|
+ tagType, _ := this.GetInt("TagType")
|
|
|
+ tagId, _ := this.GetInt("TagId")
|
|
|
+ serveTypeId, _ := this.GetInt("ServeTypeId")
|
|
|
+ whatWeek, _ := this.GetInt("WhatWeek")
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
+ if companyId == 0 {
|
|
|
+ br.Msg = "请选择对应公司ID"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ var err error
|
|
|
+
|
|
|
+ condition, pars, err = getServeBillTag(tagType, tagId) // 标签ID搜索语句处理
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
+ br.ErrMsg = "获取用户信息失败-getServeBillTag!Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if whatWeek > 0 {
|
|
|
+ now := time.Now()
|
|
|
+ // 计算所选周的周一
|
|
|
+ monday := now.AddDate(0, 0, -int(now.Weekday()-time.Monday)-(whatWeek-1)*7)
|
|
|
+ condition += " AND week_start_date = ? "
|
|
|
+ pars = append(pars, monday.Format(utils.FormatDate))
|
|
|
+ }
|
|
|
+
|
|
|
+ condition += " AND company_id = ? "
|
|
|
+ pars = append(pars, companyId)
|
|
|
+ if serveTypeId > 0 {
|
|
|
+ condition += " AND serve_type_id = ? "
|
|
|
+ pars = append(pars, serveTypeId)
|
|
|
+ }
|
|
|
+
|
|
|
+ total, err := cygx.GetCygxRaiServeBillCount(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,GetCygxRaiServeBillCount:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list, err := cygx.GetCygxRaiServeBillRespList(condition, pars, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,GetCygxRaiServeBillRespList:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ resp := new(cygx.CygxRaiServeBillListResp)
|
|
|
+ resp.Paging = page
|
|
|
+ if len(list) == 0 {
|
|
|
+ resp.List = make([]*cygx.CygxRaiServeBillResp, 0)
|
|
|
+ } else {
|
|
|
+ var activityIds []int
|
|
|
+ var activitySpecialIds []int
|
|
|
+ var articleIds []int
|
|
|
+ var rsCalendarIds []int
|
|
|
+ for _, v := range list {
|
|
|
+ switch v.Source {
|
|
|
+ case utils.CYGX_OBJ_ARTICLE:
|
|
|
+ articleIds = append(articleIds, v.SourceId)
|
|
|
+ case utils.CYGX_OBJ_ACTIVITY:
|
|
|
+ activityIds = append(activityIds, v.SourceId)
|
|
|
+ case utils.CYGX_OBJ_ACTIVITYSPECIAL:
|
|
|
+ activitySpecialIds = append(activitySpecialIds, v.SourceId)
|
|
|
+ case utils.CYGX_OBJ_RS_CALENDAR:
|
|
|
+ rsCalendarIds = append(rsCalendarIds, v.SourceId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ maparticleIndustrialLabel := make(map[int][]string) //文章产业标签
|
|
|
+ maparticleSubjectLabel := make(map[int][]string) // 文章行业标签
|
|
|
+ if len(articleIds) > 0 {
|
|
|
+ maparticleIndustrialLabel = cygxService.GetArticleIndustrialLabelByArticleId(articleIds) // 关联产业
|
|
|
+ maparticleSubjectLabel = cygxService.GetArticleSubjectLabelByArticleId(articleIds) // 关联标的
|
|
|
+ }
|
|
|
+
|
|
|
+ mapActivityIndustrialLabel := make(map[int][]string) //活动产业标签
|
|
|
+ mapActivitySubjectLabel := make(map[int][]string) //活动标的标签
|
|
|
+ mapActivityIndustrialLabel = cygxService.GetActivityIndustrialLabelByActivityIds(activityIds, 1)
|
|
|
+ mapActivitySubjectLabel = cygxService.GetActivitySubjectLabelByActivityIds(activityIds, 1)
|
|
|
+
|
|
|
+ mapActivitySpeicalIndustrialLabel := make(map[int][]string) //活动产业标签
|
|
|
+ mapActivitySpeicalSubjectLabel := make(map[int][]string) //活动标的标签
|
|
|
+ mapActivitySpeicalIndustrialLabel = cygxService.GetActivityIndustrialLabelByActivityIds(activityIds, 2)
|
|
|
+ mapActivitySpeicalSubjectLabel = cygxService.GetActivitySubjectLabelByActivityIds(activityIds, 2)
|
|
|
+
|
|
|
+ mapRsCalendarLabel := make(map[int][]string) //1v1 路演标签
|
|
|
+ mapRsCalendarLabel = cygxService.GetRsCalendarLabelByRsCalendarIds(rsCalendarIds)
|
|
|
+
|
|
|
+ for _, v := range list {
|
|
|
+ switch v.Source {
|
|
|
+ case utils.CYGX_OBJ_ARTICLE:
|
|
|
+ if v.ChartPermissionName == utils.GU_SHOU_NAME || v.ChartPermissionName == utils.CE_LUE_NAME {
|
|
|
+ v.Tag = v.ChartPermissionName
|
|
|
+ } else {
|
|
|
+ v.Tag = strings.Join(maparticleIndustrialLabel[v.SourceId], ",")
|
|
|
+ if len(maparticleSubjectLabel[v.SourceId]) > 0 {
|
|
|
+ v.Tag += "," + strings.Join(maparticleSubjectLabel[v.SourceId], ",")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case utils.CYGX_OBJ_ACTIVITY:
|
|
|
+ v.Tag = strings.Join(mapActivityIndustrialLabel[v.SourceId], ",")
|
|
|
+ if len(mapActivitySubjectLabel[v.SourceId]) > 0 {
|
|
|
+ v.Tag += "," + strings.Join(mapActivitySubjectLabel[v.SourceId], ",")
|
|
|
+ }
|
|
|
+ case utils.CYGX_OBJ_ACTIVITYSPECIAL:
|
|
|
+ v.Tag = strings.Join(mapActivitySpeicalIndustrialLabel[v.SourceId], ",")
|
|
|
+ if len(mapActivitySpeicalSubjectLabel[v.SourceId]) > 0 {
|
|
|
+ v.Tag += "," + strings.Join(mapActivitySpeicalSubjectLabel[v.SourceId], ",")
|
|
|
+ }
|
|
|
+ case utils.CYGX_OBJ_RS_CALENDAR:
|
|
|
+ if v.ChartPermissionName == utils.GU_SHOU_NAME || v.ChartPermissionName == utils.CE_LUE_NAME {
|
|
|
+ v.Tag = v.ChartPermissionName
|
|
|
+ } else {
|
|
|
+ v.Tag = strings.Join(mapRsCalendarLabel[v.SourceId], ",")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resp.List = list
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|