|
@@ -5,6 +5,7 @@ import (
|
|
"errors"
|
|
"errors"
|
|
"fmt"
|
|
"fmt"
|
|
"hongze/hongze_cygx/models"
|
|
"hongze/hongze_cygx/models"
|
|
|
|
+ "hongze/hongze_cygx/models/roadshow"
|
|
"hongze/hongze_cygx/utils"
|
|
"hongze/hongze_cygx/utils"
|
|
"strconv"
|
|
"strconv"
|
|
"time"
|
|
"time"
|
|
@@ -106,7 +107,10 @@ func UpdateWxUserRaiLabelRedis() (err error) {
|
|
go ActivityWxUserRaiLabelRedisAddReduce(log)
|
|
go ActivityWxUserRaiLabelRedisAddReduce(log)
|
|
fmt.Println("活动到会")
|
|
fmt.Println("活动到会")
|
|
break
|
|
break
|
|
-
|
|
|
|
|
|
+ case 3, 5:
|
|
|
|
+ go RoadshowWxUserRaiLabelRedisAddReduce(log)
|
|
|
|
+ fmt.Println("活动到会")
|
|
|
|
+ break
|
|
default:
|
|
default:
|
|
fmt.Println(string(b))
|
|
fmt.Println(string(b))
|
|
go utils.SendAlarmMsg("用户更新相关标签处理Redis队列消息失败:"+string(b), 2)
|
|
go utils.SendAlarmMsg("用户更新相关标签处理Redis队列消息失败:"+string(b), 2)
|
|
@@ -168,6 +172,11 @@ func KeyWordsWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err e
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+//func init() {
|
|
|
|
+// log := models.WxUserRaiLabelRedis{UserId: 53840, SourceId: 1753, SourceType: 3, TableName: "", Label: "", CreateTime: time.Now(), RegisterPlatform: utils.REGISTER_PLATFORM}
|
|
|
|
+// RoadshowWxUserRaiLabelRedisAddReduce(log)
|
|
|
|
+//}
|
|
|
|
+
|
|
// 2:产业/个股标签(线下活动)、 4:产业/个股标签(线上活动)
|
|
// 2:产业/个股标签(线下活动)、 4:产业/个股标签(线上活动)
|
|
// 用户参加活动,相关标签
|
|
// 用户参加活动,相关标签
|
|
func ActivityWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err error) {
|
|
func ActivityWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err error) {
|
|
@@ -227,12 +236,12 @@ func ActivityWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err e
|
|
}
|
|
}
|
|
|
|
|
|
//建立首页资源表,与标的 的关系
|
|
//建立首页资源表,与标的 的关系
|
|
- subjectList, e := models.GetSubjectArticleGroupManagementListByArtcileId(sourceId)
|
|
|
|
|
|
+ subjectList, e := models.GetSubjectActivityGroupManagementListByActivityId(sourceId)
|
|
if e != nil && e.Error() != utils.ErrNoRow() {
|
|
if e != nil && e.Error() != utils.ErrNoRow() {
|
|
err = errors.New("GetSubjectArticleGroupManagementListByArtcileId, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
|
|
err = errors.New("GetSubjectArticleGroupManagementListByArtcileId, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
|
|
return
|
|
return
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ //fmt.Println("subjectList", subjectList)
|
|
for _, v := range subjectList {
|
|
for _, v := range subjectList {
|
|
item := new(models.WxUserRaiLabel)
|
|
item := new(models.WxUserRaiLabel)
|
|
item.UserId = wxUser.UserId
|
|
item.UserId = wxUser.UserId
|
|
@@ -281,12 +290,13 @@ func ActivityWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err e
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-// 7:产业/个股标签(报告)、8:报告类型标签
|
|
|
|
-func ArticleWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err error) {
|
|
|
|
|
|
+// 3:产业/个股标签(路演线下活动)、 5:产业/个股标签(路演线上活动)
|
|
|
|
+// 用户参加路演,相关标签
|
|
|
|
+func RoadshowWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err error) {
|
|
defer func() {
|
|
defer func() {
|
|
if err != nil {
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
fmt.Println(err)
|
|
- go utils.SendAlarmMsg("用户文章阅读更新相关标签,处理Redis队列消息失败:"+err.Error()+fmt.Sprint("articleId", log.SourceId, "userId", log.UserId), 2)
|
|
|
|
|
|
+ go utils.SendAlarmMsg("用户参加路演,相关标签,处理Redis队列消息失败:RoadshowWxUserRaiLabelRedisAddReduce"+err.Error()+fmt.Sprint("SourceId", log.SourceId, "userId", log.UserId), 2)
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
userId := log.UserId
|
|
userId := log.UserId
|
|
@@ -296,113 +306,83 @@ func ArticleWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err er
|
|
err = errors.New("GetWxUserItemByUserId" + e.Error())
|
|
err = errors.New("GetWxUserItemByUserId" + e.Error())
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- articleDetail, e := models.GetArticleDetailTestById(sourceId)
|
|
|
|
|
|
+
|
|
|
|
+ rsCalendar, e := roadshow.GetRsCalendarById(sourceId)
|
|
if e != nil {
|
|
if e != nil {
|
|
- err = errors.New("GetArticleDetailTestById" + e.Error())
|
|
|
|
|
|
+ err = errors.New("GetRsCalendarById" + e.Error())
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- articlePermission, e := models.GetArticlePermission(articleDetail.CategoryId)
|
|
|
|
- if e != nil {
|
|
|
|
- err = errors.New("GetArticlePermission" + e.Error())
|
|
|
|
- return
|
|
|
|
|
|
+
|
|
|
|
+ var sourceType int
|
|
|
|
+ if rsCalendar.RoadshowType == "线下" {
|
|
|
|
+ sourceType = 3
|
|
|
|
+ } else {
|
|
|
|
+ sourceType = 5
|
|
}
|
|
}
|
|
- if articlePermission == nil {
|
|
|
|
- err = errors.New("报告权限不存在" + e.Error())
|
|
|
|
|
|
+
|
|
|
|
+ totalGroup, e := roadshow.GetRsCalendarMeetingLabelGroupByRsCalendarId(sourceId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetRsCalendarMeetingLabelGroupByRsCalendarId" + e.Error())
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- articlePermissionName := articlePermission.PermissionName
|
|
|
|
- matchTypeName := articlePermission.MatchTypeName
|
|
|
|
- matchTypeNameArr := []string{"季度策略", "科技前沿(周报)", "本周荟", "智造精粹"}
|
|
|
|
-
|
|
|
|
- //1;四大行业汇总类报告:季度策略、科技前沿(周报)、本周荟、智造精粹以报告类型做标签
|
|
|
|
- //2:策略、固收的所有报告,以报告类型做标签
|
|
|
|
- if articlePermissionName == utils.CE_LUE_NAME || articlePermissionName == utils.GU_SHOU_NAME || utils.InArrayByStr(matchTypeNameArr, matchTypeName) { // 策略、固收的所有报告,以报告类型做标签
|
|
|
|
- if matchTypeName == "季度策略" {
|
|
|
|
- matchTypeName = articlePermissionName + matchTypeName //其中季度策略以:xx行业季度策略 呈现
|
|
|
|
- }
|
|
|
|
- item := new(models.WxUserRaiLabel)
|
|
|
|
- item.UserId = wxUser.UserId
|
|
|
|
- item.RealName = wxUser.RealName
|
|
|
|
- item.Mobile = wxUser.Mobile
|
|
|
|
- item.Email = wxUser.Email
|
|
|
|
- item.CompanyId = wxUser.CompanyId
|
|
|
|
- item.CompanyName = wxUser.CompanyName
|
|
|
|
- item.Label = matchTypeName
|
|
|
|
- item.SourceType = 8
|
|
|
|
- item.SourceId = sourceId
|
|
|
|
- item.CreateTime = log.CreateTime
|
|
|
|
- item.ModifyTime = time.Now()
|
|
|
|
- item.RegisterPlatform = log.RegisterPlatform
|
|
|
|
- item.TableName = "cygx_article"
|
|
|
|
- err = models.AddWxUserRaiLabel(item)
|
|
|
|
- if e != nil {
|
|
|
|
- err = errors.New("AddWxUserRaiLabel" + e.Error())
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- } else if articlePermissionName == utils.ZHOU_QI_NAME {
|
|
|
|
- //周期的行业深度、调研纪要、产业跟踪这些系列的报告用领域做标签,其余的周期报告,都用报告类型(也就是ficc定义的类型)做标签
|
|
|
|
- //其中周期的周度观点,以 周期周度观点 呈现
|
|
|
|
- matchTypeNameArrZhouqi := []string{"行业深度", "调研纪要", "产业跟踪"}
|
|
|
|
- if utils.InArrayByStr(matchTypeNameArrZhouqi, matchTypeName) {
|
|
|
|
- matchTypeName = articleDetail.FieldName
|
|
|
|
- }
|
|
|
|
- item := new(models.WxUserRaiLabel)
|
|
|
|
- item.UserId = wxUser.UserId
|
|
|
|
- item.RealName = wxUser.RealName
|
|
|
|
- item.Mobile = wxUser.Mobile
|
|
|
|
- item.Email = wxUser.Email
|
|
|
|
- item.CompanyId = wxUser.CompanyId
|
|
|
|
- item.CompanyName = wxUser.CompanyName
|
|
|
|
- item.Label = matchTypeName
|
|
|
|
- item.SourceType = 8
|
|
|
|
- item.SourceId = sourceId
|
|
|
|
- item.CreateTime = log.CreateTime
|
|
|
|
- item.ModifyTime = time.Now()
|
|
|
|
- item.RegisterPlatform = log.RegisterPlatform
|
|
|
|
- item.TableName = "cygx_article"
|
|
|
|
- e = models.AddWxUserRaiLabel(item)
|
|
|
|
|
|
+ //var lebelDetail []*cygx.RaiServeTagResp
|
|
|
|
+ var label string
|
|
|
|
+ var labelArr []string
|
|
|
|
+ var items []*models.WxUserRaiLabel
|
|
|
|
+ if totalGroup > 0 {
|
|
|
|
+ listGroup, e := roadshow.GetRsCalendarMeetingLabelGroupListByRsCalendarId(sourceId)
|
|
if e != nil {
|
|
if e != nil {
|
|
- err = errors.New("AddWxUserRaiLabel" + e.Error())
|
|
|
|
|
|
+ err = errors.New("GetRsCalendarMeetingLabelGroupByRsCalendarId" + e.Error())
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- //正常的有产业报告
|
|
|
|
- var labelArr []string
|
|
|
|
- //建立首页资源表,与产业的关系
|
|
|
|
- industrialList, e := models.GetIndustrialArticleGroupManagementListByArticleId(sourceId)
|
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
- err = errors.New("GetIndustrialArticleGroupManagementListByArticleId, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
|
|
|
|
- return
|
|
|
|
|
|
+ var industrialManagementIds []int
|
|
|
|
+ var industrialSubjectIds []int
|
|
|
|
+
|
|
|
|
+ mapindustrialManagementName := make(map[int]string)
|
|
|
|
+ mapindustrialSubjectName := make(map[int]string)
|
|
|
|
+ mapCelueName := make(map[int]string)
|
|
|
|
+ for _, v := range listGroup {
|
|
|
|
+ switch v.TagType {
|
|
|
|
+ case 1:
|
|
|
|
+ industrialManagementIds = append(industrialManagementIds, v.TagId)
|
|
|
|
+ case 2:
|
|
|
|
+ industrialSubjectIds = append(industrialSubjectIds, v.TagId)
|
|
|
|
+ case 3:
|
|
|
|
+ mapCelueName[v.TagId] = "策略"
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- var items []*models.WxUserRaiLabel
|
|
|
|
- for _, v := range industrialList {
|
|
|
|
- item := new(models.WxUserRaiLabel)
|
|
|
|
- item.UserId = wxUser.UserId
|
|
|
|
- item.RealName = wxUser.RealName
|
|
|
|
- item.Mobile = wxUser.Mobile
|
|
|
|
- item.Email = wxUser.Email
|
|
|
|
- item.CompanyId = wxUser.CompanyId
|
|
|
|
- item.CompanyName = wxUser.CompanyName
|
|
|
|
- item.Label = v.IndustryName
|
|
|
|
- item.SourceType = 7
|
|
|
|
- item.SourceId = sourceId
|
|
|
|
- item.CreateTime = log.CreateTime
|
|
|
|
- item.ModifyTime = time.Now()
|
|
|
|
- item.RegisterPlatform = log.RegisterPlatform
|
|
|
|
- item.TableName = "cygx_article"
|
|
|
|
- items = append(items, item)
|
|
|
|
- labelArr = append(labelArr, v.IndustryName)
|
|
|
|
|
|
+ if len(industrialManagementIds) > 0 {
|
|
|
|
+ IndustryList, e := models.GetIndustryListByConditionByIds(industrialManagementIds)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetRsCalendarMeetingLabelGroupByRsCalendarId" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, v := range IndustryList {
|
|
|
|
+ mapindustrialManagementName[v.IndustrialManagementId] = v.IndustryName
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- //建立首页资源表,与标的 的关系
|
|
|
|
- subjectList, e := models.GetSubjectArticleGroupManagementListByArtcileId(sourceId)
|
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
- err = errors.New("GetSubjectArticleGroupManagementListByArtcileId, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
|
|
|
|
- return
|
|
|
|
|
|
+ if len(industrialSubjectIds) > 0 {
|
|
|
|
+ SubjectList, e := models.GetIndustrialSubjectDetailByIds(industrialSubjectIds)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetIndustrialSubjectDetailByIds" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, v := range SubjectList {
|
|
|
|
+ mapindustrialSubjectName[v.IndustrialSubjectId] = v.SubjectName
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- for _, v := range subjectList {
|
|
|
|
|
|
+ for _, v := range listGroup {
|
|
|
|
+ switch v.TagType {
|
|
|
|
+ case 1:
|
|
|
|
+ label = mapindustrialManagementName[v.TagId]
|
|
|
|
+ case 2:
|
|
|
|
+ label = mapindustrialSubjectName[v.TagId]
|
|
|
|
+ case 3:
|
|
|
|
+ label = mapCelueName[v.TagId]
|
|
|
|
+ }
|
|
item := new(models.WxUserRaiLabel)
|
|
item := new(models.WxUserRaiLabel)
|
|
item.UserId = wxUser.UserId
|
|
item.UserId = wxUser.UserId
|
|
item.RealName = wxUser.RealName
|
|
item.RealName = wxUser.RealName
|
|
@@ -410,21 +390,201 @@ func ArticleWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err er
|
|
item.Email = wxUser.Email
|
|
item.Email = wxUser.Email
|
|
item.CompanyId = wxUser.CompanyId
|
|
item.CompanyId = wxUser.CompanyId
|
|
item.CompanyName = wxUser.CompanyName
|
|
item.CompanyName = wxUser.CompanyName
|
|
- item.Label = v.SubjectName
|
|
|
|
- item.SourceType = 7
|
|
|
|
|
|
+ item.Label = label
|
|
|
|
+ item.SourceType = sourceType
|
|
item.SourceId = sourceId
|
|
item.SourceId = sourceId
|
|
item.CreateTime = log.CreateTime
|
|
item.CreateTime = log.CreateTime
|
|
item.ModifyTime = time.Now()
|
|
item.ModifyTime = time.Now()
|
|
item.RegisterPlatform = log.RegisterPlatform
|
|
item.RegisterPlatform = log.RegisterPlatform
|
|
- item.TableName = "cygx_article"
|
|
|
|
|
|
+ item.TableName = ""
|
|
items = append(items, item)
|
|
items = append(items, item)
|
|
- labelArr = append(labelArr, v.SubjectName)
|
|
|
|
|
|
+ labelArr = append(labelArr, label)
|
|
}
|
|
}
|
|
- e = models.AddWxUserRaiLabelMulti(items, labelArr, userId)
|
|
|
|
- if e != nil {
|
|
|
|
- err = errors.New("AddWxUserRaiLabelMulti" + e.Error())
|
|
|
|
- return
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ e = models.AddWxUserRaiLabelMulti(items, labelArr, userId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("AddWxUserRaiLabelMulti" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 7:产业/个股标签(报告)、8:报告类型标签
|
|
|
|
+func ArticleWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis) (err error) {
|
|
|
|
+ defer func() {
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ go utils.SendAlarmMsg("用户文章阅读更新相关标签,处理Redis队列消息失败:"+err.Error()+fmt.Sprint("articleId", log.SourceId, "userId", log.UserId), 2)
|
|
}
|
|
}
|
|
|
|
+ }()
|
|
|
|
+ userId := log.UserId
|
|
|
|
+ sourceId := log.SourceId
|
|
|
|
+ wxUser, e := models.GetWxUserItemByUserId(userId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetWxUserItemByUserId" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ //articleDetail, e := models.GetArticleDetailTestById(sourceId)
|
|
|
|
+ //if e != nil {
|
|
|
|
+ // err = errors.New("GetArticleDetailTestById" + e.Error())
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+
|
|
|
|
+ labelArr, sourceType := GetArticlelabelArrByArticleId(sourceId)
|
|
|
|
+ if len(labelArr) == 0 {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var items []*models.WxUserRaiLabel
|
|
|
|
+ for _, v := range labelArr {
|
|
|
|
+ item := new(models.WxUserRaiLabel)
|
|
|
|
+ item.UserId = wxUser.UserId
|
|
|
|
+ item.RealName = wxUser.RealName
|
|
|
|
+ item.Mobile = wxUser.Mobile
|
|
|
|
+ item.Email = wxUser.Email
|
|
|
|
+ item.CompanyId = wxUser.CompanyId
|
|
|
|
+ item.CompanyName = wxUser.CompanyName
|
|
|
|
+ item.Label = v
|
|
|
|
+ item.SourceType = sourceType
|
|
|
|
+ item.SourceId = sourceId
|
|
|
|
+ item.CreateTime = log.CreateTime
|
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
|
+ item.RegisterPlatform = log.RegisterPlatform
|
|
|
|
+ item.TableName = "cygx_article"
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ //labelArr = append(labelArr, v.IndustryName)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //articlePermission, e := models.GetArticlePermission(articleDetail.CategoryId)
|
|
|
|
+ //if e != nil {
|
|
|
|
+ // err = errors.New("GetArticlePermission" + e.Error())
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+ //if articlePermission == nil {
|
|
|
|
+ // err = errors.New("报告权限不存在" + e.Error())
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+ //articlePermissionName := articlePermission.PermissionName
|
|
|
|
+ //matchTypeName := articlePermission.MatchTypeName
|
|
|
|
+ //matchTypeNameArr := []string{"季度策略", "科技前沿(周报)", "本周荟", "智造精粹"}
|
|
|
|
+ //
|
|
|
|
+ ////1;四大行业汇总类报告:季度策略、科技前沿(周报)、本周荟、智造精粹以报告类型做标签
|
|
|
|
+ ////2:策略、固收的所有报告,以报告类型做标签
|
|
|
|
+ //if articlePermissionName == utils.CE_LUE_NAME || articlePermissionName == utils.GU_SHOU_NAME || utils.InArrayByStr(matchTypeNameArr, matchTypeName) { // 策略、固收的所有报告,以报告类型做标签
|
|
|
|
+ // if matchTypeName == "季度策略" {
|
|
|
|
+ // matchTypeName = articlePermissionName + matchTypeName //其中季度策略以:xx行业季度策略 呈现
|
|
|
|
+ // }
|
|
|
|
+ // item := new(models.WxUserRaiLabel)
|
|
|
|
+ // item.UserId = wxUser.UserId
|
|
|
|
+ // item.RealName = wxUser.RealName
|
|
|
|
+ // item.Mobile = wxUser.Mobile
|
|
|
|
+ // item.Email = wxUser.Email
|
|
|
|
+ // item.CompanyId = wxUser.CompanyId
|
|
|
|
+ // item.CompanyName = wxUser.CompanyName
|
|
|
|
+ // item.Label = matchTypeName
|
|
|
|
+ // item.SourceType = 8
|
|
|
|
+ // item.SourceId = sourceId
|
|
|
|
+ // item.CreateTime = log.CreateTime
|
|
|
|
+ // item.ModifyTime = time.Now()
|
|
|
|
+ // item.RegisterPlatform = log.RegisterPlatform
|
|
|
|
+ // item.TableName = "cygx_article"
|
|
|
|
+ // err = models.AddWxUserRaiLabel(item)
|
|
|
|
+ // if e != nil {
|
|
|
|
+ // err = errors.New("AddWxUserRaiLabel" + e.Error())
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ //} else if articlePermissionName == utils.ZHOU_QI_NAME {
|
|
|
|
+ // //周期的行业深度、调研纪要、产业跟踪这些系列的报告用领域做标签,其余的周期报告,都用报告类型(也就是ficc定义的类型)做标签
|
|
|
|
+ // //其中周期的周度观点,以 周期周度观点 呈现
|
|
|
|
+ // matchTypeNameArrZhouqi := []string{"行业深度", "调研纪要", "产业跟踪"}
|
|
|
|
+ // if utils.InArrayByStr(matchTypeNameArrZhouqi, matchTypeName) {
|
|
|
|
+ // matchTypeName = articleDetail.FieldName
|
|
|
|
+ // }
|
|
|
|
+ // item := new(models.WxUserRaiLabel)
|
|
|
|
+ // item.UserId = wxUser.UserId
|
|
|
|
+ // item.RealName = wxUser.RealName
|
|
|
|
+ // item.Mobile = wxUser.Mobile
|
|
|
|
+ // item.Email = wxUser.Email
|
|
|
|
+ // item.CompanyId = wxUser.CompanyId
|
|
|
|
+ // item.CompanyName = wxUser.CompanyName
|
|
|
|
+ // item.Label = matchTypeName
|
|
|
|
+ // item.SourceType = 8
|
|
|
|
+ // item.SourceId = sourceId
|
|
|
|
+ // item.CreateTime = log.CreateTime
|
|
|
|
+ // item.ModifyTime = time.Now()
|
|
|
|
+ // item.RegisterPlatform = log.RegisterPlatform
|
|
|
|
+ // item.TableName = "cygx_article"
|
|
|
|
+ // e = models.AddWxUserRaiLabel(item)
|
|
|
|
+ // if e != nil {
|
|
|
|
+ // err = errors.New("AddWxUserRaiLabel" + e.Error())
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ //} else {
|
|
|
|
+ // //正常的有产业报告
|
|
|
|
+ // var labelArr []string
|
|
|
|
+ // //建立首页资源表,与产业的关系
|
|
|
|
+ // industrialList, e := models.GetIndustrialArticleGroupManagementListByArticleId(sourceId)
|
|
|
|
+ // if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
+ // err = errors.New("GetIndustrialArticleGroupManagementListByArticleId, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ //
|
|
|
|
+ // var items []*models.WxUserRaiLabel
|
|
|
|
+ // for _, v := range industrialList {
|
|
|
|
+ // item := new(models.WxUserRaiLabel)
|
|
|
|
+ // item.UserId = wxUser.UserId
|
|
|
|
+ // item.RealName = wxUser.RealName
|
|
|
|
+ // item.Mobile = wxUser.Mobile
|
|
|
|
+ // item.Email = wxUser.Email
|
|
|
|
+ // item.CompanyId = wxUser.CompanyId
|
|
|
|
+ // item.CompanyName = wxUser.CompanyName
|
|
|
|
+ // item.Label = v.IndustryName
|
|
|
|
+ // item.SourceType = 7
|
|
|
|
+ // item.SourceId = sourceId
|
|
|
|
+ // item.CreateTime = log.CreateTime
|
|
|
|
+ // item.ModifyTime = time.Now()
|
|
|
|
+ // item.RegisterPlatform = log.RegisterPlatform
|
|
|
|
+ // item.TableName = "cygx_article"
|
|
|
|
+ // items = append(items, item)
|
|
|
|
+ // labelArr = append(labelArr, v.IndustryName)
|
|
|
|
+ // }
|
|
|
|
+ //
|
|
|
|
+ // //建立首页资源表,与标的 的关系
|
|
|
|
+ // subjectList, e := models.GetSubjectArticleGroupManagementListByArtcileId(sourceId)
|
|
|
|
+ // if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
+ // err = errors.New("GetSubjectArticleGroupManagementListByArtcileId, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ //
|
|
|
|
+ // for _, v := range subjectList {
|
|
|
|
+ // item := new(models.WxUserRaiLabel)
|
|
|
|
+ // item.UserId = wxUser.UserId
|
|
|
|
+ // item.RealName = wxUser.RealName
|
|
|
|
+ // item.Mobile = wxUser.Mobile
|
|
|
|
+ // item.Email = wxUser.Email
|
|
|
|
+ // item.CompanyId = wxUser.CompanyId
|
|
|
|
+ // item.CompanyName = wxUser.CompanyName
|
|
|
|
+ // item.Label = v.SubjectName
|
|
|
|
+ // item.SourceType = 7
|
|
|
|
+ // item.SourceId = sourceId
|
|
|
|
+ // item.CreateTime = log.CreateTime
|
|
|
|
+ // item.ModifyTime = time.Now()
|
|
|
|
+ // item.RegisterPlatform = log.RegisterPlatform
|
|
|
|
+ // item.TableName = "cygx_article"
|
|
|
|
+ // items = append(items, item)
|
|
|
|
+ // labelArr = append(labelArr, v.SubjectName)
|
|
|
|
+ // }
|
|
|
|
+ // e = models.AddWxUserRaiLabelMulti(items, labelArr, userId)
|
|
|
|
+ // if e != nil {
|
|
|
|
+ // err = errors.New("AddWxUserRaiLabelMulti" + e.Error())
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ //}
|
|
|
|
+
|
|
|
|
+ e = models.AddWxUserRaiLabelMulti(items, labelArr, userId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("AddWxUserRaiLabelMulti" + e.Error())
|
|
|
|
+ return
|
|
}
|
|
}
|
|
|
|
|
|
return
|
|
return
|
|
@@ -465,6 +625,932 @@ func ReportSelectionWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis)
|
|
err = errors.New("AddWxUserRaiLabel" + e.Error())
|
|
err = errors.New("AddWxUserRaiLabel" + e.Error())
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func GetArticlelabelArrByArticleId(articleId int) (labelArr []string, sourceType int) {
|
|
|
|
+ articleDetail, e := models.GetArticleDetailTestById(articleId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if articleDetail.ArticleTypeId > 0 {
|
|
|
|
+ //正常的有产业报告
|
|
|
|
+ //建立首页资源表,与产业的关系
|
|
|
|
+ industrialList, e := models.GetIndustrialArticleGroupManagementListByArticleId(articleId)
|
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, v := range industrialList {
|
|
|
|
+ labelArr = append(labelArr, v.IndustryName)
|
|
|
|
+ }
|
|
|
|
+ //建立首页资源表,与标的 的关系
|
|
|
|
+ subjectList, e := models.GetSubjectArticleGroupManagementListByArtcileId(articleId)
|
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, v := range subjectList {
|
|
|
|
+ labelArr = append(labelArr, v.SubjectName)
|
|
|
|
+ }
|
|
|
|
+ sourceType = 7
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ articlePermission, e := models.GetArticlePermission(articleDetail.CategoryId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if articlePermission == nil {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ articlePermissionName := articlePermission.PermissionName
|
|
|
|
+ matchTypeName := articlePermission.MatchTypeName
|
|
|
|
+ matchTypeNameArr := []string{"季度策略", "科技前沿(周报)", "本周荟", "智造精粹"}
|
|
|
|
+
|
|
|
|
+ //1;四大行业汇总类报告:季度策略、科技前沿(周报)、本周荟、智造精粹以报告类型做标签
|
|
|
|
+ //2:策略、固收的所有报告,以报告类型做标签
|
|
|
|
+ //var labelArr []string
|
|
|
|
+ if articlePermissionName == utils.CE_LUE_NAME || articlePermissionName == utils.GU_SHOU_NAME || utils.InArrayByStr(matchTypeNameArr, matchTypeName) { // 策略、固收的所有报告,以报告类型做标签
|
|
|
|
+ if matchTypeName == "季度策略" {
|
|
|
|
+ matchTypeName = articlePermissionName + matchTypeName //其中季度策略以:xx行业季度策略 呈现
|
|
|
|
+ }
|
|
|
|
+ labelArr = append(labelArr, matchTypeName)
|
|
|
|
+ sourceType = 8
|
|
|
|
+ } else if articlePermissionName == utils.ZHOU_QI_NAME {
|
|
|
|
+ //周期的行业深度、调研纪要、产业跟踪这些系列的报告用领域做标签,其余的周期报告,都用报告类型(也就是ficc定义的类型)做标签
|
|
|
|
+ //其中周期的周度观点,以 周期周度观点 呈现
|
|
|
|
+ matchTypeNameArrZhouqi := []string{"行业深度", "调研纪要", "产业跟踪"}
|
|
|
|
+ if utils.InArrayByStr(matchTypeNameArrZhouqi, matchTypeName) {
|
|
|
|
+ matchTypeName = articleDetail.FieldName
|
|
|
|
+ }
|
|
|
|
+ labelArr = append(labelArr, matchTypeName)
|
|
|
|
+ sourceType = 8
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ //正常的有产业报告
|
|
|
|
+ //建立首页资源表,与产业的关系
|
|
|
|
+ industrialList, e := models.GetIndustrialArticleGroupManagementListByArticleId(articleId)
|
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, v := range industrialList {
|
|
|
|
+ labelArr = append(labelArr, v.IndustryName)
|
|
|
|
+ }
|
|
|
|
+ //建立首页资源表,与标的 的关系
|
|
|
|
+ subjectList, e := models.GetSubjectArticleGroupManagementListByArtcileId(articleId)
|
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, v := range subjectList {
|
|
|
|
+ labelArr = append(labelArr, v.SubjectName)
|
|
|
|
+ }
|
|
|
|
+ sourceType = 7
|
|
|
|
+ }
|
|
|
|
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+//func init() {
|
|
|
|
+// //fmt.Println(GetArticlelabelArrByArticleId(11037))
|
|
|
|
+// //initCrm16_5Article2()
|
|
|
|
+//}
|
|
|
|
+
|
|
|
|
+func initCrm16_5keyWord() {
|
|
|
|
+
|
|
|
|
+ listKeyWords, err := models.GetSearchKeyWordinitCrm16_5()
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var mobiles []string
|
|
|
|
+ mapMobile := make(map[string]bool)
|
|
|
|
+ for _, v := range listKeyWords {
|
|
|
|
+ if mapMobile[v.Mobile] || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ mapMobile[v.Mobile] = true
|
|
|
|
+ mobiles = append(mobiles, v.Mobile)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ listUser, err := models.GetWxUserListByMobileArr(mobiles)
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ mapUser := make(map[string]*models.WxUserItem)
|
|
|
|
+
|
|
|
|
+ for _, v := range listUser {
|
|
|
|
+ mapUser[v.Mobile] = v
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var items []*models.WxUserRaiLabelLog
|
|
|
|
+ for _, v := range listKeyWords {
|
|
|
|
+ if mapUser[v.Mobile] == nil || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ wxUser := mapUser[v.Mobile]
|
|
|
|
+ item := new(models.WxUserRaiLabelLog)
|
|
|
|
+ item.UserId = wxUser.UserId
|
|
|
|
+ item.RealName = wxUser.RealName
|
|
|
|
+ item.Mobile = wxUser.Mobile
|
|
|
|
+ item.Email = wxUser.Email
|
|
|
|
+ item.CompanyId = wxUser.CompanyId
|
|
|
|
+ item.CompanyName = wxUser.CompanyName
|
|
|
|
+ item.Label = v.KeyWord
|
|
|
|
+ item.SourceType = 1
|
|
|
|
+ item.CreateTime = v.CreateTime
|
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
|
+ item.RegisterPlatform = v.RegisterPlatform
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ }
|
|
|
|
+ fmt.Println(len(items))
|
|
|
|
+
|
|
|
|
+ var itemsAdd []*models.WxUserRaiLabelLog
|
|
|
|
+ if len(items) > 0 {
|
|
|
|
+ for _, v := range items {
|
|
|
|
+ itemsAdd = append(itemsAdd, v)
|
|
|
|
+ if len(items)%2000 == 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ itemsAdd = make([]*models.WxUserRaiLabelLog, 0)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if len(itemsAdd) > 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("endAddWxUserRaiLabelLogMultiInit")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func initCrm16_5Activity() {
|
|
|
|
+ var condition string
|
|
|
|
+ var pars []interface{}
|
|
|
|
+ condition += ` AND create_time > '2024-09-01' AND (is_meeting =1 OR duration != '') `
|
|
|
|
+ pars = append(pars)
|
|
|
|
+ //获取提交到会的人员信息
|
|
|
|
+ signUpDetailList, err := models.GetSignupDetailList(condition, pars)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var mobiles []string
|
|
|
|
+
|
|
|
|
+ mapMobile := make(map[string]bool)
|
|
|
|
+
|
|
|
|
+ for _, v := range signUpDetailList {
|
|
|
|
+ if mapMobile[v.Mobile] || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ mapMobile[v.Mobile] = true
|
|
|
|
+ mobiles = append(mobiles, v.Mobile)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var activityIds []int
|
|
|
|
+ mapactivityId := make(map[int]bool)
|
|
|
|
+ for _, v := range signUpDetailList {
|
|
|
|
+ if mapactivityId[v.ActivityId] {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ mapactivityId[v.ActivityId] = true
|
|
|
|
+ activityIds = append(activityIds, v.ActivityId)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ listUser, err := models.GetWxUserListByMobileArr(mobiles)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ mapUser := make(map[string]*models.WxUserItem)
|
|
|
|
+ for _, v := range listUser {
|
|
|
|
+ mapUser[v.Mobile] = v
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ activityDetailList, e := models.GetAddActivityDetailByActivityIdinitCrm16_5(activityIds)
|
|
|
|
+ if e != nil {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ sourceTypemap := make(map[int]int)
|
|
|
|
+ mapLabel := make(map[int]string)
|
|
|
|
+
|
|
|
|
+ for _, v := range activityDetailList {
|
|
|
|
+ if v.ActivityType == 1 {
|
|
|
|
+ sourceTypemap[v.ActivityId] = 4
|
|
|
|
+ } else {
|
|
|
|
+ sourceTypemap[v.ActivityId] = 2
|
|
|
|
+ }
|
|
|
|
+ mapLabel[v.ActivityId] = v.Label
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //正常的有产业报告
|
|
|
|
+
|
|
|
|
+ //建立首页资源表,与产业的关系
|
|
|
|
+ industrialList, e := models.GetIndustrialActivityGroupManagementListByArticleIds(activityIds)
|
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //建立首页资源表,与标的 的关系
|
|
|
|
+ subjectList, e := models.GetSubjectActivityGroupManagementListByActivityIds(activityIds)
|
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var items []*models.WxUserRaiLabelLog
|
|
|
|
+ for _, v := range signUpDetailList {
|
|
|
|
+ if mapUser[v.Mobile] == nil || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ var haseName bool
|
|
|
|
+ wxUser := mapUser[v.Mobile]
|
|
|
|
+ for _, vI := range industrialList {
|
|
|
|
+ if vI.ActivityId != v.ActivityId {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ haseName = true
|
|
|
|
+ item := new(models.WxUserRaiLabelLog)
|
|
|
|
+ item.UserId = wxUser.UserId
|
|
|
|
+ item.RealName = wxUser.RealName
|
|
|
|
+ item.Mobile = wxUser.Mobile
|
|
|
|
+ item.Email = wxUser.Email
|
|
|
|
+ item.CompanyId = wxUser.CompanyId
|
|
|
|
+ item.CompanyName = wxUser.CompanyName
|
|
|
|
+ item.Label = vI.IndustryName
|
|
|
|
+ item.SourceType = sourceTypemap[v.ActivityId]
|
|
|
|
+ item.SourceId = v.ActivityId
|
|
|
|
+ item.CreateTime = v.CreateTime
|
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
|
+ item.TableName = ""
|
|
|
|
+ //item.RegisterPlatform = v.RegisterPlatform
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, vs := range subjectList {
|
|
|
|
+ if vs.ActivityId != v.ActivityId {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ haseName = true
|
|
|
|
+ item := new(models.WxUserRaiLabelLog)
|
|
|
|
+ item.UserId = wxUser.UserId
|
|
|
|
+ item.RealName = wxUser.RealName
|
|
|
|
+ item.Mobile = wxUser.Mobile
|
|
|
|
+ item.Email = wxUser.Email
|
|
|
|
+ item.CompanyId = wxUser.CompanyId
|
|
|
|
+ item.CompanyName = wxUser.CompanyName
|
|
|
|
+ item.Label = vs.SubjectName
|
|
|
|
+ item.SourceType = sourceTypemap[v.ActivityId]
|
|
|
|
+ item.SourceId = v.ActivityId
|
|
|
|
+ item.CreateTime = v.CreateTime
|
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
|
+ //item.RegisterPlatform = v.RegisterPlatform
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //如果两个标签都没有,就添加临时标签
|
|
|
|
+ if !haseName {
|
|
|
|
+ item := new(models.WxUserRaiLabelLog)
|
|
|
|
+ item.UserId = wxUser.UserId
|
|
|
|
+ item.RealName = wxUser.RealName
|
|
|
|
+ item.Mobile = wxUser.Mobile
|
|
|
|
+ item.Email = wxUser.Email
|
|
|
|
+ item.CompanyId = wxUser.CompanyId
|
|
|
|
+ item.CompanyName = wxUser.CompanyName
|
|
|
|
+ item.Label = mapLabel[v.ActivityId]
|
|
|
|
+ item.SourceType = sourceTypemap[v.ActivityId]
|
|
|
|
+ item.SourceId = v.ActivityId
|
|
|
|
+ item.CreateTime = v.CreateTime
|
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
|
+ //item.RegisterPlatform = v.RegisterPlatform
|
|
|
|
+ item.TableName = ""
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ //fmt.Println("initCrm16_5Activity", len(items))
|
|
|
|
+ //return
|
|
|
|
+ var itemsAdd []*models.WxUserRaiLabelLog
|
|
|
|
+ if len(items) > 0 {
|
|
|
|
+ for _, v := range items {
|
|
|
|
+ itemsAdd = append(itemsAdd, v)
|
|
|
|
+ if len(itemsAdd)%2000 == 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ itemsAdd = make([]*models.WxUserRaiLabelLog, 0)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if len(itemsAdd) > 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("endAddWxUserRaiLabelLogMultiInit")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func initCrm16_5Article() {
|
|
|
|
+ var condition string
|
|
|
|
+ var pars []interface{}
|
|
|
|
+ condition += ` `
|
|
|
|
+ pars = append(pars)
|
|
|
|
+
|
|
|
|
+ listArticleIds, err := models.GetCygxArticleHistoryRecordAllListArticleIdCrm16_5()
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("listArticleIds", len(listArticleIds))
|
|
|
|
+ listHave, err := models.GetWxUserRaiArticleLabelCrm16_5()
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ mapArticleId := make(map[int]bool)
|
|
|
|
+ for _, v := range listHave {
|
|
|
|
+ mapArticleId[v.ArticleId] = true
|
|
|
|
+ }
|
|
|
|
+ for k, v := range listArticleIds {
|
|
|
|
+ fmt.Println(k)
|
|
|
|
+ labelArr, sourceType := GetArticlelabelArrByArticleId(v.ArticleId)
|
|
|
|
+ if len(labelArr) == 0 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ var items []*models.WxUserRaiArticleLabel
|
|
|
|
+ for _, v2 := range labelArr {
|
|
|
|
+ item := new(models.WxUserRaiArticleLabel)
|
|
|
|
+ item.ArticleId = v.ArticleId
|
|
|
|
+ item.Label = v2
|
|
|
|
+ item.SourceType = sourceType
|
|
|
|
+ item.CreateTime = time.Now()
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ err = models.AddWxUserRaiArticleLabelMultiInit(items)
|
|
|
|
+ time.Sleep(time.Millisecond * 100)
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func initCrm16_5Article2() {
|
|
|
|
+ var condition string
|
|
|
|
+ var pars []interface{}
|
|
|
|
+ condition += ` `
|
|
|
|
+ pars = append(pars)
|
|
|
|
+ //获取提交到会的人员信息
|
|
|
|
+ listArticleIds, err := models.GetCygxArticleHistoryRecordAllListUserIdCrm16_5()
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("listArticleIds", len(listArticleIds))
|
|
|
|
+
|
|
|
|
+ mapUserId := make(map[string]bool)
|
|
|
|
+ var mobiles []string
|
|
|
|
+ for _, v := range listArticleIds {
|
|
|
|
+ if mapUserId[v.Mobile] {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ mobiles = append(mobiles, v.Mobile)
|
|
|
|
+ mapUserId[v.Mobile] = true
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ listUser, err := models.GetWxUserListByMobileArr(mobiles)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ mapUser := make(map[string]*models.WxUserItem)
|
|
|
|
+ for _, v := range listUser {
|
|
|
|
+ mapUser[v.Mobile] = v
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ listArticleLabel, err := models.GetWxUserRaiArticleLabelAllCrm16_5()
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ mapArticleLabel := make(map[int][]string)
|
|
|
|
+ mapArticleType := make(map[int]int)
|
|
|
|
+ for _, v := range listArticleLabel {
|
|
|
|
+ mapArticleLabel[v.ArticleId] = append(mapArticleLabel[v.ArticleId], v.Label)
|
|
|
|
+ mapArticleType[v.ArticleId] = v.SourceType
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var items []*models.WxUserRaiLabelLog
|
|
|
|
+ for _, v := range listArticleIds {
|
|
|
|
+ if mapUser[v.Mobile] == nil || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ if len(mapArticleLabel[v.ArticleId]) == 0 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ wxUser := mapUser[v.Mobile]
|
|
|
|
+ for _, vI := range mapArticleLabel[v.ArticleId] {
|
|
|
|
+ item := new(models.WxUserRaiLabelLog)
|
|
|
|
+ item.UserId = wxUser.UserId
|
|
|
|
+ item.RealName = wxUser.RealName
|
|
|
|
+ item.Mobile = wxUser.Mobile
|
|
|
|
+ item.Email = wxUser.Email
|
|
|
|
+ item.CompanyId = wxUser.CompanyId
|
|
|
|
+ item.CompanyName = wxUser.CompanyName
|
|
|
|
+ item.Label = vI
|
|
|
|
+ item.SourceType = mapArticleType[v.ArticleId]
|
|
|
|
+ item.SourceId = v.ArticleId
|
|
|
|
+ item.CreateTime = utils.StrTimeToTime(v.CreateTime)
|
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
|
+ item.TableName = "cygx_article"
|
|
|
|
+ //item.RegisterPlatform = v.RegisterPlatform
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("items", len(items))
|
|
|
|
+
|
|
|
|
+ var itemsAdd []*models.WxUserRaiLabelLog
|
|
|
|
+ if len(items) > 0 {
|
|
|
|
+ for _, v := range items {
|
|
|
|
+ itemsAdd = append(itemsAdd, v)
|
|
|
|
+ if len(itemsAdd)%2000 == 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ itemsAdd = make([]*models.WxUserRaiLabelLog, 0)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if len(itemsAdd) > 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("endAddWxUserRaiLabelLogMultiInit")
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+////func init() {
|
|
|
|
+// //initCrm16_5keyWord()
|
|
|
|
+// //initCrm16_5Activity()
|
|
|
|
+// //initCrm16_5Article2()
|
|
|
|
+// //initCrm16_5ReportHistory()
|
|
|
|
+// //initCrm16_5ReportHistory_2()
|
|
|
|
+// //initCrm16_5Roadshow()
|
|
|
|
+//
|
|
|
|
+// fmt.Println("end RO")
|
|
|
|
+//
|
|
|
|
+// initCrm16_5wx_user_rai_label()
|
|
|
|
+//
|
|
|
|
+// fmt.Println("end RO2")
|
|
|
|
+//}
|
|
|
|
+
|
|
|
|
+// 记录用户在重点公司单独点了某一个标签
|
|
|
|
+func initCrm16_5ReportHistory_0() {
|
|
|
|
+ var err error
|
|
|
|
+ defer func() {
|
|
|
|
+ if err != nil {
|
|
|
|
+ go utils.SendAlarmMsg("SendCygxReportSelectionLogApplyTemplateMsg Err"+err.Error(), 2)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+ var condition string
|
|
|
|
+ var pars []interface{}
|
|
|
|
+
|
|
|
|
+ listhistory, err := models.GetCygxReportSelectionSubjectHistory()
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for kH, vH := range listhistory {
|
|
|
|
+ fmt.Println(kH)
|
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
|
+ condition = ` AND article_id = ? AND industrial_subject_id = ? AND industrial_management_id = ? AND third_id = ? `
|
|
|
|
+ pars = append(pars, vH.ArticleId, vH.IndustrialSubjectId, vH.IndustrialManagementId, vH.ThirdId)
|
|
|
|
+ listLog, e := models.GetCygxReportSelectionLog(condition, pars, 0, 9999)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetCygxReportSelectionLog, Err: " + e.Error())
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var labelName string
|
|
|
|
+ for _, v2 := range listLog {
|
|
|
|
+ if v2.ThirdId > 0 {
|
|
|
|
+ labelName = v2.ThirdName
|
|
|
|
+ } else if v2.IndustrialSubjectId == 0 && v2.IndustrialManagementId != "" {
|
|
|
|
+ labelName = v2.IndustrialManagementNames
|
|
|
|
+ } else {
|
|
|
|
+ labelName = v2.SubjectName
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ err = models.UpdateCygxReportSelectionSubjectHistoryName(labelName, vH.Id)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("end")
|
|
|
|
+
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func initCrm16_5ReportHistory() {
|
|
|
|
+
|
|
|
|
+ listReportHistory, err := models.GetWxUserRaiCygxReportHistoryRecordCrm16_5()
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var mobiles []string
|
|
|
|
+ mapMobile := make(map[string]bool)
|
|
|
|
+ for _, v := range listReportHistory {
|
|
|
|
+ if mapMobile[v.Mobile] || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ mapMobile[v.Mobile] = true
|
|
|
|
+ mobiles = append(mobiles, v.Mobile)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ listUser, err := models.GetWxUserListByMobileArr(mobiles)
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ mapUser := make(map[string]*models.WxUserItem)
|
|
|
|
+
|
|
|
|
+ for _, v := range listUser {
|
|
|
|
+ mapUser[v.Mobile] = v
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var items []*models.WxUserRaiLabelLog
|
|
|
|
+ for _, v := range listReportHistory {
|
|
|
|
+ if mapUser[v.Mobile] == nil || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ wxUser := mapUser[v.Mobile]
|
|
|
|
+ item := new(models.WxUserRaiLabelLog)
|
|
|
|
+ item.UserId = wxUser.UserId
|
|
|
|
+ item.RealName = wxUser.RealName
|
|
|
|
+ item.Mobile = wxUser.Mobile
|
|
|
|
+ item.Email = wxUser.Email
|
|
|
|
+ item.CompanyId = wxUser.CompanyId
|
|
|
|
+ item.CompanyName = wxUser.CompanyName
|
|
|
|
+ if v.ReportType == "bgjx" {
|
|
|
|
+ item.Label = "重点推荐"
|
|
|
|
+ item.TableName = "cygx_report_selection"
|
|
|
|
+ } else {
|
|
|
|
+ item.Label = "本周研究汇总"
|
|
|
|
+ item.TableName = "cygx_research_summary"
|
|
|
|
+ }
|
|
|
|
+ item.SourceId = v.ArticleId
|
|
|
|
+ item.SourceType = 8
|
|
|
|
+ item.CreateTime = v.CreateTime
|
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
|
+ item.RegisterPlatform = v.RegisterPlatform
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("items", len(items))
|
|
|
|
+
|
|
|
|
+ var itemsAdd []*models.WxUserRaiLabelLog
|
|
|
|
+ if len(items) > 0 {
|
|
|
|
+ for _, v := range items {
|
|
|
|
+ itemsAdd = append(itemsAdd, v)
|
|
|
|
+ if len(items)%2000 == 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ itemsAdd = make([]*models.WxUserRaiLabelLog, 0)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if len(itemsAdd) > 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("endAddWxUserRaiLabelLogMultiInit")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func initCrm16_5ReportHistory_2() {
|
|
|
|
+
|
|
|
|
+ listReportHistory, err := models.GetCygxReportSelectionSubjectHistory()
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var mobiles []string
|
|
|
|
+ mapMobile := make(map[string]bool)
|
|
|
|
+ for _, v := range listReportHistory {
|
|
|
|
+ if mapMobile[v.Mobile] || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ mapMobile[v.Mobile] = true
|
|
|
|
+ mobiles = append(mobiles, v.Mobile)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ listUser, err := models.GetWxUserListByMobileArr(mobiles)
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ mapUser := make(map[string]*models.WxUserItem)
|
|
|
|
+ for _, v := range listUser {
|
|
|
|
+ mapUser[v.Mobile] = v
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var items []*models.WxUserRaiLabelLog
|
|
|
|
+ for _, v := range listReportHistory {
|
|
|
|
+ if mapUser[v.Mobile] == nil || v.Mobile == "" || v.LableName == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ wxUser := mapUser[v.Mobile]
|
|
|
|
+ item := new(models.WxUserRaiLabelLog)
|
|
|
|
+ item.UserId = wxUser.UserId
|
|
|
|
+ item.RealName = wxUser.RealName
|
|
|
|
+ item.Mobile = wxUser.Mobile
|
|
|
|
+ item.Email = wxUser.Email
|
|
|
|
+ item.CompanyId = wxUser.CompanyId
|
|
|
|
+ item.CompanyName = wxUser.CompanyName
|
|
|
|
+ item.Label = v.LableName
|
|
|
|
+ item.SourceType = 8
|
|
|
|
+ item.CreateTime = v.CreateTime
|
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
|
+ item.RegisterPlatform = v.RegisterPlatform
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("items", len(items))
|
|
|
|
+
|
|
|
|
+ var itemsAdd []*models.WxUserRaiLabelLog
|
|
|
|
+ if len(items) > 0 {
|
|
|
|
+ for _, v := range items {
|
|
|
|
+ itemsAdd = append(itemsAdd, v)
|
|
|
|
+ if len(items)%2000 == 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(items)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ itemsAdd = make([]*models.WxUserRaiLabelLog, 0)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if len(itemsAdd) > 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("endAddWxUserRaiLabelLogMultiInit")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func initCrm16_5Roadshow() {
|
|
|
|
+ var condition string
|
|
|
|
+ var pars []interface{}
|
|
|
|
+ condition = " "
|
|
|
|
+ calendarMeetingUserList, e := roadshow.GetRsCalendarMeetingUserList(condition+" ORDER BY rs.start_date ASC ", pars)
|
|
|
|
+ if e != nil {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var rsCalendarIds []int
|
|
|
|
+ for _, v := range calendarMeetingUserList {
|
|
|
|
+ rsCalendarIds = append(rsCalendarIds, v.RsCalendarId)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var mobiles []string
|
|
|
|
+ mapMobile := make(map[string]bool)
|
|
|
|
+ for _, v := range calendarMeetingUserList {
|
|
|
|
+ if mapMobile[v.Mobile] || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ mapMobile[v.Mobile] = true
|
|
|
|
+ mobiles = append(mobiles, v.Mobile)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ RsCalendarListInit, e := roadshow.GetRsCalendarListInit(rsCalendarIds)
|
|
|
|
+ if e != nil {
|
|
|
|
+ fmt.Println(e)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ mapRoadshowType := make(map[int]int)
|
|
|
|
+ for _, v := range RsCalendarListInit {
|
|
|
|
+ if v.RoadshowType == "线下" {
|
|
|
|
+ mapRoadshowType[v.RsCalendarId] = 3
|
|
|
|
+ } else {
|
|
|
|
+ mapRoadshowType[v.RsCalendarId] = 5
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ listUser, err := models.GetWxUserListByMobileArr(mobiles)
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ mapUser := make(map[string]*models.WxUserItem)
|
|
|
|
+
|
|
|
|
+ for _, v := range listUser {
|
|
|
|
+ mapUser[v.Mobile] = v
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var items []*models.WxUserRaiLabelLog
|
|
|
|
+ for _, v := range calendarMeetingUserList {
|
|
|
|
+ if mapUser[v.Mobile] == nil || v.Mobile == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ wxUser := mapUser[v.Mobile]
|
|
|
|
+ var sourceType int
|
|
|
|
+ sourceType = mapRoadshowType[v.RsCalendarId]
|
|
|
|
+
|
|
|
|
+ totalGroup, e := roadshow.GetRsCalendarMeetingLabelGroupByRsCalendarId(v.RsCalendarId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetRsCalendarMeetingLabelGroupByRsCalendarId" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ //var lebelDetail []*cygx.RaiServeTagResp
|
|
|
|
+ var label string
|
|
|
|
+ var labelArr []string
|
|
|
|
+ if totalGroup > 0 {
|
|
|
|
+ listGroup, e := roadshow.GetRsCalendarMeetingLabelGroupListByRsCalendarId(v.RsCalendarId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetRsCalendarMeetingLabelGroupByRsCalendarId" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var industrialManagementIds []int
|
|
|
|
+ var industrialSubjectIds []int
|
|
|
|
+
|
|
|
|
+ mapindustrialManagementName := make(map[int]string)
|
|
|
|
+ mapindustrialSubjectName := make(map[int]string)
|
|
|
|
+ mapCelueName := make(map[int]string)
|
|
|
|
+ for _, vG := range listGroup {
|
|
|
|
+ switch vG.TagType {
|
|
|
|
+ case 1:
|
|
|
|
+ industrialManagementIds = append(industrialManagementIds, vG.TagId)
|
|
|
|
+ case 2:
|
|
|
|
+ industrialSubjectIds = append(industrialSubjectIds, vG.TagId)
|
|
|
|
+ case 3:
|
|
|
|
+ mapCelueName[vG.TagId] = "策略"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if len(industrialManagementIds) > 0 {
|
|
|
|
+ IndustryList, e := models.GetIndustryListByConditionByIds(industrialManagementIds)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetRsCalendarMeetingLabelGroupByRsCalendarId" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, vI := range IndustryList {
|
|
|
|
+ mapindustrialManagementName[vI.IndustrialManagementId] = vI.IndustryName
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if len(industrialSubjectIds) > 0 {
|
|
|
|
+ SubjectList, e := models.GetIndustrialSubjectDetailByIds(industrialSubjectIds)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = errors.New("GetIndustrialSubjectDetailByIds" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, vS := range SubjectList {
|
|
|
|
+ mapindustrialSubjectName[vS.IndustrialSubjectId] = vS.SubjectName
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, vG := range listGroup {
|
|
|
|
+ switch vG.TagType {
|
|
|
|
+ case 1:
|
|
|
|
+ label = mapindustrialManagementName[vG.TagId]
|
|
|
|
+ case 2:
|
|
|
|
+ label = mapindustrialSubjectName[vG.TagId]
|
|
|
|
+ case 3:
|
|
|
|
+ label = mapCelueName[vG.TagId]
|
|
|
|
+ }
|
|
|
|
+ item := new(models.WxUserRaiLabelLog)
|
|
|
|
+ item.UserId = wxUser.UserId
|
|
|
|
+ item.RealName = wxUser.RealName
|
|
|
|
+ item.Mobile = wxUser.Mobile
|
|
|
|
+ item.Email = wxUser.Email
|
|
|
|
+ item.CompanyId = wxUser.CompanyId
|
|
|
|
+ item.CompanyName = wxUser.CompanyName
|
|
|
|
+ item.Label = label
|
|
|
|
+ item.SourceType = sourceType
|
|
|
|
+ item.SourceId = v.RsCalendarId
|
|
|
|
+ item.CreateTime = v.CreateTime
|
|
|
|
+ item.ModifyTime = time.Now()
|
|
|
|
+ //item.RegisterPlatform = log.RegisterPlatform
|
|
|
|
+ item.TableName = ""
|
|
|
|
+ items = append(items, item)
|
|
|
|
+ labelArr = append(labelArr, label)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("items", len(items))
|
|
|
|
+
|
|
|
|
+ var itemsAdd []*models.WxUserRaiLabelLog
|
|
|
|
+ if len(items) > 0 {
|
|
|
|
+ for _, v := range items {
|
|
|
|
+ itemsAdd = append(itemsAdd, v)
|
|
|
|
+ if len(items)%2000 == 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(items)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ itemsAdd = make([]*models.WxUserRaiLabelLog, 0)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if len(itemsAdd) > 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelLogMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("endAddWxUserRaiLabelLogMultiInit")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func initCrm16_5wx_user_rai_label() {
|
|
|
|
+
|
|
|
|
+ listAll, err := models.GetWxUserRaiLabelLogAll()
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ mapMobileLabel := make(map[string]bool)
|
|
|
|
+ var items []*models.WxUserRaiLabel
|
|
|
|
+ for _, v := range listAll {
|
|
|
|
+ if mapMobileLabel[fmt.Sprint(v.Mobile, "__", v.Label)] {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ item := new(models.WxUserRaiLabel)
|
|
|
|
+ item.UserId = v.UserId
|
|
|
|
+ item.RealName = v.RealName
|
|
|
|
+ item.Mobile = v.Mobile
|
|
|
|
+ item.Email = v.Email
|
|
|
|
+ item.CompanyId = v.CompanyId
|
|
|
|
+ item.CompanyName = v.CompanyName
|
|
|
|
+ item.Label = v.Label
|
|
|
|
+ item.SourceId = v.SourceId
|
|
|
|
+ item.SourceType = v.SourceType
|
|
|
|
+ item.CreateTime = v.CreateTime
|
|
|
|
+ item.ModifyTime = v.ModifyTime
|
|
|
|
+ item.RegisterPlatform = v.RegisterPlatform
|
|
|
|
+ item.TableName = v.TableName
|
|
|
|
+ items = append(items, item)
|
|
|
|
+
|
|
|
|
+ mapMobileLabel[fmt.Sprint(v.Mobile, "__", v.Label)] = true
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var itemsAdd []*models.WxUserRaiLabel
|
|
|
|
+ if len(items) > 0 {
|
|
|
|
+ for _, v := range items {
|
|
|
|
+ itemsAdd = append(itemsAdd, v)
|
|
|
|
+ if len(items)%2000 == 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelMultiInit(items)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ itemsAdd = make([]*models.WxUserRaiLabel, 0)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if len(itemsAdd) > 0 {
|
|
|
|
+ err = models.AddWxUserRaiLabelMultiInit(itemsAdd)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fmt.Println("endAddWxUserRaiLabelLogMultiInit")
|
|
|
|
+}
|