|
@@ -1,16 +1,17 @@
|
|
|
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() (err error) {
|
|
|
+func UpdateWxUserLabel(cont context.Context) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
go utils.SendAlarmMsg("更新用户标签失败;Err:"+err.Error(), 2)
|
|
@@ -41,393 +42,394 @@ func UpdateWxUserLabel() (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
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
//处理用户、机构互动量数据
|
|
|
{
|
|
@@ -506,8 +508,6 @@ func UpdateWxUserLabel() (err error) {
|
|
|
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)
|
|
@@ -572,8 +572,6 @@ func UpdateWxUserLabel() (err error) {
|
|
|
itemInteraction.ActivityOnLineNum = vsplit.OnLineNum
|
|
|
itemInteraction.ActivityOfficeNum = vsplit.OfficeNum
|
|
|
itemInteraction.ActivityNum = vsplit.OnLineNum + vsplit.OfficeNum
|
|
|
- itemInteraction.CreateTime = time.Now()
|
|
|
- itemInteraction.ModifyTime = time.Now()
|
|
|
|
|
|
//如果这个切片下的结构体没有值就给他初始值,如果有就跟后面的相加
|
|
|
if mapCompanyInteractionItem[vsplit.CompanyId] == nil {
|
|
@@ -588,8 +586,6 @@ func UpdateWxUserLabel() (err error) {
|
|
|
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
|
|
@@ -644,7 +640,7 @@ func UpdateWxUserLabel() (err error) {
|
|
|
v.ModifyTime = time.Now()
|
|
|
err = models.UpdateCygxCompanyInteractionNum(v)
|
|
|
if err != nil {
|
|
|
- fmt.Println(" AddCygxCompanyInteractionNum Err", err)
|
|
|
+ fmt.Println(" UpdateCygxCompanyInteractionNum Err", err)
|
|
|
}
|
|
|
} else {
|
|
|
_, err = models.AddCygxCompanyInteractionNum(v)
|
|
@@ -653,9 +649,7 @@ func UpdateWxUserLabel() (err error) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
return
|
|
|
}
|