|
@@ -597,8 +597,96 @@ func ReportSelectionWxUserRaiLabelRedisAddReduce(log models.WxUserRaiLabelRedis)
|
|
|
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
|
|
|
+}
|
|
|
+
|
|
|
//func init() {
|
|
|
-// initCrm16_5Activity()
|
|
|
+// //fmt.Println(GetArticlelabelArrByArticleId(11037))
|
|
|
+// //initCrm16_5Article2()
|
|
|
//}
|
|
|
|
|
|
func initCrm16_5keyWord() {
|
|
@@ -803,6 +891,232 @@ func initCrm16_5Activity() {
|
|
|
}
|
|
|
fmt.Println(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 {
|
|
|
+ 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 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 == "" {
|
|
|
+ item.Label = "重点推荐"
|
|
|
+ } else {
|
|
|
+ item.Label = "本周研究汇总"
|
|
|
+ }
|
|
|
+ item.SourceType = 8
|
|
|
+ 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 {
|