xingzai 2 tahun lalu
induk
melakukan
cf4b47b012
5 mengubah file dengan 551 tambahan dan 391 penghapusan
  1. 64 0
      models/company_interaction_num.go
  2. 1 0
      models/db.go
  3. 1 0
      models/wx_user.go
  4. 4 4
      services/task.go
  5. 481 387
      services/wx_user.go

+ 64 - 0
models/company_interaction_num.go

@@ -0,0 +1,64 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxCompanyInteractionNum struct {
+	Id                  int       `orm:"column(id);pk"`
+	CompanyId           int       `description:"用户ID"`
+	ArticleHistoryNum   int       `description:"文章浏览数量"`
+	ArticleCountNum     int       `description:"文章收藏数量"`
+	ChartCountNum       int       `description:"图表收藏"`
+	IndustryFllowNum    int       `description:"产业关注数量"`
+	DepartmentFollowNum int       `description:"作者关注数量"`
+	KeyWordNum          int       `description:"关键词搜索次数"`
+	ActivityOnLineNum   int       `description:"线上活动报名次数"`
+	ActivityOfficeNum   int       `description:"线下活动报名次数"`
+	ActivityNum         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
+	updateParams["ArticleHistoryNum"] = item.ArticleHistoryNum
+	updateParams["ArticleCountNum"] = item.ArticleCountNum
+	updateParams["ChartCountNum"] = item.ChartCountNum
+	updateParams["IndustryFllowNum"] = item.IndustryFllowNum
+	updateParams["DepartmentFollowNum"] = item.DepartmentFollowNum
+	updateParams["KeyWordNum"] = item.KeyWordNum
+	updateParams["ActivityOnLineNum"] = item.ActivityOnLineNum
+	updateParams["ActivityOfficeNum"] = item.ActivityOfficeNum
+	updateParams["ActivityNum"] = item.ActivityNum
+	updateParams["CreateTime"] = time.Now()
+	updateParams["ModifyTime"] = time.Now()
+	whereParam := map[string]interface{}{"company_id": item.CompanyId}
+	err = UpdateByExpr(CygxCompanyInteractionNum{}, whereParam, updateParams)
+	return
+}
+
+//获取列表
+func GetCygxCompanyInteractionNumList() (items []*CygxCompanyInteractionNum, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_company_interaction_num   `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+//批量添加用户互动信息
+func AddCygxCompanyInteractionNumList(items []*CygxCompanyInteractionNum) (lastId int64, err error) {
+	o := orm.NewOrm()
+	_, err = o.InsertMulti(1, items)
+	return
+}

+ 1 - 0
models/db.go

@@ -108,6 +108,7 @@ func init() {
 		new(UserTemplateRecord),
 		new(CygxUserInteractionNum),
 		new(CygxChartCollectByCygx),
+		new(CygxCompanyInteractionNum),
 	)
 	// 记录ORM查询日志
 	orm.Debug = true

+ 1 - 0
models/wx_user.go

@@ -296,6 +296,7 @@ func GetUserRegisterList() (items []*WxUser, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 			u.user_id,
+			u.company_id,
 			u.mobile,
 			u.email,
 			u.real_name,

+ 4 - 4
services/task.go

@@ -66,8 +66,8 @@ func Task() {
 		sendEmailFileForAskMsg := task.NewTask("sendEmailFileForAskMsg", "0 */5 8-22 * * *", SendEmailFileForAskMsg) //非研选系列专家电话会,根据主持人姓名,会前15分钟将问题列表发送给至该主持人对应邮箱
 		task.AddTask("sendEmailFileForAskMsg", sendEmailFileForAskMsg)
 
-		updateWxUserLabel := task.NewTask("updateWxUserLabel", "0 01 0 * * *", UpdateWxUserLabel) //更新用户的标签
-		task.AddTask("updateWxUserLabel", updateWxUserLabel)
+		//updateWxUserLabel := task.NewTask("updateWxUserLabel", "0 01 0 * * *", UpdateWxUserLabel) //更新用户的标签
+		//task.AddTask("updateWxUserLabel", updateWxUserLabel)
 
 		getCeLueArticlePv := task.NewTask("getCeLueArticlePv", "0 */10 * * * *", GetCeLueArticlePv) //通过三方接口获取策略平台上的阅读记录
 		task.AddTask("getCeLueArticlePv", getCeLueArticlePv)
@@ -76,14 +76,14 @@ func Task() {
 		getArticleListByApi := task.NewTask("getArticleListByApi", "0 */60 * * * *", GetArticleListByApi) //通过三方接口获取策略平台上的文章
 		task.AddTask("getArticleListByApi", getArticleListByApi)
 	}
-
+	UpdateWxUserLabel()
 	//DoCompany()
 	//ActivityAttendanceDetail()
 	//SynchronizationArthistory()//同步原有的阅读记录
 	//GetAddpArticle() //同步日度点评数据
 	//SendEmailAllUserWithRAI()     //发送当前所有权益用户到沈大爷的邮箱
 	//SendEmailAllUserWithCompany() //发送这些公司下的用户到沈大爷的邮箱
-	task.StartTask()
+	//task.StartTask()
 	//StatisticalReport()//导出报表
 	fmt.Println("end")
 }

+ 481 - 387
services/wx_user.go

@@ -1,17 +1,16 @@
 package services
 
 import (
-	"context"
 	"fmt"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
-	"sort"
 	"strconv"
 	"strings"
 	"time"
 )
 
-func UpdateWxUserLabel(cont context.Context) (err error) {
+//func UpdateWxUserLabel(cont context.Context) (err error) {
+func UpdateWxUserLabel() (err error) {
 	defer func() {
 		if err != nil {
 			go utils.SendAlarmMsg("更新用户标签失败;Err:"+err.Error(), 2)
@@ -42,399 +41,401 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 
 	//拉取策略平台用户同步的图表信息
 
-	{
-		var chartMobile string
-		var chartItems []*models.CygxChartCollect
-
-		if utils.RunMode == "release" {
-			for k, vUser := range listUser {
-				if vUser.Mobile != "" {
-					mobile := vUser.Mobile
-					fmt.Println(vUser.Mobile, "_", k)
-					chartMobile += mobile + ","
-					listChart, _, _ := GetChartCollectionByApi(mobile, 9999, 0)
-					if len(listChart) > 0 {
-						for _, vChart := range listChart {
-							if mapChartCollect[fmt.Sprint("m:", mobile, "u:", vChart.ChartId)] == 0 {
-								item := new(models.CygxChartCollect)
-								item.ChartId = vChart.ChartId
-								t1, _ := time.Parse("2006-01-02T15:04:05Z", vChart.CreateDate)
-								item.CreateTime = t1
-								item.Mobile = mobile
-								chartItems = append(chartItems, item)
-							}
-						}
-					}
-				}
-			}
-		}
-		//如果有数据就添加
-		if len(chartItems) > 0 {
-			_, err = models.AddCygxChartCollectList(chartItems)
-			if err != nil {
-				fmt.Println(" RemoveChartCollectByMobile Err", err)
-			}
-		}
-
-		//处理图表关注后的用户
-		{
-
-			listChartCollect, err := models.GetCygxChartCollectByMobileList()
-			if err != nil {
-				fmt.Println("GetCygxChartCollectByMobileList ,Err" + err.Error())
-			}
-			for k, v := range listChartCollect {
-				if v.Mobile != "" {
-					user, err := models.GetWxUserItemByMobile(v.Mobile)
-					if err != nil && err.Error() != utils.ErrNoRow() {
-						fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
-					}
-					if user != nil {
-						fmt.Println(user.RealName, k)
-						err = models.UpdateCygxChartCollect(user)
-						if err != nil {
-							fmt.Println("UpdateCygxChartCollect ,Err" + err.Error())
-						}
-					}
-				}
-			}
-		}
-	}
+	//{
+	//	var chartMobile string
+	//	var chartItems []*models.CygxChartCollect
+	//
+	//	if utils.RunMode == "release" {
+	//		for k, vUser := range listUser {
+	//			if vUser.Mobile != "" {
+	//				mobile := vUser.Mobile
+	//				fmt.Println(vUser.Mobile, "_", k)
+	//				chartMobile += mobile + ","
+	//				listChart, _, _ := GetChartCollectionByApi(mobile, 9999, 0)
+	//				if len(listChart) > 0 {
+	//					for _, vChart := range listChart {
+	//						if mapChartCollect[fmt.Sprint("m:", mobile, "u:", vChart.ChartId)] == 0 {
+	//							item := new(models.CygxChartCollect)
+	//							item.ChartId = vChart.ChartId
+	//							t1, _ := time.Parse("2006-01-02T15:04:05Z", vChart.CreateDate)
+	//							item.CreateTime = t1
+	//							item.Mobile = mobile
+	//							chartItems = append(chartItems, item)
+	//						}
+	//					}
+	//				}
+	//			}
+	//		}
+	//	}
+	//	//如果有数据就添加
+	//	if len(chartItems) > 0 {
+	//		_, err = models.AddCygxChartCollectList(chartItems)
+	//		if err != nil {
+	//			fmt.Println(" RemoveChartCollectByMobile Err", err)
+	//		}
+	//	}
+	//
+	//	//处理图表关注后的用户
+	//	{
+	//
+	//		listChartCollect, err := models.GetCygxChartCollectByMobileList()
+	//		if err != nil {
+	//			fmt.Println("GetCygxChartCollectByMobileList ,Err" + err.Error())
+	//		}
+	//		for k, v := range listChartCollect {
+	//			if v.Mobile != "" {
+	//				user, err := models.GetWxUserItemByMobile(v.Mobile)
+	//				if err != nil && err.Error() != utils.ErrNoRow() {
+	//					fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
+	//				}
+	//				if user != nil {
+	//					fmt.Println(user.RealName, k)
+	//					err = models.UpdateCygxChartCollect(user)
+	//					if err != nil {
+	//						fmt.Println("UpdateCygxChartCollect ,Err" + err.Error())
+	//					}
+	//				}
+	//			}
+	//		}
+	//	}
+	//}
 
 	//处理 前一天移动之后的用户的公司记录信息
-	{
-		updateTime := time.Now().Add(-time.Hour * 25).Format("2006-01-02 15:04:05")
-		listUpdateUser, err := models.GetWxUserOpLogList(updateTime)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			return err
-		}
-		var userIds string
-		var mobiles string
-		if len(listUpdateUser) > 0 {
-			for _, v := range listUpdateUser {
-				userIds += strconv.Itoa(v.UserId) + ","
-				mobiles += "'" + v.Mobile + "',"
-			}
-		}
-		userIds = strings.TrimRight(userIds, ",")
-		mobiles = strings.TrimRight(mobiles, ",")
-
-		//如果用户ID不为空那么就处理这些用户的记录信息
-		if userIds != "" {
-			var condition string
-			condition = ` AND user_id IN (` + userIds + `)`
-
-			//处理用户的文章收藏
-			listCollect, err := models.GetCygxArticleCollectList(condition)
-			if err != nil && err.Error() != utils.ErrNoRow() {
-				fmt.Println("GetAddCygxArticleCollectList ,Err" + err.Error())
-			}
-			if len(listCollect) > 0 {
-				for _, v := range listCollect {
-					user, err := models.GetWxUserItemByUserId(v.UserId)
-					if err != nil && err.Error() != utils.ErrNoRow() {
-						fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
-					}
-					if user != nil {
-						fmt.Println(user.RealName)
-						err = models.UpdateCygxArticleCollect(user)
-						if err != nil {
-							fmt.Println("UpdateCygxArticleCollect ,Err" + err.Error())
-						}
-					}
-				}
-			}
-			//处理用户的文章收藏 end
-
-			//修改用户关注的产业
-			listIndustryFllow, err := models.GetCygxIndustryFllowList(condition)
-			if err != nil {
-				fmt.Println("GetCygxIndustryFllowList ,Err" + err.Error())
-			}
-			for k, v := range listIndustryFllow {
-				if v.Mobile != "" {
-					user, err := models.GetWxUserItemByUserId(v.UserId)
-					if err != nil && err.Error() != utils.ErrNoRow() {
-						fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
-					}
-					if user != nil {
-						fmt.Println(user.RealName, k)
-						err = models.UpdateCygxIndustryFllow(user)
-						if err != nil {
-							fmt.Println("UpdateCygxIndustryFllow ,Err" + err.Error())
-						}
-					}
-				}
-			}
-
-			//修改用户产业关注的产业end
-
-			//修改用户的阅读记录
-			listArticlePv, err := models.GetArticleHistoryRecordAllByMobileList(condition)
-			if err != nil {
-				fmt.Println("GetArticleHistoryRecordAllByMobileList ,Err" + err.Error())
-			}
-			for k, v := range listArticlePv {
-				if v.Mobile != "" {
-					user, err := models.GetWxUserItemByMobile(v.Mobile)
-					if err != nil && err.Error() != utils.ErrNoRow() {
-						fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
-					}
-					if user != nil {
-						fmt.Println(user.RealName, k)
-						err = models.UpdateCygxArticleHistoryRecordAll(user)
-						if err != nil {
-							fmt.Println("UpdateCygxArticleCollect ,Err" + err.Error())
-						}
-					}
-				}
-			}
-			//修改用户的阅读记录end
-
-			//处理用户的搜索记录
-			listSearch, err := models.GetCygxSearchKeyWordList(condition)
-			if err != nil {
-				fmt.Println("GetArticleHistoryRecordAllByMobileList ,Err" + err.Error())
-			}
-
-			for k, v := range listSearch {
-				if v.Mobile != "" {
-					user, err := models.GetWxUserItemByUserId(v.UserId)
-					if err != nil && err.Error() != utils.ErrNoRow() {
-						fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
-					}
-					if user != nil {
-						fmt.Println(user.RealName, k)
-						err = models.UpdateCygxSearchKeyWord(user)
-						if err != nil {
-							fmt.Println("UpdateCygxSearchKeyWord ,Err" + err.Error())
-						}
-					}
-				}
-			}
-
-			// 处理用户的作者关注
-			lisDepartmentF, err := models.GetArticleDepartmentFollowByMobileList(condition)
-			if err != nil {
-				fmt.Println("GetArticleDepartmentFollowByMobileList ,Err" + err.Error())
-				return err
-			}
-			for k, v := range lisDepartmentF {
-				if v.Mobile != "" {
-					user, err := models.GetWxUserItemByUserId(v.UserId)
-					if err != nil && err.Error() != utils.ErrNoRow() {
-						fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
-					}
-					if user != nil {
-						fmt.Println(user.RealName, k)
-						err = models.UpdateCygxArticleDepartmentFollow(user)
-						if err != nil {
-							fmt.Println("UpdateCygxArticleDepartmentFollow ,Err" + err.Error())
-						}
-					}
-				}
-			}
-			// 处理用户的作者关注end
-
-			//如果手机号不为空,则更新用户的报名信息
-			if mobiles != "" {
-				condition = ` AND mobile IN (` + mobiles + `)`
-				listSingUp, err := models.GetCygxActivitySignupByMobileList(condition)
-				if err != nil {
-					fmt.Println("GetCygxChartCollectByMobileList ,Err" + err.Error())
-				}
-				//fmt.Println("更新用户的报名信息长度", len(listSingUp))
-				for _, v := range listSingUp {
-					if v.Mobile != "" {
-						user, err := models.GetWxUserItemByMobile(v.Mobile)
-						if err != nil && err.Error() != utils.ErrNoRow() {
-							fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
-						}
-						if user != nil {
-							err = models.UpdateCygxActivitySignup(user)
-							if err != nil {
-								fmt.Println("UpdateCygxActivitySignup ,Err" + err.Error())
-								//return err
-							}
-						}
-					}
-				}
-			}
-
-		}
-	}
+	//{
+	//	updateTime := time.Now().Add(-time.Hour * 25).Format("2006-01-02 15:04:05")
+	//	listUpdateUser, err := models.GetWxUserOpLogList(updateTime)
+	//	if err != nil && err.Error() != utils.ErrNoRow() {
+	//		return err
+	//	}
+	//	var userIds string
+	//	var mobiles string
+	//	if len(listUpdateUser) > 0 {
+	//		for _, v := range listUpdateUser {
+	//			userIds += strconv.Itoa(v.UserId) + ","
+	//			mobiles += "'" + v.Mobile + "',"
+	//		}
+	//	}
+	//	userIds = strings.TrimRight(userIds, ",")
+	//	mobiles = strings.TrimRight(mobiles, ",")
+	//
+	//	//如果用户ID不为空那么就处理这些用户的记录信息
+	//	if userIds != "" {
+	//		var condition string
+	//		condition = ` AND user_id IN (` + userIds + `)`
+	//
+	//		//处理用户的文章收藏
+	//		listCollect, err := models.GetCygxArticleCollectList(condition)
+	//		if err != nil && err.Error() != utils.ErrNoRow() {
+	//			fmt.Println("GetAddCygxArticleCollectList ,Err" + err.Error())
+	//		}
+	//		if len(listCollect) > 0 {
+	//			for _, v := range listCollect {
+	//				user, err := models.GetWxUserItemByUserId(v.UserId)
+	//				if err != nil && err.Error() != utils.ErrNoRow() {
+	//					fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
+	//				}
+	//				if user != nil {
+	//					fmt.Println(user.RealName)
+	//					err = models.UpdateCygxArticleCollect(user)
+	//					if err != nil {
+	//						fmt.Println("UpdateCygxArticleCollect ,Err" + err.Error())
+	//					}
+	//				}
+	//			}
+	//		}
+	//		//处理用户的文章收藏 end
+	//
+	//		//修改用户关注的产业
+	//		listIndustryFllow, err := models.GetCygxIndustryFllowList(condition)
+	//		if err != nil {
+	//			fmt.Println("GetCygxIndustryFllowList ,Err" + err.Error())
+	//		}
+	//		for k, v := range listIndustryFllow {
+	//			if v.Mobile != "" {
+	//				user, err := models.GetWxUserItemByUserId(v.UserId)
+	//				if err != nil && err.Error() != utils.ErrNoRow() {
+	//					fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
+	//				}
+	//				if user != nil {
+	//					fmt.Println(user.RealName, k)
+	//					err = models.UpdateCygxIndustryFllow(user)
+	//					if err != nil {
+	//						fmt.Println("UpdateCygxIndustryFllow ,Err" + err.Error())
+	//					}
+	//				}
+	//			}
+	//		}
+	//
+	//		//修改用户产业关注的产业end
+	//
+	//		//修改用户的阅读记录
+	//		listArticlePv, err := models.GetArticleHistoryRecordAllByMobileList(condition)
+	//		if err != nil {
+	//			fmt.Println("GetArticleHistoryRecordAllByMobileList ,Err" + err.Error())
+	//		}
+	//		for k, v := range listArticlePv {
+	//			if v.Mobile != "" {
+	//				user, err := models.GetWxUserItemByMobile(v.Mobile)
+	//				if err != nil && err.Error() != utils.ErrNoRow() {
+	//					fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
+	//				}
+	//				if user != nil {
+	//					fmt.Println(user.RealName, k)
+	//					err = models.UpdateCygxArticleHistoryRecordAll(user)
+	//					if err != nil {
+	//						fmt.Println("UpdateCygxArticleCollect ,Err" + err.Error())
+	//					}
+	//				}
+	//			}
+	//		}
+	//		//修改用户的阅读记录end
+	//
+	//		//处理用户的搜索记录
+	//		listSearch, err := models.GetCygxSearchKeyWordList(condition)
+	//		if err != nil {
+	//			fmt.Println("GetArticleHistoryRecordAllByMobileList ,Err" + err.Error())
+	//		}
+	//
+	//		for k, v := range listSearch {
+	//			if v.Mobile != "" {
+	//				user, err := models.GetWxUserItemByUserId(v.UserId)
+	//				if err != nil && err.Error() != utils.ErrNoRow() {
+	//					fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
+	//				}
+	//				if user != nil {
+	//					fmt.Println(user.RealName, k)
+	//					err = models.UpdateCygxSearchKeyWord(user)
+	//					if err != nil {
+	//						fmt.Println("UpdateCygxSearchKeyWord ,Err" + err.Error())
+	//					}
+	//				}
+	//			}
+	//		}
+	//
+	//		// 处理用户的作者关注
+	//		lisDepartmentF, err := models.GetArticleDepartmentFollowByMobileList(condition)
+	//		if err != nil {
+	//			fmt.Println("GetArticleDepartmentFollowByMobileList ,Err" + err.Error())
+	//			return err
+	//		}
+	//		for k, v := range lisDepartmentF {
+	//			if v.Mobile != "" {
+	//				user, err := models.GetWxUserItemByUserId(v.UserId)
+	//				if err != nil && err.Error() != utils.ErrNoRow() {
+	//					fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
+	//				}
+	//				if user != nil {
+	//					fmt.Println(user.RealName, k)
+	//					err = models.UpdateCygxArticleDepartmentFollow(user)
+	//					if err != nil {
+	//						fmt.Println("UpdateCygxArticleDepartmentFollow ,Err" + err.Error())
+	//					}
+	//				}
+	//			}
+	//		}
+	//		// 处理用户的作者关注end
+	//
+	//		//如果手机号不为空,则更新用户的报名信息
+	//		if mobiles != "" {
+	//			condition = ` AND mobile IN (` + mobiles + `)`
+	//			listSingUp, err := models.GetCygxActivitySignupByMobileList(condition)
+	//			if err != nil {
+	//				fmt.Println("GetCygxChartCollectByMobileList ,Err" + err.Error())
+	//			}
+	//			//fmt.Println("更新用户的报名信息长度", len(listSingUp))
+	//			for _, v := range listSingUp {
+	//				if v.Mobile != "" {
+	//					user, err := models.GetWxUserItemByMobile(v.Mobile)
+	//					if err != nil && err.Error() != utils.ErrNoRow() {
+	//						fmt.Println("GetWxUserItemByUserId ,Err" + err.Error())
+	//					}
+	//					if user != nil {
+	//						err = models.UpdateCygxActivitySignup(user)
+	//						if err != nil {
+	//							fmt.Println("UpdateCygxActivitySignup ,Err" + err.Error())
+	//							//return err
+	//						}
+	//					}
+	//				}
+	//			}
+	//		}
+	//
+	//	}
+	//}
 
 	//处理用户标签
-	for _, vUser := range listUser {
-		labels, err := models.GetCygxCompanyUserListSplit(strconv.Itoa(vUser.UserId))
-		if err != nil {
-			fmt.Println("GetCygxCompanyUserListSplit Err", err)
-			return err
-		}
-		mapLabels := make(map[string]string)
-		var labelsListStr []*models.UserLabel
-		mapActivityLabels := make(map[string]string)
-		labelsList := strings.Split(labels, ",")
-		for _, vL := range labelsList {
-			if mapLabels[vL] == "" && vL != "" {
-				mapLabels[vL] = vL
-				item := new(models.UserLabel)
-				item.Label = vL
-				labelsListStr = append(labelsListStr, item)
-			}
-		}
-		dateTime := time.Now().AddDate(0, -3, 0).Format(utils.FormatDate)
-		listArticlePv, err := models.GetArticlePvCount(vUser.Mobile, vUser.Email, dateTime)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			fmt.Println("GetArticlePvCount Err", err)
-			return err
-		}
-		var articleIds string
-		mapArticleIdLabelTotal := make(map[string]int)
-		mapArticleIdPv := make(map[int]int)
-		if len(listArticlePv) > 0 {
-			for _, v := range listArticlePv {
-				articleIds += strconv.Itoa(v.ArticleId) + ","
-				mapArticleIdPv[v.ArticleId] = v.Pv
-			}
-			articleIds = strings.TrimRight(articleIds, ",")
-			//产业、标的标签
-			listLabelName, err := models.GetArticleGroupyIndustryName(articleIds)
-			if err != nil && err.Error() != utils.ErrNoRow() {
-				fmt.Println("GetArticleGroupyIndustryName Err", err)
-				return err
-			}
-			if len(listLabelName) > 0 {
-				for _, v := range listLabelName {
-					labelsIndustryList := strings.Split(v.IndustryName, "/")
-					labelsSubjectList := strings.Split(v.SubjectName, "/")
-					//添加产业统计
-					if len(labelsIndustryList) > 0 {
-						for _, vIn := range labelsIndustryList {
-							if mapActivityLabels[vIn] != "" {
-								mapArticleIdLabelTotal[vIn] += mapArticleIdPv[v.ArticleId]
-							} else {
-								mapArticleIdLabelTotal[vIn] = mapArticleIdPv[v.ArticleId]
-								mapActivityLabels[vIn] = vIn
-							}
-						}
-					}
-					if len(labelsSubjectList) > 0 {
-						//添加标的统计
-						for _, vIn := range labelsSubjectList {
-							if mapActivityLabels[vIn] != "" {
-								mapArticleIdLabelTotal[vIn] += mapArticleIdPv[v.ArticleId]
-							} else {
-								mapArticleIdLabelTotal[vIn] = mapArticleIdPv[v.ArticleId]
-								mapActivityLabels[vIn] = vIn
-							}
-						}
-					}
-				}
-			}
-		}
-		articleIds, err = models.GetCygxArticleCollectId(vUser.UserId, dateTime)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			fmt.Println("GetCygxArticleCollectId Err", err)
-			return err
-		}
-		if articleIds != "" {
-			//产业、标的标签
-			listLabelName, err := models.GetArticleGroupyIndustryName(articleIds)
-			if err != nil && err.Error() != utils.ErrNoRow() {
-				fmt.Println("GetArticleGroupyIndustryName Err", err)
-				return err
-			}
-			if len(listLabelName) > 0 {
-				for _, v := range listLabelName {
-					labelsIndustryList := strings.Split(v.IndustryName, "/")
-					labelsSubjectList := strings.Split(v.SubjectName, "/")
-					//添加产业统计
-					if len(labelsIndustryList) > 0 {
-						for _, vIn := range labelsIndustryList {
-							if mapActivityLabels[vIn] != "" {
-								mapArticleIdLabelTotal[vIn] += 1
-							} else {
-								mapArticleIdLabelTotal[vIn] = 1
-								mapActivityLabels[vIn] = vIn
-							}
-						}
-					}
-					if len(labelsSubjectList) > 0 {
-						//添加标的统计
-						for _, vIn := range labelsSubjectList {
-							if mapActivityLabels[vIn] != "" {
-								mapArticleIdLabelTotal[vIn] += 1
-							} else {
-								mapArticleIdLabelTotal[vIn] = 1
-								mapActivityLabels[vIn] = vIn
-							}
-						}
-					}
-				}
-			}
-		}
-		//活动标签计算
-		listActivityPv, err := models.GetActivitySignCount(vUser.Mobile, dateTime)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			fmt.Println("GetActivitySignCount Err", err)
-			return err
-		}
-		if len(listActivityPv) > 0 {
-			for _, v := range listActivityPv {
-				labelsList := strings.Split(v.Label, "-")
-				for _, v2 := range labelsList {
-					labelsListSon := strings.Split(v2, "/")
-					for _, v3 := range labelsListSon {
-						if mapActivityLabels[v3] != "" {
-							mapArticleIdLabelTotal[v3] += 1
-						} else {
-							mapArticleIdLabelTotal[v3] = 1
-							mapActivityLabels[v3] = v3
-						}
-					}
-				}
-			}
-		}
-		//对标签数量进行排序
-		type KvPair struct {
-			Key string
-			Val int
-		}
-		tmpList := make([]KvPair, 0)
-		for k, v := range mapArticleIdLabelTotal {
-			tmpList = append(tmpList, KvPair{Key: k, Val: v})
-		}
-		sort.Slice(tmpList, func(i, j int) bool {
-			return tmpList[i].Val > tmpList[j].Val // 降序
-		})
-		for _, v := range tmpList {
-			if v.Key != "" {
-				mapLabels[v.Key] = v.Key
-				item := new(models.UserLabel)
-				item.Label = v.Key
-				labelsListStr = append(labelsListStr, item)
-			}
-		}
-		var labelNew string
-		for _, v := range labelsListStr {
-			labelNew += v.Label + ","
-		}
-		labelNew = strings.TrimRight(labelNew, ",")
-		if labelNew != "" {
-			err = models.UpdateUserLabel(labelNew, vUser.UserId)
-			if err != nil {
-				fmt.Println("UpdateUserLabel Err", err)
-				return err
-			}
-		}
-	}
+	//for _, vUser := range listUser {
+	//	labels, err := models.GetCygxCompanyUserListSplit(strconv.Itoa(vUser.UserId))
+	//	if err != nil {
+	//		fmt.Println("GetCygxCompanyUserListSplit Err", err)
+	//		return err
+	//	}
+	//	mapLabels := make(map[string]string)
+	//	var labelsListStr []*models.UserLabel
+	//	mapActivityLabels := make(map[string]string)
+	//	labelsList := strings.Split(labels, ",")
+	//	for _, vL := range labelsList {
+	//		if mapLabels[vL] == "" && vL != "" {
+	//			mapLabels[vL] = vL
+	//			item := new(models.UserLabel)
+	//			item.Label = vL
+	//			labelsListStr = append(labelsListStr, item)
+	//		}
+	//	}
+	//	dateTime := time.Now().AddDate(0, -3, 0).Format(utils.FormatDate)
+	//	listArticlePv, err := models.GetArticlePvCount(vUser.Mobile, vUser.Email, dateTime)
+	//	if err != nil && err.Error() != utils.ErrNoRow() {
+	//		fmt.Println("GetArticlePvCount Err", err)
+	//		return err
+	//	}
+	//	var articleIds string
+	//	mapArticleIdLabelTotal := make(map[string]int)
+	//	mapArticleIdPv := make(map[int]int)
+	//	if len(listArticlePv) > 0 {
+	//		for _, v := range listArticlePv {
+	//			articleIds += strconv.Itoa(v.ArticleId) + ","
+	//			mapArticleIdPv[v.ArticleId] = v.Pv
+	//		}
+	//		articleIds = strings.TrimRight(articleIds, ",")
+	//		//产业、标的标签
+	//		listLabelName, err := models.GetArticleGroupyIndustryName(articleIds)
+	//		if err != nil && err.Error() != utils.ErrNoRow() {
+	//			fmt.Println("GetArticleGroupyIndustryName Err", err)
+	//			return err
+	//		}
+	//		if len(listLabelName) > 0 {
+	//			for _, v := range listLabelName {
+	//				labelsIndustryList := strings.Split(v.IndustryName, "/")
+	//				labelsSubjectList := strings.Split(v.SubjectName, "/")
+	//				//添加产业统计
+	//				if len(labelsIndustryList) > 0 {
+	//					for _, vIn := range labelsIndustryList {
+	//						if mapActivityLabels[vIn] != "" {
+	//							mapArticleIdLabelTotal[vIn] += mapArticleIdPv[v.ArticleId]
+	//						} else {
+	//							mapArticleIdLabelTotal[vIn] = mapArticleIdPv[v.ArticleId]
+	//							mapActivityLabels[vIn] = vIn
+	//						}
+	//					}
+	//				}
+	//				if len(labelsSubjectList) > 0 {
+	//					//添加标的统计
+	//					for _, vIn := range labelsSubjectList {
+	//						if mapActivityLabels[vIn] != "" {
+	//							mapArticleIdLabelTotal[vIn] += mapArticleIdPv[v.ArticleId]
+	//						} else {
+	//							mapArticleIdLabelTotal[vIn] = mapArticleIdPv[v.ArticleId]
+	//							mapActivityLabels[vIn] = vIn
+	//						}
+	//					}
+	//				}
+	//			}
+	//		}
+	//	}
+	//	articleIds, err = models.GetCygxArticleCollectId(vUser.UserId, dateTime)
+	//	if err != nil && err.Error() != utils.ErrNoRow() {
+	//		fmt.Println("GetCygxArticleCollectId Err", err)
+	//		return err
+	//	}
+	//	if articleIds != "" {
+	//		//产业、标的标签
+	//		listLabelName, err := models.GetArticleGroupyIndustryName(articleIds)
+	//		if err != nil && err.Error() != utils.ErrNoRow() {
+	//			fmt.Println("GetArticleGroupyIndustryName Err", err)
+	//			return err
+	//		}
+	//		if len(listLabelName) > 0 {
+	//			for _, v := range listLabelName {
+	//				labelsIndustryList := strings.Split(v.IndustryName, "/")
+	//				labelsSubjectList := strings.Split(v.SubjectName, "/")
+	//				//添加产业统计
+	//				if len(labelsIndustryList) > 0 {
+	//					for _, vIn := range labelsIndustryList {
+	//						if mapActivityLabels[vIn] != "" {
+	//							mapArticleIdLabelTotal[vIn] += 1
+	//						} else {
+	//							mapArticleIdLabelTotal[vIn] = 1
+	//							mapActivityLabels[vIn] = vIn
+	//						}
+	//					}
+	//				}
+	//				if len(labelsSubjectList) > 0 {
+	//					//添加标的统计
+	//					for _, vIn := range labelsSubjectList {
+	//						if mapActivityLabels[vIn] != "" {
+	//							mapArticleIdLabelTotal[vIn] += 1
+	//						} else {
+	//							mapArticleIdLabelTotal[vIn] = 1
+	//							mapActivityLabels[vIn] = vIn
+	//						}
+	//					}
+	//				}
+	//			}
+	//		}
+	//	}
+	//	//活动标签计算
+	//	listActivityPv, err := models.GetActivitySignCount(vUser.Mobile, dateTime)
+	//	if err != nil && err.Error() != utils.ErrNoRow() {
+	//		fmt.Println("GetActivitySignCount Err", err)
+	//		return err
+	//	}
+	//	if len(listActivityPv) > 0 {
+	//		for _, v := range listActivityPv {
+	//			labelsList := strings.Split(v.Label, "-")
+	//			for _, v2 := range labelsList {
+	//				labelsListSon := strings.Split(v2, "/")
+	//				for _, v3 := range labelsListSon {
+	//					if mapActivityLabels[v3] != "" {
+	//						mapArticleIdLabelTotal[v3] += 1
+	//					} else {
+	//						mapArticleIdLabelTotal[v3] = 1
+	//						mapActivityLabels[v3] = v3
+	//					}
+	//				}
+	//			}
+	//		}
+	//	}
+	//	//对标签数量进行排序
+	//	type KvPair struct {
+	//		Key string
+	//		Val int
+	//	}
+	//	tmpList := make([]KvPair, 0)
+	//	for k, v := range mapArticleIdLabelTotal {
+	//		tmpList = append(tmpList, KvPair{Key: k, Val: v})
+	//	}
+	//	sort.Slice(tmpList, func(i, j int) bool {
+	//		return tmpList[i].Val > tmpList[j].Val // 降序
+	//	})
+	//	for _, v := range tmpList {
+	//		if v.Key != "" {
+	//			mapLabels[v.Key] = v.Key
+	//			item := new(models.UserLabel)
+	//			item.Label = v.Key
+	//			labelsListStr = append(labelsListStr, item)
+	//		}
+	//	}
+	//	var labelNew string
+	//	for _, v := range labelsListStr {
+	//		labelNew += v.Label + ","
+	//	}
+	//	labelNew = strings.TrimRight(labelNew, ",")
+	//	if labelNew != "" {
+	//		err = models.UpdateUserLabel(labelNew, vUser.UserId)
+	//		if err != nil {
+	//			fmt.Println("UpdateUserLabel Err", err)
+	//			return err
+	//		}
+	//	}
+	//}
 
 	//处理用户、机构互动量数据
 	{
 		var userIds string
 		var itemsInteraction []*models.CygxUserInteractionNum
 		mapUserInteraction := make(map[int]int)
+		mapCompanyInteraction := make(map[int]int)
+		mapCompanyInteractionItem := make(map[int]*models.CygxCompanyInteractionNum)
 		//获取已经处理记录的用户并记录切片
 		listUserInteractionNum, err := models.GetCygxUserInteractionNumList()
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -445,6 +446,15 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 			mapUserInteraction[v.UserId] = v.UserId
 		}
 
+		listCompanyInteractionNum, err := models.GetCygxCompanyInteractionNumList()
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			fmt.Println("GetCygxUserInteractionNumList Err", err)
+			return err
+		}
+		for _, v := range listCompanyInteractionNum {
+			mapCompanyInteraction[v.CompanyId] = v.CompanyId
+		}
+
 		//处理用户互动量数据
 		for kUser, vUser := range listUser {
 			userIds += strconv.Itoa(vUser.UserId) + ","
@@ -482,6 +492,37 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 							itemInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
 							itemInteraction.CreateTime = time.Now()
 							itemInteraction.ModifyTime = time.Now()
+
+							//如果这个切片下的结构体没有值就给他初始值,如果有就跟后面的相加
+							if mapCompanyInteractionItem[vsplit.CompanyId] == nil {
+								itemCompanyInteraction := new(models.CygxCompanyInteractionNum)
+								itemCompanyInteraction.CompanyId = vsplit.CompanyId
+								itemCompanyInteraction.ArticleHistoryNum = vsplit.HistoryNum
+								itemCompanyInteraction.ArticleCountNum = vsplit.CountNum
+								itemCompanyInteraction.ChartCountNum = vsplit.ChartCountNum
+								itemCompanyInteraction.IndustryFllowNum = vsplit.IndustryFllowNum
+								itemCompanyInteraction.DepartmentFollowNum = vsplit.DepartmentFollowNum
+								itemCompanyInteraction.KeyWordNum = vsplit.KeyWordNum
+								itemCompanyInteraction.ActivityOnLineNum = vsplit.OnLineNum
+								itemCompanyInteraction.ActivityOfficeNum = vsplit.OfficeNum
+								itemCompanyInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
+								itemCompanyInteraction.CreateTime = time.Now()
+								itemCompanyInteraction.ModifyTime = time.Now()
+								mapCompanyInteractionItem[vsplit.CompanyId] = itemCompanyInteraction
+							} else {
+								fmt.Println("公司ID", vsplit.CompanyId)
+								mapCompanyInteractionItem[vsplit.CompanyId].CompanyId = vsplit.CompanyId
+								mapCompanyInteractionItem[vsplit.CompanyId].ArticleHistoryNum += vsplit.HistoryNum
+								mapCompanyInteractionItem[vsplit.CompanyId].ArticleCountNum += vsplit.CountNum
+								mapCompanyInteractionItem[vsplit.CompanyId].ChartCountNum += vsplit.ChartCountNum
+								mapCompanyInteractionItem[vsplit.CompanyId].IndustryFllowNum += vsplit.IndustryFllowNum
+								mapCompanyInteractionItem[vsplit.CompanyId].DepartmentFollowNum += vsplit.DepartmentFollowNum
+								mapCompanyInteractionItem[vsplit.CompanyId].KeyWordNum += vsplit.KeyWordNum
+								mapCompanyInteractionItem[vsplit.CompanyId].ActivityOnLineNum += vsplit.OnLineNum
+								mapCompanyInteractionItem[vsplit.CompanyId].ActivityOfficeNum += vsplit.OfficeNum
+								mapCompanyInteractionItem[vsplit.CompanyId].ActivityNum += vsplit.OnLineNum + vsplit.OfficeNum
+							}
+
 							//如果存在就修改不存在就新增
 							if mapUserInteraction[int(vsplit.UserId)] == 0 {
 								itemsInteraction = append(itemsInteraction, itemInteraction)
@@ -533,6 +574,36 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 						itemInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
 						itemInteraction.CreateTime = time.Now()
 						itemInteraction.ModifyTime = time.Now()
+
+						//如果这个切片下的结构体没有值就给他初始值,如果有就跟后面的相加
+						if mapCompanyInteractionItem[vsplit.CompanyId] == nil {
+							itemCompanyInteraction := new(models.CygxCompanyInteractionNum)
+							itemCompanyInteraction.CompanyId = vsplit.CompanyId
+							itemCompanyInteraction.ArticleHistoryNum = vsplit.HistoryNum
+							itemCompanyInteraction.ArticleCountNum = vsplit.CountNum
+							itemCompanyInteraction.ChartCountNum = vsplit.ChartCountNum
+							itemCompanyInteraction.IndustryFllowNum = vsplit.IndustryFllowNum
+							itemCompanyInteraction.DepartmentFollowNum = vsplit.DepartmentFollowNum
+							itemCompanyInteraction.KeyWordNum = vsplit.KeyWordNum
+							itemCompanyInteraction.ActivityOnLineNum = vsplit.OnLineNum
+							itemCompanyInteraction.ActivityOfficeNum = vsplit.OfficeNum
+							itemCompanyInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
+							itemCompanyInteraction.CreateTime = time.Now()
+							itemCompanyInteraction.ModifyTime = time.Now()
+							mapCompanyInteractionItem[vsplit.CompanyId] = itemCompanyInteraction
+						} else {
+							mapCompanyInteractionItem[vsplit.CompanyId].CompanyId = vsplit.CompanyId
+							mapCompanyInteractionItem[vsplit.CompanyId].ArticleHistoryNum += vsplit.HistoryNum
+							mapCompanyInteractionItem[vsplit.CompanyId].ArticleCountNum += vsplit.CountNum
+							mapCompanyInteractionItem[vsplit.CompanyId].ChartCountNum += vsplit.ChartCountNum
+							mapCompanyInteractionItem[vsplit.CompanyId].IndustryFllowNum += vsplit.IndustryFllowNum
+							mapCompanyInteractionItem[vsplit.CompanyId].DepartmentFollowNum += vsplit.DepartmentFollowNum
+							mapCompanyInteractionItem[vsplit.CompanyId].KeyWordNum += vsplit.KeyWordNum
+							mapCompanyInteractionItem[vsplit.CompanyId].ActivityOnLineNum += vsplit.OnLineNum
+							mapCompanyInteractionItem[vsplit.CompanyId].ActivityOfficeNum += vsplit.OfficeNum
+							mapCompanyInteractionItem[vsplit.CompanyId].ActivityNum += vsplit.OnLineNum + vsplit.OfficeNum
+						}
+
 						//如果存在就修改不存在就新增
 						if mapUserInteraction[int(vsplit.UserId)] == 0 {
 							itemsInteraction = append(itemsInteraction, itemInteraction)
@@ -559,9 +630,32 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 		if len(itemsInteraction) > 0 {
 			_, err = models.AddCygxUserInteractionNumList(itemsInteraction)
 			if err != nil {
-				fmt.Println(" RemoveChartCollectByMobile Err", err)
+				fmt.Println(" AddCygxUserInteractionNumList Err", err)
+			}
+		}
+
+		// 批量添加用户互动量信息
+		if len(mapCompanyInteractionItem) > 0 {
+			fmt.Println("添加机构互动信息")
+			for _, v := range mapCompanyInteractionItem {
+				fmt.Println(v.CompanyId)
+				if mapCompanyInteraction[v.CompanyId] > 0 {
+					v.CreateTime = time.Now()
+					v.ModifyTime = time.Now()
+					err = models.UpdateCygxCompanyInteractionNum(v)
+					if err != nil {
+						fmt.Println(" AddCygxCompanyInteractionNum Err", err)
+					}
+				} else {
+					_, err = models.AddCygxCompanyInteractionNum(v)
+					if err != nil {
+						fmt.Println(" AddCygxCompanyInteractionNum Err", err)
+					}
+				}
 			}
+
 		}
+
 	}
 	return
 }