package cygx import ( "errors" "fmt" "github.com/rdlucklib/rdluck_tools/paging" "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" "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 } //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 + `%' ` //} 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) } } resp := new(cygx.ChekChartPermissionNameResp) 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) //周度服务量 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() weeks := 4 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 } } } } if isExport { } 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 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) } page := paging.GetPaging(currentIndex, pageSize, total) resp.Paging = page br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp } // 标签搜索语句筛选 func getServeBillTag(tagType, tagId int) (conditionBill string, parsBill []interface{}, err error) { 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) } case 3: conditionBill += " AND chart_permission_id = ? " parsBill = append(parsBill, tagId) } lenactivityIds := len(activityIds) if lenactivityIds > 0 { conditionBill += ` AND IF ( source = 'activity', source_id IN (` + utils.GetOrmInReplace(lenactivityIds) + `) , 1 = 1 ) ` parsBill = append(parsBill, activityIds) } lenactivitySpecialIds := len(activitySpecialIds) if lenactivitySpecialIds > 0 { conditionBill += ` AND IF ( source = 'activityspecial', source_id IN (` + utils.GetOrmInReplace(lenactivitySpecialIds) + `) , 1 = 1 ) ` parsBill = append(parsBill, activitySpecialIds) } lenarticleIds := len(articleIds) if lenarticleIds > 0 { conditionBill += ` AND IF ( source = 'article', source_id IN (` + utils.GetOrmInReplace(lenarticleIds) + `) , 1 = 1 ) ` parsBill = append(parsBill, articleIds) } lenrsCalendarIds := len(rsCalendarIds) if lenrsCalendarIds > 0 { conditionBill += ` AND IF ( source = 'rscalendar', source_id IN (` + utils.GetOrmInReplace(lenrsCalendarIds) + `) , 1 = 1 ) ` parsBill = append(parsBill, rsCalendarIds) } 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] = v.CoverageRate } 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: 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: v.Tag = strings.Join(mapRsCalendarLabel[v.SourceId], ",") } } resp.List = list } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp }