|
@@ -102,6 +102,7 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
|
|
}
|
|
}
|
|
|
|
|
|
//处理 前一天移动之后的用户的公司记录信息
|
|
//处理 前一天移动之后的用户的公司记录信息
|
|
|
|
+
|
|
{
|
|
{
|
|
updateTime := time.Now().Add(-time.Hour * 25).Format("2006-01-02 15:04:05")
|
|
updateTime := time.Now().Add(-time.Hour * 25).Format("2006-01-02 15:04:05")
|
|
listUpdateUser, err := models.GetWxUserOpLogList(updateTime)
|
|
listUpdateUser, err := models.GetWxUserOpLogList(updateTime)
|
|
@@ -435,6 +436,8 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
|
|
var userIds string
|
|
var userIds string
|
|
var itemsInteraction []*models.CygxUserInteractionNum
|
|
var itemsInteraction []*models.CygxUserInteractionNum
|
|
mapUserInteraction := make(map[int]int)
|
|
mapUserInteraction := make(map[int]int)
|
|
|
|
+ mapCompanyInteraction := make(map[int]int)
|
|
|
|
+ mapCompanyInteractionItem := make(map[int]*models.CygxCompanyInteractionNum)
|
|
//获取已经处理记录的用户并记录切片
|
|
//获取已经处理记录的用户并记录切片
|
|
listUserInteractionNum, err := models.GetCygxUserInteractionNumList()
|
|
listUserInteractionNum, err := models.GetCygxUserInteractionNumList()
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
@@ -445,6 +448,15 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
|
|
mapUserInteraction[v.UserId] = v.UserId
|
|
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 {
|
|
for kUser, vUser := range listUser {
|
|
userIds += strconv.Itoa(vUser.UserId) + ","
|
|
userIds += strconv.Itoa(vUser.UserId) + ","
|
|
@@ -482,6 +494,37 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
|
|
itemInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
|
|
itemInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
|
|
itemInteraction.CreateTime = time.Now()
|
|
itemInteraction.CreateTime = time.Now()
|
|
itemInteraction.ModifyTime = 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
|
|
|
|
+ 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
|
|
|
|
+ }
|
|
|
|
+
|
|
//如果存在就修改不存在就新增
|
|
//如果存在就修改不存在就新增
|
|
if mapUserInteraction[int(vsplit.UserId)] == 0 {
|
|
if mapUserInteraction[int(vsplit.UserId)] == 0 {
|
|
itemsInteraction = append(itemsInteraction, itemInteraction)
|
|
itemsInteraction = append(itemsInteraction, itemInteraction)
|
|
@@ -531,8 +574,36 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
|
|
itemInteraction.ActivityOnLineNum = vsplit.OnLineNum
|
|
itemInteraction.ActivityOnLineNum = vsplit.OnLineNum
|
|
itemInteraction.ActivityOfficeNum = vsplit.OfficeNum
|
|
itemInteraction.ActivityOfficeNum = vsplit.OfficeNum
|
|
itemInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
|
|
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
|
|
|
|
+ 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
|
|
|
|
+ }
|
|
|
|
+
|
|
//如果存在就修改不存在就新增
|
|
//如果存在就修改不存在就新增
|
|
if mapUserInteraction[int(vsplit.UserId)] == 0 {
|
|
if mapUserInteraction[int(vsplit.UserId)] == 0 {
|
|
itemsInteraction = append(itemsInteraction, itemInteraction)
|
|
itemsInteraction = append(itemsInteraction, itemInteraction)
|
|
@@ -559,7 +630,26 @@ func UpdateWxUserLabel(cont context.Context) (err error) {
|
|
if len(itemsInteraction) > 0 {
|
|
if len(itemsInteraction) > 0 {
|
|
_, err = models.AddCygxUserInteractionNumList(itemsInteraction)
|
|
_, err = models.AddCygxUserInteractionNumList(itemsInteraction)
|
|
if err != nil {
|
|
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 {
|
|
|
|
+ err = models.UpdateCygxCompanyInteractionNum(v)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(" UpdateCygxCompanyInteractionNum Err", err)
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ _, err = models.AddCygxCompanyInteractionNum(v)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(" AddCygxCompanyInteractionNum Err", err)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|