Browse Source

no message

xingzai 9 months ago
parent
commit
8ec390d323
3 changed files with 71 additions and 18 deletions
  1. 8 0
      models/company.go
  2. 2 0
      models/crm_company.go
  3. 61 18
      services/wx_user.go

+ 8 - 0
models/company.go

@@ -275,3 +275,11 @@ func UpdateComapanyInteractionNum(interactionNum, interactionNumSeller, companyI
 	_, err = o.Raw(sql, interactionNum, interactionNumSeller, companyId).Exec()
 	return
 }
+
+// 获取有机构互动量的公司
+func GetCompanyInteractionNumList() (items []*Company, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
+	sql := `SELECT *  FROM company  WHERE  interaction_num > 0  `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 2 - 0
models/crm_company.go

@@ -36,6 +36,8 @@ type Company struct {
 	RegionType            string    `description:"地区类型,国内,国外"`
 	OpenCompanyCode       string    `description:"开放给第三方的客户编码,不让第三方定位我们的客户信息"`
 	TripartiteCompanyCode string    `description:"第三方给过来的客户编码,判断客户是否存在"`
+	InteractionNum        int       `description:"互动总量"`
+	InteractionNumSeller  int       `description:"销售可以查看的互动总量"`
 }
 
 type CompanyLog struct {

+ 61 - 18
services/wx_user.go

@@ -1063,8 +1063,8 @@ func init123123() {
 //	UpdateWxUserLabelNew()
 //}
 
-func UpdateWxUserLabel(cont context.Context) (err error) {
-	//func UpdateWxUserLabelNew() (err error) {
+// func UpdateWxUserLabel(cont context.Context) (err error) {
+func UpdateWxUserLabel() (err error) {
 	defer func() {
 		if err != nil {
 			fmt.Println(err)
@@ -1075,9 +1075,9 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 	mapComapnyInteractionNum := make(map[int]int)                                   // 机构互动数量
 	mapComapnyInteractionNumSeller := make(map[int]int)                             // 销售可查看的机构互动数量
 	mapComapnyInteractionSeller := make(map[int]bool)                               // 跟销售建立绑定关系的用户
-	mapComapnyInteractionNumItem := make(map[int]*models.CygxCompanyInteractionNum) // 跟销售建立绑定关系的用户
-	var comapnyInteractionNumItemAdd []*models.CygxCompanyInteractionNum            // 跟销售建立绑定关系的用户
-	var comapnyInteractionNumItemUpdate []*models.CygxCompanyInteractionNum         // 跟销售建立绑定关系的用户
+	mapComapnyInteractionNumItem := make(map[int]*models.CygxCompanyInteractionNum) // 公司互动详情结构体
+	var comapnyInteractionNumItemAdd []*models.CygxCompanyInteractionNum            // 公司互动详情结构体新增
+	var comapnyInteractionNumItemUpdate []*models.CygxCompanyInteractionNum         // 公司互动详情结构体修改
 
 	//获取跟销售建立绑定关系的用户并记录切片
 	listUserSeller, e := models.GetUserSellerRelationUserList()
@@ -1385,7 +1385,8 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 	}
 
 	mapCompanyInteraction := make(map[int]bool)
-	listCompanyInteractionNum, err := models.GetCygxCompanyInteractionNumList()
+	mapCompanyInteractionItem := make(map[int]*models.CygxCompanyInteractionNum)
+	listCompanyInteractionNum, e := models.GetCygxCompanyInteractionNumList() // 有过互动记录的公司
 	if e != nil && e.Error() != utils.ErrNoRow() {
 		err = errors.New("GetCygxCompanyInteractionNumList, Err: " + e.Error())
 		return
@@ -1393,29 +1394,71 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 
 	for _, v := range listCompanyInteractionNum {
 		mapCompanyInteraction[v.CompanyId] = true
+		mapCompanyInteractionItem[v.CompanyId] = v
+
 	}
 
 	var itemsCompanyInteractionNums []*models.CompanyInteractionNumReq // 公司总的互动量结构体
+
+	companyInteractionNumList, e := models.GetCompanyInteractionNumList() // 获取有机构互动的公司
+	mapInteractionNumOld := make(map[int]int)                             //历史公司总的互动量
+	mapInteractionNumSellerOld := make(map[int]int)                       //历史公司关联销售所能查看的互动量
+	for _, v := range companyInteractionNumList {
+		mapInteractionNumOld[v.CompanyId] = v.InteractionNum
+		mapInteractionNumSellerOld[v.CompanyId] = v.InteractionNumSeller
+	}
+
 	for k, v := range mapComapnyInteractionNumItem {
 		v.CompanyId = k
 		if mapCompanyInteraction[k] {
-			comapnyInteractionNumItemUpdate = append(comapnyInteractionNumItemUpdate, v)
+			itemOld := mapCompanyInteractionItem[v.CompanyId]
+
+			//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:"活动报名次数"`
+			//TripNum                  int       `description:"专项产业调研数量"`
+			//RoadshowVideoNum         int       `description:"产业视频播放量"`
+			//ActivityVideoNum         int       `description:"活动视频播放量"`
+			//ActivityVoiceNum         int       `description:"活动音频播放量"`
+			//RoadshowNum              int       `description:"路演播放总数量"`
+			//TagNum                   int       `description:"标签点击次数"`
+			//YanxuanSpecialNum        int       `description:"研选专栏阅读数量"`
+			//YanxuanSpecialCollectNum int       `description:"研选专栏收藏数量"`
+			//YanxuanSpecialFollowNum  int       `description:"研选专栏作者关注数量"`
+
+			//如果这些数据对比不一样,那么就对这条数据进行更新
+			//if itemOld != nil && (itemOld.ArticleHistoryNum != v.ArticleHistoryNum || itemOld.ArticleCountNum != v.ArticleCountNum || itemOld.ChartCountNum != v.ChartCountNum || itemOld.IndustryFllowNum != v.IndustryFllowNum || itemOld.DepartmentFollowNum != v.DepartmentFollowNum || itemOld.KeyWordNum != v.KeyWordNum || itemOld.ActivityNum != v.ActivityNum || itemOld.TripNum != v.TripNum || itemOld.RoadshowVideoNum != v.RoadshowVideoNum || itemOld.ActivityVideoNum != v.ActivityVideoNum || itemOld.ActivityVoiceNum != v.ActivityVoiceNum || itemOld.RoadshowNum != v.RoadshowNum || itemOld.TagNum != v.TagNum || itemOld.YanxuanSpecialNum != v.YanxuanSpecialNum || itemOld.YanxuanSpecialCollectNum != v.YanxuanSpecialCollectNum || itemOld.YanxuanSpecialFollowNum != v.YanxuanSpecialFollowNum) {
+			if itemOld != nil && (itemOld.ArticleHistoryNum != v.ArticleHistoryNum || itemOld.ArticleCountNum != v.ArticleCountNum || itemOld.ChartCountNum != v.ChartCountNum || itemOld.IndustryFllowNum != v.IndustryFllowNum || itemOld.DepartmentFollowNum != v.DepartmentFollowNum || itemOld.KeyWordNum != v.KeyWordNum || itemOld.ActivityNum != v.ActivityNum || itemOld.TripNum != v.TripNum || itemOld.RoadshowVideoNum != v.RoadshowVideoNum || itemOld.ActivityVideoNum != v.ActivityVideoNum || itemOld.ActivityVoiceNum != v.ActivityVoiceNum || itemOld.RoadshowNum != v.RoadshowNum || itemOld.TagNum != v.TagNum) {
+				comapnyInteractionNumItemUpdate = append(comapnyInteractionNumItemUpdate, v)
+			}
+
 		} else {
 			v.CreateTime = time.Now()
 			v.ModifyTime = time.Now()
 			comapnyInteractionNumItemAdd = append(comapnyInteractionNumItemAdd, v)
 		}
-		itemCompanyInteractionNums := new(models.CompanyInteractionNumReq)
-		itemCompanyInteractionNums.CompanyId = k
-		itemCompanyInteractionNums.InteractionNum = mapComapnyInteractionNum[v.CompanyId]
-		itemCompanyInteractionNums.InteractionNumSeller = mapComapnyInteractionNumSeller[v.CompanyId]
-		itemsCompanyInteractionNums = append(itemsCompanyInteractionNums, itemCompanyInteractionNums)
-	}
 
-	for _, v := range comapnyInteractionNumItemUpdate {
-		fmt.Println(v)
+		//对比历史数据如果不一样就进行修改
+		if mapInteractionNumOld[v.CompanyId] != mapComapnyInteractionNum[v.CompanyId] || mapInteractionNumSellerOld[v.CompanyId] != mapComapnyInteractionNumSeller[v.CompanyId] {
+			itemCompanyInteractionNums := new(models.CompanyInteractionNumReq)
+			itemCompanyInteractionNums.CompanyId = k
+			itemCompanyInteractionNums.InteractionNum = mapComapnyInteractionNum[v.CompanyId]
+			itemCompanyInteractionNums.InteractionNumSeller = mapComapnyInteractionNumSeller[v.CompanyId]
+			itemsCompanyInteractionNums = append(itemsCompanyInteractionNums, itemCompanyInteractionNums)
+		}
+
 	}
 
+	//for _, v := range comapnyInteractionNumItemUpdate {
+	//	fmt.Println(v)
+	//}
+
 	//return
 
 	//批量插入公司互动详情
@@ -1446,9 +1489,9 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 	}
 
 	//CompanyInteractionNumReq
-	//fmt.Println("add", len(comapnyInteractionNumItemAdd))
-	//fmt.Println("edit", len(comapnyInteractionNumItemUpdate))
-	//fmt.Println("Update", len(itemsCompanyInteractionNums))
+	fmt.Println("add", len(comapnyInteractionNumItemAdd))
+	fmt.Println("edit", len(comapnyInteractionNumItemUpdate))
+	fmt.Println("Update", len(itemsCompanyInteractionNums))
 
 	//fmt.Println(mapComapnyInteractionNum)
 	return