|
@@ -8,6 +8,7 @@ import (
|
|
|
"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"
|
|
@@ -591,16 +592,16 @@ func (this *RaiServeCoAntroller) CoverageRate() {
|
|
|
br.ErrMsg = "获取用户信息失败-GetCygxRaiServeBillListWeek4!Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- mapWeek := make(map[int]float64)
|
|
|
+ mapWeek := make(map[int]string)
|
|
|
for k, v := range listWeekBill {
|
|
|
- mapWeek[k] = v.ServeCount
|
|
|
+ mapWeek[k] = v.CoverageRate
|
|
|
}
|
|
|
|
|
|
resp := new(cygx.RaiServeCoverageRateResp)
|
|
|
- resp.ThisWeekAmount = strconv.Itoa(int(mapWeek[0])) + "%"
|
|
|
- resp.LastWeekAmount = strconv.Itoa(int(mapWeek[1])) + "%"
|
|
|
- resp.TwoWeekAmount = strconv.Itoa(int(mapWeek[2])) + "%"
|
|
|
- resp.ThreeWeekAmount = strconv.Itoa(int(mapWeek[3])) + "%"
|
|
|
+ resp.ThisWeekAmount = mapWeek[0] + "%"
|
|
|
+ resp.LastWeekAmount = mapWeek[1] + "%"
|
|
|
+ resp.TwoWeekAmount = mapWeek[2] + "%"
|
|
|
+ resp.ThreeWeekAmount = mapWeek[3] + "%"
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|
|
@@ -637,6 +638,7 @@ func (this *RaiServeCoAntroller) BillList() {
|
|
|
tagType, _ := this.GetInt("TagType")
|
|
|
tagId, _ := this.GetInt("TagId")
|
|
|
serveTypeId, _ := this.GetInt("ServeTypeId")
|
|
|
+ whatWeek, _ := this.GetInt("WhatWeek")
|
|
|
|
|
|
var startSize int
|
|
|
if pageSize <= 0 {
|
|
@@ -660,6 +662,13 @@ func (this *RaiServeCoAntroller) BillList() {
|
|
|
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)
|
|
@@ -686,8 +695,63 @@ func (this *RaiServeCoAntroller) BillList() {
|
|
|
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 {
|
|
|
- v.Tag = "云计算,阿里云,华为云,移动&联通"
|
|
|
+ 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
|
|
|
}
|