瀏覽代碼

Merge branch 'crm_16.0' of http://8.136.199.33:3000/hongze/hongze_task into debug

zhangchuanxing 4 月之前
父節點
當前提交
27e6423b44
共有 3 個文件被更改,包括 26 次插入0 次删除
  1. 14 0
      models/company.go
  2. 1 0
      models/roadshow/report.go
  3. 11 0
      services/roadshow/report.go

+ 14 - 0
models/company.go

@@ -2,6 +2,7 @@ package models
 
 import (
 	"github.com/beego/beego/v2/client/orm"
+	"hongze/hongze_task/utils"
 	"time"
 )
 
@@ -32,6 +33,7 @@ type Company struct {
 	FirstStartDate  string    `description:"首次设置为试用客户开始时间"`
 	FirstEndDate    string    `description:"首次设置为试用客户结束时间"`
 	DateType        int       `description:"设置流失类型,1:1个月,2:2个月,3:3个月"`
+	InteractionNum  int       `description:"用户总的互动量"`
 }
 
 func GetCompanyByName(companyName string) (item *Company, err error) {
@@ -162,3 +164,15 @@ func GetCompanyNeedFreezeXClassRai(endDate string) (items []*CompanyNeedFreeze,
 	_, err = o.Raw(sql, endDate).QueryRows(&items)
 	return
 }
+
+// GetCompanyListByCompanyId 根据公司ID获取公司信息
+func GetCompanyListByCompanyId(companyId []int) (items []*Company, err error) {
+	lenArr := len(companyId)
+	if lenArr == 0 {
+		return
+	}
+	o := orm.NewOrm()
+	sql := `SELECT interaction_num , company_id  FROM  company AS a WHERE a.company_id IN (` + utils.GetOrmInReplace(lenArr) + `)   `
+	_, err = o.Raw(sql, companyId).QueryRows(&items)
+	return
+}

+ 1 - 0
models/roadshow/report.go

@@ -33,6 +33,7 @@ type RsReportRecord struct {
 	ModifyTime                 time.Time `description:"记录修改时间"`
 	ActivityType               string    `description:"活动类型"`
 	RoadshowType               string    `description:"路演形式"`
+	InteractionNum             int       `description:"当时用户总的互动量"`
 }
 
 func AddRsReportRecord(item *RsReportRecord) (lastId int64, err error) {

+ 11 - 0
services/roadshow/report.go

@@ -62,6 +62,7 @@ func AddReportRecord(cont context.Context) (err error) {
 		key := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(v.RsCalendarResearcherId)
 		existMap[key] = v
 	}
+	mapInteractionNum := make(map[int]int)
 	mapPermissionNameFicc := make(map[int][]string)
 	mapPermissionNameRai := make(map[int][]string)
 	mapPermissionFicc := make(map[int][]*roadshow.RsReportRecordPermission)
@@ -143,6 +144,15 @@ func AddReportRecord(cont context.Context) (err error) {
 			}
 			mapPermissionRai[v.CompanyId] = append(mapPermissionRai[v.CompanyId], v)
 		}
+		listerrCompanyInteractionNum, errCompany := models.GetCompanyListByCompanyId(companyIds) // 权益客户互动信息
+		if errCompany != nil {
+			err = errCompany
+			return
+		}
+		for _, v := range listerrCompanyInteractionNum {
+			mapInteractionNum[v.CompanyId] = v.InteractionNum
+		}
+
 	}
 
 	mapRsReportRecordPermission := make(map[string]bool) // 一个公司的一场路演,添加了多个研究员只记录一次
@@ -268,6 +278,7 @@ func AddReportRecord(cont context.Context) (err error) {
 			item.ModifyTime = time.Now()
 			item.RsCalendarResearcherStatus = v.Status
 			item.RoadshowType = v.RoadshowType
+			item.InteractionNum = mapInteractionNum[v.CompanyId]
 			_, err = roadshow.AddRsReportRecord(item)
 			if err != nil {
 				return