Browse Source

Merge branch 'cygx_10.9'

ziwen 1 year ago
parent
commit
edb310090c

+ 7 - 0
controllers/activity.go

@@ -863,6 +863,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 		resp.IsResearch = true
 	}
 
+
 	//公司线下调研活动客户报名后给建会人,所属销售推送模板信息
 	if signupStatus == "Success" {
 		go services.SendResearchActivitiesTemplateMsg(user, activityInfo)
@@ -1000,6 +1001,12 @@ func (this *ActivityCoAntroller) SignupCancel() {
 		br.ErrMsg = "操作失败,Err:" + errSignup.Error()
 		return
 	}
+
+	// 如果是买方研选下的专家沙龙,同时推给内容组四人
+	if activityInfo.ActivityTypeId == 5 {
+		go services.SendActivitieCancelSignTemplateMsg(user, activityInfo)
+	}
+	
 	go services.YanXuanActivityPointsBillSignupCancel(activityId, uid) // 用户取消报名添加到处理研选扣点
 	br.Ret = 200
 	br.Success = true

+ 6 - 4
models/company_interaction_num.go

@@ -22,18 +22,19 @@ type CygxCompanyInteractionNum struct {
 	ActivityVideoNum    int       `description:"活动视频播放量"`
 	ActivityVoiceNum    int       `description:"活动音频播放量"`
 	RoadshowNum         int       `description:"路演播放总数量"`
+	TagNum              int       `description:"标签点击次数"`
 	CreateTime          time.Time `description:"创建时间"`
 	ModifyTime          time.Time `description:"更新时间"`
 }
 
-//添加
+// 添加
 func AddCygxCompanyInteractionNum(item *CygxCompanyInteractionNum) (lastId int64, err error) {
 	o := orm.NewOrm()
 	lastId, err = o.Insert(item)
 	return
 }
 
-//修改
+// 修改
 func UpdateCygxCompanyInteractionNum(item *CygxCompanyInteractionNum) (err error) {
 	updateParams := make(map[string]interface{})
 	updateParams["CompanyId"] = item.CompanyId
@@ -51,6 +52,7 @@ func UpdateCygxCompanyInteractionNum(item *CygxCompanyInteractionNum) (err error
 	updateParams["ActivityVideoNum"] = item.ActivityVideoNum
 	updateParams["ActivityVoiceNum"] = item.ActivityVoiceNum
 	updateParams["RoadshowNum"] = item.RoadshowNum
+	updateParams["TagNum"] = item.TagNum
 	updateParams["CreateTime"] = time.Now()
 	updateParams["ModifyTime"] = time.Now()
 	whereParam := map[string]interface{}{"company_id": item.CompanyId}
@@ -58,7 +60,7 @@ func UpdateCygxCompanyInteractionNum(item *CygxCompanyInteractionNum) (err error
 	return
 }
 
-//获取列表
+// 获取列表
 func GetCygxCompanyInteractionNumList() (items []*CygxCompanyInteractionNum, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_company_interaction_num   `
@@ -66,7 +68,7 @@ func GetCygxCompanyInteractionNumList() (items []*CygxCompanyInteractionNum, err
 	return
 }
 
-//批量添加用户互动信息
+// 批量添加用户互动信息
 func AddCygxCompanyInteractionNumList(items []*CygxCompanyInteractionNum) (lastId int64, err error) {
 	o := orm.NewOrm()
 	_, err = o.InsertMulti(1, items)

+ 55 - 13
models/report.go

@@ -1126,17 +1126,19 @@ WHERE
 }
 
 type TimeLineReportItem struct {
-	Id              int    `description:"文章或晨报点评id"`
-	Title           string `description:"标题"`
-	PublishTime     string `description:"发布时间"`
-	Content         string `description:"内容"`
-	VideoUrl        string `description:"视频链接"`
-	IsHaveVideo     bool   `description:"是否包含视频"`
-	ImgUrlPc        string `description:"pc图片"`
-	SubCategoryName string `description:"二级分类"`
-	IsRed           bool   `description:"是否标红"`
-	Readnum         int    `description:"阅读数量"`
-	Resource        int    `description:"来源类型,1:文章、2:产品内测、3:晨报点评"`
+	Id               int    `description:"文章或晨报点评id"`
+	Title            string `description:"标题"`
+	PublishTime      string `description:"发布时间"`
+	Content          string `description:"内容"`
+	VideoUrl         string `description:"视频链接"`
+	VoiceUrl         string `description:"音频链接"`
+	VoicePlaySeconds string `description:"音频时长"`
+	IsHaveVideo      bool   `description:"是否包含视频"`
+	ImgUrlPc         string `description:"pc图片"`
+	SubCategoryName  string `description:"二级分类"`
+	IsRed            bool   `description:"是否标红"`
+	Readnum          int    `description:"阅读数量"`
+	Resource         int    `description:"来源类型,1:文章、2:产品内测、3:晨报点评 4:活动回放视频 5:活动回放音频 "`
 }
 
 // 获取产业报告+晨会点评列表
@@ -1151,9 +1153,11 @@ FROM
 		a.title,
 		a.publish_date AS publish_time,
 		a.video_url,
+		'' AS voice_url,
 		a.sub_category_name,
 		'' AS content,
 		1 AS resource,
+		'' AS voice_play_seconds,
 		( SELECT COUNT( 1 ) FROM cygx_article_history_record AS rec WHERE rec.user_id = ` + strconv.Itoa(userId) + ` AND rec.article_id = a.article_id ) AS readnum 
 	FROM
 		cygx_article AS a
@@ -1167,9 +1171,11 @@ FROM
 		'' AS title,
 		mm.publish_time AS publish_time,
 		'' AS video_url,
+		'' AS voice_url,
 		'时间线' AS sub_category_name,
 		mmc.content,
 		3 AS resource,
+	'' AS voice_play_seconds,
 		0  AS readnum 
 	FROM
 		cygx_morning_meeting_review_chapter AS mmc
@@ -1183,9 +1189,11 @@ FROM
 		p.title,
 		p.publish_time,
 		'' AS video_url,
+		'' AS voice_url,
 		'' AS sub_category_name,
 		'' AS content,
 		2 AS resource,
+		'' AS voice_play_seconds,
 		0 AS readnum 
 	FROM
 		cygx_product_interior AS p
@@ -1193,12 +1201,46 @@ FROM
 	WHERE
 		p.product_interior_id = pm.product_interior_id 
 		AND p.visible_range = 1 
-	AND pm.industrial_management_id = ? 
+	AND pm.industrial_management_id = ? UNION ALL
+ 	SELECT 
+		ca.activity_id AS id,
+		cav.video_name AS title,
+		ca.activity_time AS publish_time,
+		cav.video_url AS video_url,
+		'' AS voice_url,
+		'' AS sub_category_name,
+		'' AS content,
+		4 AS resource,
+		'' AS voice_play_seconds,
+		( SELECT COUNT( 1 ) FROM cygx_activity_video_history AS rec WHERE rec.user_id = ` + strconv.Itoa(userId) + ` AND rec.activity_id = ca.activity_id ) AS readnum 
+	FROM 
+		cygx_activity AS ca 
+		INNER JOIN cygx_activity_video AS cav ON ca.activity_id = cav.activity_id 
+		INNER JOIN cygx_industrial_activity_group_management AS cam ON ca.activity_id=cam.activity_id
+	WHERE 
+		cam.industrial_management_id = ? AND cam.source = 1  UNION ALL
+ 	SELECT 
+		ca.activity_id AS id,
+		cavo.voice_name AS title,
+		ca.activity_time AS publish_time,
+		'' AS video_url,
+		cavo.voice_url AS voice_url,
+		'' AS sub_category_name,
+		'' AS content,
+		5 AS resource,
+		cavo.voice_play_seconds AS voice_play_seconds,
+		( SELECT COUNT( 1 ) FROM cygx_activity_voice_history AS rec WHERE rec.user_id = ` + strconv.Itoa(userId) + ` AND rec.activity_id = ca.activity_id ) AS readnum 
+	FROM 
+		cygx_activity AS ca 
+		INNER JOIN cygx_activity_voice AS cavo ON ca.activity_id = cavo.activity_id 
+		INNER JOIN cygx_industrial_activity_group_management AS cam ON ca.activity_id=cam.activity_id
+	WHERE 
+		cam.industrial_management_id = ? AND cam.source = 1 
 	) AS t 
 `
 	sql += ` ORDER BY 
 	t.publish_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, industrialManagementId, industrialManagementId, industrialManagementId, startSize, pageSize).QueryRows(&items)
+	_, err = o.Raw(sql, industrialManagementId, industrialManagementId, industrialManagementId, industrialManagementId, industrialManagementId, startSize, pageSize).QueryRows(&items)
 	return
 }
 

+ 6 - 4
models/user_interaction_num.go

@@ -22,18 +22,19 @@ type CygxUserInteractionNum struct {
 	ActivityVideoNum    int       `description:"活动视频播放量"`
 	ActivityVoiceNum    int       `description:"活动音频播放量"`
 	RoadshowNum         int       `description:"路演播放总数量"`
+	TagNum              int       `description:"标签点击次数"`
 	CreateTime          time.Time `description:"创建时间"`
 	ModifyTime          time.Time `description:"更新时间"`
 }
 
-//添加
+// 添加
 func AddCygxUserInteractionNum(item *CygxUserInteractionNum) (lastId int64, err error) {
 	o := orm.NewOrm()
 	lastId, err = o.Insert(item)
 	return
 }
 
-//修改
+// 修改
 func UpdateCygxUserInteractionNum(item *CygxUserInteractionNum) (err error) {
 	updateParams := make(map[string]interface{})
 	updateParams["UserId"] = item.UserId
@@ -51,6 +52,7 @@ func UpdateCygxUserInteractionNum(item *CygxUserInteractionNum) (err error) {
 	updateParams["ActivityVideoNum"] = item.ActivityVideoNum
 	updateParams["ActivityVoiceNum"] = item.ActivityVoiceNum
 	updateParams["RoadshowNum"] = item.RoadshowNum
+	updateParams["TagNum"] = item.TagNum
 	updateParams["CreateTime"] = time.Now()
 	updateParams["ModifyTime"] = time.Now()
 	whereParam := map[string]interface{}{"user_id": item.UserId}
@@ -58,7 +60,7 @@ func UpdateCygxUserInteractionNum(item *CygxUserInteractionNum) (err error) {
 	return
 }
 
-//获取列表
+// 获取列表
 func GetCygxUserInteractionNumList() (items []*CygxUserInteractionNum, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_user_interaction_num   `
@@ -66,7 +68,7 @@ func GetCygxUserInteractionNumList() (items []*CygxUserInteractionNum, err error
 	return
 }
 
-//批量添加用户互动信息
+// 批量添加用户互动信息
 func AddCygxUserInteractionNumList(items []*CygxUserInteractionNum) (lastId int64, err error) {
 	o := orm.NewOrm()
 	_, err = o.InsertMulti(1, items)

+ 2 - 0
models/wx_user.go

@@ -517,6 +517,7 @@ type CygxUserInteractionNumDetail struct {
 	RoadshowVideoNum    int    `description:"产业视频播放量"`
 	ActivityVideoNum    int    `description:"活动视频播放量"`
 	ActivityVoiceNum    int    `description:"活动音频播放量"`
+	TagNum              int    `description:"标签点击次数"`
 	PackageType         int    `description:"套餐类型,0:无,1:大套餐,2:小套餐"`
 	TryStage            int    `description:"试用客户子标签:0全部、1未分类、2 推进、3 跟踪、4 预备"`
 }
@@ -549,6 +550,7 @@ func GetCygxCompanyUserUserInteraction(userIds string) (items []*CygxUserInterac
 			WHERE
 				man.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industry_fllow AS f WHERE f.user_id = u.user_id  AND f.type = 1 ) 
 			) AS labels,
+			( SELECT COUNT( 1 ) FROM cygx_tag_history AS h WHERE h.user_id = u.user_id  ) AS tag_num,
 			(
 			SELECT
 				GROUP_CONCAT( DISTINCT man.label SEPARATOR ',' ) 

+ 14 - 5
services/activity.go

@@ -1149,6 +1149,11 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
 
 // 根据用户身份处理活动可见
 func ActivityConditioninitSql(user *models.WxUserItem, condition string, isPower int) (conditionActivity string, err error) {
+	// cygx_10.9 未绑定联系方式的客户可以看到部分活动
+	if user.UserId == 0 {
+		conditionActivity  = ` AND art.publish_status = 1  AND art.visible_range != 1  AND (art.is_limit_people = 0 OR (art.is_limit_people=1 AND art.is_all_customer_type=1))   ` + condition
+		return
+	}
 	condition += `   AND art.publish_status = 1 `
 	conditionActivity = condition
 	//弘则可以查看所有活动
@@ -2148,6 +2153,15 @@ func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.Activity
 			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetCeLueArticlePv ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
+	//获取销售手机号
+	sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return err
+	}
+	// 如果是买方研选下的专家沙龙,同时推给内容组四人
+	if activityDetail.ActivityTypeId == 5 {
+		go SendNeiRongZuActivitieSignTemplateMsg(user, activityDetail)
+	}
 	countUser, err := models.GetUserRemind(user.UserId)
 	if err != nil {
 		return err
@@ -2166,11 +2180,6 @@ func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.Activity
 		sourceMsg = "活动报名"
 	}
 
-	//获取销售手机号
-	sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		return err
-	}
 	if sellerItemQy != nil {
 		openIdList, err := models.GetUserRecordListByMobile(4, sellerItemQy.Mobile)
 		if err != nil {

+ 90 - 0
services/activity_wx_template_msg.go

@@ -150,3 +150,93 @@ func SendActivitieSignTemplateMsg(user *models.WxUserItem, activityDetail *model
 	}
 	return
 }
+
+// SendActivitieCancelSignTemplateMsg 取消活动给销售和内容组四人发模版消息
+func SendActivitieCancelSignTemplateMsg(user *models.WxUserItem, activityDetail *models.ActivityDetail) (err error) {
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg(fmt.Sprint("取消活动给销售和内容组四人发模版消息Err:", err.Error(), "活动ID:", activityDetail.ActivityId, "手机号:", user.Mobile), 2)
+		}
+	}()
+	//获取销售手机号
+	sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	configCode := utils.TPL_MSG_NEI_RONG_ZU
+	cnf, e := models.GetConfigByCode(configCode)
+	if e != nil {
+		err = errors.New("GetConfigByCode, Err: " + e.Error() + configCode)
+		return
+	}
+	openIdList, e := models.GetUserRecordListByMobile(4, cnf.ConfigValue+","+sellerItemQy.Mobile)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetUserRecordListByMobile, Err: " + e.Error() + cnf.ConfigValue)
+		return
+	}
+	keyword1 := user.RealName + "--" + user.CompanyName + "(" + sellerItemQy.RealName +")"
+	keyword2 := user.Mobile
+	keyword3 := time.Now().Format(utils.FormatDateTime)
+	keyword4 := "取消报名" + "【" +activityDetail.ActivityName+"】"
+	openIdArr := make([]string, 0)
+	for _, v := range openIdList {
+		openIdArr = append(openIdArr, v.OpenId)
+	}
+	sendInfo := new(SendWxTemplate)
+	sendInfo.Keyword1 = keyword1
+	sendInfo.Keyword2 = keyword2
+	sendInfo.Keyword3 = keyword3
+	sendInfo.Keyword4 = keyword4
+	sendInfo.TemplateId = utils.WxMsgTemplateIdApplyXzs
+	sendInfo.RedirectTarget = 3
+	sendInfo.Resource = user.Mobile
+	sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
+	sendInfo.OpenIdArr = openIdArr
+	err = PublicSendTemplateMsg(sendInfo)
+	return
+}
+
+// SendNeiRongZuActivitieSignTemplateMsg 报名活动给销售和内容组四人发模版消息
+func SendNeiRongZuActivitieSignTemplateMsg(user *models.WxUserItem, activityDetail *models.ActivityDetail) (err error) {
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg(fmt.Sprint("取消活动给销售和内容组四人发模版消息Err:", err.Error(), "活动ID:", activityDetail.ActivityId, "手机号:", user.Mobile), 2)
+		}
+	}()
+	//获取销售手机号
+	sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	configCode := utils.TPL_MSG_NEI_RONG_ZU
+	cnf, e := models.GetConfigByCode(configCode)
+	if e != nil {
+		err = errors.New("GetConfigByCode, Err: " + e.Error() + configCode)
+		return
+	}
+	openIdList, e := models.GetUserRecordListByMobile(4, cnf.ConfigValue+","+sellerItemQy.Mobile)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetUserRecordListByMobile, Err: " + e.Error() + cnf.ConfigValue)
+		return
+	}
+	keyword1 := user.RealName + "--" + user.CompanyName + "(" + sellerItemQy.RealName +")"
+	keyword2 := user.Mobile
+	keyword3 := time.Now().Format(utils.FormatDateTime)
+	keyword4 := "报名"  + "【" +activityDetail.ActivityName+"】"
+	openIdArr := make([]string, 0)
+	for _, v := range openIdList {
+		openIdArr = append(openIdArr, v.OpenId)
+	}
+	sendInfo := new(SendWxTemplate)
+	sendInfo.Keyword1 = keyword1
+	sendInfo.Keyword2 = keyword2
+	sendInfo.Keyword3 = keyword3
+	sendInfo.Keyword4 = keyword4
+	sendInfo.TemplateId = utils.WxMsgTemplateIdApplyXzs
+	sendInfo.RedirectTarget = 3
+	sendInfo.Resource = user.Mobile
+	sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
+	sendInfo.OpenIdArr = openIdArr
+	err = PublicSendTemplateMsg(sendInfo)
+	return
+}

