Browse Source

Merge branch 'master' of http://8.136.199.33:3000/hongze/hongze_cygx into cygx_13.0

xingzai 1 year ago
parent
commit
592c16bae3

+ 2 - 0
controllers/activity_special.go

@@ -249,6 +249,7 @@ func (this *ActivitySpecialCoAntroller) SpecialTripAdd() {
 			itemBill.BillDetailed = -1 // 流水减一
 			itemBill.RegisterPlatform = 1
 			itemBill.ChartPermissionId = activityInfo.ChartPermissionId
+			itemBill.ChartPermissionName = activityInfo.ChartPermissionName
 
 			var itemMeeting = new(models.CygxActivitySpecialMeetingDetail)
 			itemMeeting.UserId = user.UserId
@@ -428,6 +429,7 @@ func (this *ActivitySpecialCoAntroller) Tripcancel() {
 	itemBill.BillDetailed = 1 // 流水加一
 	itemBill.RegisterPlatform = 1
 	itemBill.ChartPermissionId = activityInfo.ChartPermissionId
+	itemBill.ChartPermissionName = activityInfo.ChartPermissionName
 	resultTime := utils.StrTimeToTime(activityInfo.ActivityTime)
 	//48小时之内的取消也扣除一次参会记录
 	var isValid int

+ 19 - 18
models/activity_special_trip_bill.go

@@ -6,24 +6,25 @@ import (
 )
 
 type CygxActivitySpecialTripBill struct {
-	Id                int       `orm:"column(id);pk"`
-	UserId            int       `description:"用户id,多个用,隔开"`
-	ActivityId        int       `description:"活动ID"`
-	CreateTime        time.Time `description:"创建时间"`
-	Mobile            string    `description:"手机号"`
-	Email             string    `description:"邮箱号"`
-	CompanyId         int       `description:"公司ID"`
-	CompanyName       string    `description:"公司名称"`
-	RealName          string    `description:"用户实际名称"`
-	AdminId           int       `description:"销售/管理员ID"`
-	Source            int       `description:"来源,1小程序,2后台添加, 3开发人员手动添加"`
-	BillDetailed      int       `description:"流水明细,判断是进账还是出账"`
-	DoType            int       `description:"操作方式,1报名,2取消报名"`
-	RegisterPlatform  int       `description:"来源 1小程序,2:网页"`
-	ChartPermissionId int       `description:"行业id"`
-	Way               int       `description:"1报名,取消报名。2到会取消到会 3转正或清零 4取消活动"`
-	Content           string    `description:"内容"`
-	Total             string    `description:"总和"`
+	Id                  int       `orm:"column(id);pk"`
+	UserId              int       `description:"用户id,多个用,隔开"`
+	ActivityId          int       `description:"活动ID"`
+	CreateTime          time.Time `description:"创建时间"`
+	Mobile              string    `description:"手机号"`
+	Email               string    `description:"邮箱号"`
+	CompanyId           int       `description:"公司ID"`
+	CompanyName         string    `description:"公司名称"`
+	RealName            string    `description:"用户实际名称"`
+	AdminId             int       `description:"销售/管理员ID"`
+	Source              int       `description:"来源,1小程序,2后台添加, 3开发人员手动添加"`
+	BillDetailed        int       `description:"流水明细,判断是进账还是出账"`
+	DoType              int       `description:"操作方式,1报名,2取消报名"`
+	RegisterPlatform    int       `description:"来源 1小程序,2:网页"`
+	ChartPermissionId   int       `description:"行业id"`
+	ChartPermissionName string    `description:"行业名称"`
+	Way                 int       `description:"1报名,取消报名。2到会取消到会 3转正或清零 4取消活动"`
+	Content             string    `description:"内容"`
+	Total               string    `description:"总和"`
 }
 
 // 添加

+ 14 - 0
models/admin.go

@@ -102,6 +102,7 @@ WHERE
 
 type GetSellerUserMobileResp struct {
 	Mobile string `description:"手机号"`
+	UserId int    `description:"用户ID"`
 }
 
 // 获取销售所能查看到的手机号
@@ -111,3 +112,16 @@ func GetSellerUserMobile(adminId int) (items []*GetSellerUserMobileResp, err err
 	_, err = o.Raw(sql, adminId).QueryRows(&items)
 	return
 }
+
+// GetUserSellerRelationUserList 获取跟销售绑定了关系的权益用户
+func GetUserSellerRelationUserList() (items []*GetSellerUserMobileResp, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
+	sql := ` SELECT
+			a.user_id 
+		FROM
+			user_seller_relation AS a
+			INNER JOIN company_product AS b ON b.company_id = a.company_id 
+			AND b.product_id = 2 `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 3 - 3
models/company.go

@@ -269,9 +269,9 @@ func GetCompanyByThirdName(tripartiteCompanyCode string) (item *Company, err err
 }
 
 // 更新机构互动量
-func UpdateComapanyInteractionNum(interactionNum, companyId int) (err error) {
+func UpdateComapanyInteractionNum(interactionNum, interactionNumSeller, companyId int) (err error) {
 	o := orm.NewOrmUsingDB("weekly_report")
-	sql := `UPDATE company SET interaction_num = ? WHERE company_id=? `
-	_, err = o.Raw(sql, interactionNum, companyId).Exec()
+	sql := `UPDATE company SET interaction_num = ? ,  interaction_num_seller = ?  WHERE company_id=? `
+	_, err = o.Raw(sql, interactionNum, interactionNumSeller, companyId).Exec()
 	return
 }

+ 14 - 3
models/wx_user.go

@@ -377,7 +377,7 @@ func GetUserRegisterList() (items []*WxUser, err error) {
 			WHERE
 				user_id > 0 
 				AND company_id > 0 
-				AND create_time > DATE_SUB( DATE( NOW()), INTERVAL 1 DAY ) 
+				AND create_time > DATE_SUB( DATE( NOW()), INTERVAL 1 DAY ) OR  mobile = 18767183922
 			GROUP BY user_id `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
@@ -560,8 +560,7 @@ func GetCygxCompanyUserUserInteraction(userIds string) (items []*CygxUserInterac
 			WHERE
 				man.activity_id IN ( SELECT activity_id FROM cygx_activity_signup AS f WHERE f.user_id = u.user_id  AND label != '') 
 			) AS activity_label
-		FROM
-			cygx_user_label AS u WHERE  u.user_id IN( ` + userIds + `)  	GROUP BY u.user_id  `
+		FROM ` + utils.GetWeeklyDatabase() + `.wx_user AS u  WHERE  u.user_id IN( ` + userIds + `)  	GROUP BY u.user_id  `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
@@ -620,3 +619,15 @@ func GetWxUserOutboundMobiles(mobiles []string) (item []*WxUserOutboundMobile, e
 	_, err = o.Raw(sql, mobiles, mobiles).QueryRows(&item)
 	return
 }
+
+// 获取所有注册的权益用户
+func GetUserRegisterListinit() (items []*WxUser, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+				* 
+			FROM
+				cygx_user_label
+			GROUP BY user_id `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 14 - 14
services/activity_special.go

@@ -1396,10 +1396,10 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (userType int, tri
 			listTripBill[k].ChartPermissionName = PermissionNameMap[v.ChartPermissionId]
 		}
 		// 获取继承点数
-		inheritList, e := models.GetCygxActivitySpecialInheritPointsByCompanyId(companyId)
-		if e != nil && e.Error() != utils.ErrNoRow() {
-			err = errors.New("GetCygxActivitySpecialInheritPointsByCompanyId, Err: " + e.Error())
-		}
+		//inheritList, e := models.GetCygxActivitySpecialInheritPointsByCompanyId(companyId)
+		//if e != nil && e.Error() != utils.ErrNoRow() {
+		//	err = errors.New("GetCygxActivitySpecialInheritPointsByCompanyId, Err: " + e.Error())
+		//}
 		if userType == 2 {
 
 			var tripBillNum int
@@ -1409,13 +1409,13 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (userType int, tri
 				//}
 				tripBillNum += v.BillDetailed
 			}
-			if len(inheritList) > 0 {
-				for _, v := range inheritList {
-					if v.ChartPermissionId == 0 {
-						tripBillNum += v.Points
-					}
-				}
-			}
+			//if len(inheritList) > 0 {
+			//	for _, v := range inheritList {
+			//		if v.ChartPermissionId == 0 {
+			//			tripBillNum += v.Points
+			//		}
+			//	}
+			//}
 
 			tripRemaining = tripBillNum
 			if tripRemaining < 0 {
@@ -1471,9 +1471,9 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (userType int, tri
 				}
 			}
 			// 通过继承获得的加点
-			for _, v := range inheritList {
-				mapInheritChartName[v.ChartPermissionName] = v.Points
-			}
+			//for _, v := range inheritList {
+			//	mapInheritChartName[v.ChartPermissionName] = v.Points
+			//}
 			for k, _ := range chartNameMap {
 				if _, ok := mapChartName[k]; ok {
 					if inherit, ok2 := mapInheritChartName[k]; ok2 {

+ 314 - 17
services/wx_user.go

@@ -74,22 +74,23 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 
 		//处理图表关注后的用户
 		{
-
-			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())
+			if utils.RunMode == "release" {
+				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())
+							}
 						}
 					}
 				}
@@ -504,6 +505,8 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 		mapUserInteraction := make(map[int]int)
 		mapCompanyInteraction := make(map[int]int)
 		mapCompanyInteractionItem := make(map[int]*models.CygxCompanyInteractionNum)
+		mapComapnyInteractionSeller := make(map[int]int)
+		mapComapnyInteractionNumSeller := make(map[int]int) // 销售可查看的互动量
 		//获取已经处理记录的用户并记录切片
 		listUserInteractionNum, err := models.GetCygxUserInteractionNumList()
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -514,6 +517,16 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 			mapUserInteraction[v.UserId] = v.UserId
 		}
 
+		//获取跟销售建立绑定关系的用户并记录切片
+		listUserSeller, err := models.GetUserSellerRelationUserList()
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			fmt.Println("GetUserSellerRelationUserList Err", err)
+			return err
+		}
+		for _, v := range listUserSeller {
+			mapComapnyInteractionSeller[v.UserId] = v.UserId
+		}
+
 		listCompanyInteractionNum, err := models.GetCygxCompanyInteractionNumList()
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			fmt.Println("GetCygxUserInteractionNumList Err", err)
@@ -648,6 +661,10 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 						}
 						mapComapnyInteractionNum[vsplit.CompanyId] += interactionNum
 
+						if mapComapnyInteractionSeller[int(vsplit.UserId)] > 0 {
+							mapComapnyInteractionNumSeller[vsplit.CompanyId] += interactionNum //如果销售可以看到这个人,那么就对销售可见的数量进行添加
+						}
+
 						itemInteraction := new(models.CygxUserInteractionNum)
 						itemInteraction.UserId = int(vsplit.UserId)
 						itemInteraction.ArticleHistoryNum = vsplit.HistoryNum
@@ -723,12 +740,18 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 				}
 			}
 		}
+		fmt.Println("修改机构互动量信息")
 		////修改机构互动量信息
 		if len(mapComapnyInteractionNum) > 0 {
 			for k, v := range mapComapnyInteractionNum {
-				err = models.UpdateComapanyInteractionNum(v, k)
+				companyId := k
+				err = models.UpdateComapanyInteractionNum(v, mapComapnyInteractionNumSeller[companyId], companyId)
+				if err != nil {
+					fmt.Println(" AddCygxUserInteractionNumList Err", err)
+				}
 			}
 		}
+
 		// 批量添加用户互动量信息
 		if len(itemsInteraction) > 0 {
 			_, err = models.AddCygxUserInteractionNumList(itemsInteraction)
@@ -761,3 +784,277 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
 	go UpdateUserLabelWeight()
 	return
 }
+
+func init123123() {
+	var err error
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg("更新用户标签失败;Err:"+err.Error(), 2)
+		}
+	}()
+	var interactionNum int
+	mapComapnyInteractionNum := make(map[int]int)
+
+	listUser, err := models.GetUserRegisterListinit()
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		fmt.Println("GetUserSellerRelationUserList Err", err)
+		return
+	}
+
+	fmt.Println(len(listUser))
+	//return
+	//处理用户、机构互动量数据
+	{
+		var userIds string
+		var itemsInteraction []*models.CygxUserInteractionNum
+		mapUserInteraction := make(map[int]int)
+		mapCompanyInteraction := make(map[int]int)
+		mapCompanyInteractionItem := make(map[int]*models.CygxCompanyInteractionNum)
+		mapComapnyInteractionSeller := make(map[int]int)
+		mapComapnyInteractionNumSeller := make(map[int]int) // 销售可查看的互动量
+		//获取已经处理记录的用户并记录切片
+		listUserInteractionNum, err := models.GetCygxUserInteractionNumList()
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			fmt.Println("GetCygxUserInteractionNumList Err", err)
+			return
+		}
+		for _, v := range listUserInteractionNum {
+			mapUserInteraction[v.UserId] = v.UserId
+		}
+
+		//获取跟销售建立绑定关系的用户并记录切片
+		listUserSeller, err := models.GetUserSellerRelationUserList()
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			fmt.Println("GetUserSellerRelationUserList Err", err)
+			return
+		}
+		for _, v := range listUserSeller {
+			mapComapnyInteractionSeller[v.UserId] = v.UserId
+		}
+
+		listCompanyInteractionNum, err := models.GetCygxCompanyInteractionNumList()
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			fmt.Println("GetCygxUserInteractionNumList Err", err)
+			return
+		}
+		for _, v := range listCompanyInteractionNum {
+			mapCompanyInteraction[v.CompanyId] = v.CompanyId
+		}
+
+		//处理用户互动量数据
+		for kUser, vUser := range listUser {
+			userIds += strconv.Itoa(vUser.UserId) + ","
+			//一次查询一百个避免用户过多
+			if kUser%100 == 0 {
+				userIds = strings.TrimRight(userIds, ",")
+				userUserInteractionList, err := models.GetCygxCompanyUserUserInteraction(userIds)
+				if err != nil {
+					fmt.Println("GetCygxCompanyUserUserInteraction Err", err)
+					return
+				}
+				//处理用户的互动量
+				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 + vsplit.TagNum
+						if interactionNum > 0 {
+							//更改用户的互动量
+							err = models.UpdateUserInteractionNum(interactionNum, int(vsplit.UserId))
+							if err != nil {
+								fmt.Println("UpdateUserInteractionNum Err", err)
+								return
+							}
+							mapComapnyInteractionNum[vsplit.CompanyId] += interactionNum
+
+							itemInteraction := new(models.CygxUserInteractionNum)
+							itemInteraction.UserId = int(vsplit.UserId)
+							itemInteraction.ArticleHistoryNum = vsplit.HistoryNum
+							itemInteraction.ArticleCountNum = vsplit.CountNum
+							itemInteraction.ChartCountNum = vsplit.ChartCountNum
+							itemInteraction.IndustryFllowNum = vsplit.IndustryFllowNum
+							itemInteraction.DepartmentFollowNum = vsplit.DepartmentFollowNum
+							itemInteraction.KeyWordNum = vsplit.KeyWordNum
+							itemInteraction.ActivityOnLineNum = vsplit.OnLineNum
+							itemInteraction.ActivityOfficeNum = vsplit.OfficeNum
+							itemInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
+							itemInteraction.TripNum = vsplit.TripNum
+							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()
+
+							//如果这个切片下的结构体没有值就给他初始值,如果有就跟后面的相加
+							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.TripNum = vsplit.TripNum
+								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()
+								mapCompanyInteractionItem[vsplit.CompanyId].ModifyTime = time.Now()
+							} 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
+								mapCompanyInteractionItem[vsplit.CompanyId].TripNum += vsplit.TripNum
+								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
+
+							}
+
+							//如果存在就修改不存在就新增
+							if mapUserInteraction[int(vsplit.UserId)] == 0 {
+								itemsInteraction = append(itemsInteraction, itemInteraction)
+							} else {
+								err = models.UpdateCygxUserInteractionNum(itemInteraction)
+								if err != nil {
+									fmt.Println("UpdateCygxUserInteractionNum Err", err)
+									return
+								}
+								fmt.Println(itemInteraction.UserId)
+							}
+						}
+					}
+				}
+				userIds = ""
+			}
+		}
+
+		userIds = strings.TrimRight(userIds, ",")
+		if userIds != "" {
+			userUserInteractionList, err := models.GetCygxCompanyUserUserInteraction(userIds)
+			if err != nil {
+				fmt.Println("GetCygxCompanyUserUserInteraction Err", err)
+				return
+			}
+			//fmt.Println("处理用户剩余的")
+			//处理用户的互动量
+			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 + vsplit.TagNum
+					if interactionNum > 0 {
+						err = models.UpdateUserInteractionNum(interactionNum, int(vsplit.UserId))
+						if err != nil {
+							fmt.Println("UpdateUserInteractionNum Err", err)
+							return
+						}
+						mapComapnyInteractionNum[vsplit.CompanyId] += interactionNum
+
+						if mapComapnyInteractionSeller[int(vsplit.UserId)] > 0 {
+							mapComapnyInteractionNumSeller[vsplit.CompanyId] += interactionNum //如果销售可以看到这个人,那么就对销售可见的数量进行添加
+						}
+
+						itemInteraction := new(models.CygxUserInteractionNum)
+						itemInteraction.UserId = int(vsplit.UserId)
+						itemInteraction.ArticleHistoryNum = vsplit.HistoryNum
+						itemInteraction.ArticleCountNum = vsplit.CountNum
+						itemInteraction.ChartCountNum = vsplit.ChartCountNum
+						itemInteraction.IndustryFllowNum = vsplit.IndustryFllowNum
+						itemInteraction.DepartmentFollowNum = vsplit.DepartmentFollowNum
+						itemInteraction.KeyWordNum = vsplit.KeyWordNum
+						itemInteraction.ActivityOnLineNum = vsplit.OnLineNum
+						itemInteraction.ActivityOfficeNum = vsplit.OfficeNum
+						itemInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
+						itemInteraction.TripNum = vsplit.TripNum
+						itemInteraction.RoadshowVideoNum = vsplit.RoadshowVideoNum
+						itemInteraction.ActivityVideoNum = vsplit.ActivityVideoNum
+						itemInteraction.ActivityVoiceNum = vsplit.ActivityVoiceNum
+						itemInteraction.TagNum = vsplit.TagNum
+						itemInteraction.RoadshowNum = vsplit.RoadshowVideoNum + vsplit.ActivityVideoNum + vsplit.ActivityVoiceNum
+
+						//如果这个切片下的结构体没有值就给他初始值,如果有就跟后面的相加
+						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.TripNum = vsplit.TripNum
+							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()
+							mapCompanyInteractionItem[vsplit.CompanyId].ModifyTime = time.Now()
+						} 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
+							mapCompanyInteractionItem[vsplit.CompanyId].TripNum += vsplit.TripNum
+							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
+						}
+
+						////如果存在就修改不存在就新增
+						//if mapUserInteraction[int(vsplit.UserId)] == 0 {
+						//	itemsInteraction = append(itemsInteraction, itemInteraction)
+						//} else {
+						//	err = models.UpdateCygxUserInteractionNum(itemInteraction)
+						//	if err != nil {
+						//		fmt.Println("UpdateCygxUserInteractionNum Err", err)
+						//		return
+						//	}
+						//	fmt.Println(itemInteraction.UserId)
+						//	err = models.UpdateCygxUserInteractionNum(itemInteraction)
+						//}
+					}
+				}
+			}
+		}
+		fmt.Println("修改机构互动量信息")
+		////修改机构互动量信息
+		if len(mapComapnyInteractionNum) > 0 {
+			for k, v := range mapComapnyInteractionNum {
+				companyId := k
+				err = models.UpdateComapanyInteractionNum(v, mapComapnyInteractionNumSeller[companyId], companyId)
+				if err != nil {
+					fmt.Println(" AddCygxUserInteractionNumList Err", err)
+				}
+			}
+		}
+	}
+}

+ 10 - 0
utils/constants.go

@@ -256,3 +256,13 @@ const (
 	ACTIVITY_ZJDHH_V1_MSG string = "该活动为非公开活动,如有专家访谈需求请联系对口销售" // 限制人数为1的专家电话会用户C端报名,提示消息内容
 	FULLSTARFFED_MSG      string = "FullStarffed"              // 报名的时候人数已满的状态
 )
+
+// GetWeeklyDatabase 获取 weekly_report 库名
+func GetWeeklyDatabase() (databaseName string) {
+	if RunMode == "release" {
+		databaseName = `weekly_report`
+	} else {
+		databaseName = `test_v2_weekly_report`
+	}
+	return
+}