+ 8 - 2
services/wx_user.go

@@ -537,7 +537,7 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 				//处理用户的互动量
 				if len(userUserInteractionList) > 0 {
 					for _, vsplit := range userUserInteractionList {
-						interactionNum = vsplit.HistoryNum + vsplit.CountNum + vsplit.IndustryFllowNum + vsplit.DepartmentFollowNum + vsplit.KeyWordNum + vsplit.OnLineNum + vsplit.OfficeNum + vsplit.ChartCountNum + vsplit.TripNum + vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum
+						interactionNum = vsplit.HistoryNum + vsplit.CountNum + vsplit.IndustryFllowNum + vsplit.DepartmentFollowNum + vsplit.KeyWordNum + vsplit.OnLineNum + vsplit.OfficeNum + vsplit.ChartCountNum + vsplit.TripNum + vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum + vsplit.TagNum
 						if interactionNum > 0 {
 							//更改用户的互动量
 							err = models.UpdateUserInteractionNum(interactionNum, int(vsplit.UserId))
@@ -562,6 +562,7 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 							itemInteraction.RoadshowVideoNum = vsplit.RoadshowVideoNum
 							itemInteraction.ActivityVideoNum = vsplit.ActivityVideoNum
 							itemInteraction.ActivityVoiceNum = vsplit.ActivityVoiceNum
+							itemInteraction.TagNum = vsplit.TagNum
 							itemInteraction.RoadshowNum = vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum
 							itemInteraction.CreateTime = time.Now()
 							itemInteraction.ModifyTime = time.Now()
@@ -583,6 +584,7 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 								itemCompanyInteraction.RoadshowVideoNum = vsplit.RoadshowVideoNum
 								itemCompanyInteraction.ActivityVideoNum = vsplit.ActivityVideoNum
 								itemCompanyInteraction.ActivityVoiceNum = vsplit.ActivityVoiceNum
+								itemCompanyInteraction.TagNum = vsplit.TagNum
 								itemCompanyInteraction.RoadshowNum = vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum
 								mapCompanyInteractionItem[vsplit.CompanyId] = itemCompanyInteraction
 								mapCompanyInteractionItem[vsplit.CompanyId].CreateTime = time.Now()
@@ -603,6 +605,7 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 								mapCompanyInteractionItem[vsplit.CompanyId].RoadshowVideoNum += vsplit.RoadshowVideoNum
 								mapCompanyInteractionItem[vsplit.CompanyId].ActivityVideoNum += vsplit.ActivityVideoNum
 								mapCompanyInteractionItem[vsplit.CompanyId].ActivityVoiceNum += vsplit.ActivityVoiceNum
+								mapCompanyInteractionItem[vsplit.CompanyId].TagNum += vsplit.TagNum
 								mapCompanyInteractionItem[vsplit.CompanyId].RoadshowNum += vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum
 
 							}
@@ -636,7 +639,7 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 			//处理用户的互动量
 			if len(userUserInteractionList) > 0 {
 				for _, vsplit := range userUserInteractionList {
-					interactionNum = vsplit.HistoryNum + vsplit.CountNum + vsplit.IndustryFllowNum + vsplit.DepartmentFollowNum + vsplit.KeyWordNum + vsplit.OnLineNum + vsplit.OfficeNum + vsplit.ChartCountNum + vsplit.TripNum + vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum
+					interactionNum = vsplit.HistoryNum + vsplit.CountNum + vsplit.IndustryFllowNum + vsplit.DepartmentFollowNum + vsplit.KeyWordNum + vsplit.OnLineNum + vsplit.OfficeNum + vsplit.ChartCountNum + vsplit.TripNum + vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum + vsplit.TagNum
 					if interactionNum > 0 {
 						err = models.UpdateUserInteractionNum(interactionNum, int(vsplit.UserId))
 						if err != nil {
@@ -660,6 +663,7 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 						itemInteraction.RoadshowVideoNum = vsplit.RoadshowVideoNum
 						itemInteraction.ActivityVideoNum = vsplit.ActivityVideoNum
 						itemInteraction.ActivityVoiceNum = vsplit.ActivityVoiceNum
+						itemInteraction.TagNum = vsplit.TagNum
 						itemInteraction.RoadshowNum = vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum
 
 						//如果这个切片下的结构体没有值就给他初始值,如果有就跟后面的相加
@@ -679,6 +683,7 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 							itemCompanyInteraction.RoadshowVideoNum = vsplit.RoadshowVideoNum
 							itemCompanyInteraction.ActivityVideoNum = vsplit.ActivityVideoNum
 							itemCompanyInteraction.ActivityVoiceNum = vsplit.ActivityVoiceNum
+							itemCompanyInteraction.TagNum = vsplit.TagNum
 							itemCompanyInteraction.RoadshowNum = vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum
 							mapCompanyInteractionItem[vsplit.CompanyId] = itemCompanyInteraction
 							mapCompanyInteractionItem[vsplit.CompanyId].CreateTime = time.Now()
@@ -698,6 +703,7 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 							mapCompanyInteractionItem[vsplit.CompanyId].RoadshowVideoNum += vsplit.RoadshowVideoNum
 							mapCompanyInteractionItem[vsplit.CompanyId].ActivityVideoNum += vsplit.ActivityVideoNum
 							mapCompanyInteractionItem[vsplit.CompanyId].ActivityVoiceNum += vsplit.ActivityVoiceNum
+							mapCompanyInteractionItem[vsplit.CompanyId].TagNum += vsplit.TagNum
 							mapCompanyInteractionItem[vsplit.CompanyId].RoadshowNum += vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum
 						}
 

+ 1 - 0
utils/constants.go

@@ -213,4 +213,5 @@ const (
 	TPL_MSG_WANG_YANG           = "tpl_msg_wang_yang"           //汪洋手机号地址参数
 	TPL_MSG_WANG_FANG_WANG_YANG = "tpl_msg_wang_fang_wang_yang" //权限模板消息接收人,王芳,汪洋
 	TPL_MSG                     = "tpl_msg"                     //王芳手机号地址参数
+	TPL_MSG_NEI_RONG_ZU         = "tpl_msg_nei_rong_zu"         //内容组四人
 )