wkyuer 1 月之前
父节点
当前提交
3feb23d3fb
共有 2 个文件被更改,包括 35 次插入19 次删除
  1. 29 13
      userSign/userAnalysis/analysisManager.go
  2. 6 6
      userSign/userAnalysis/telemarketing.go

+ 29 - 13
userSign/userAnalysis/analysisManager.go

@@ -11,10 +11,12 @@ import (
 
 type (
 	UserAnalysis struct {
-		UserMapping      map[string]BaseUserId //职位id、mongouserId对应的baseUserId
-		ClubMap          map[string]BaseUserId //电销线索
-		EntUserIdMapping map[int64]BaseUserId  //ent_id对应的baseUserId
-		FullBaseUserId   map[BaseUserId]bool   //全量BaseUserId
+		UserMapping map[string]BaseUserId //职位id、mongouserId对应的baseUserId
+		//BaseUserClubMap          map[string]BaseUserId //电销线索
+		TelemarketingBaseUserMap map[string]BaseUserId //电销线索
+
+		EntUserIdMapping map[int64]BaseUserId //ent_id对应的baseUserId
+		FullBaseUserId   map[BaseUserId]bool  //全量BaseUserId
 
 		BinPhone, BindMail   map[BaseUserId]bool
 		Vip, Vip15, Vip30    map[BaseUserId]bool
@@ -115,11 +117,11 @@ func (ua *UserAnalysis) LoadMapping() error {
 		return err
 	}
 	var (
-		newMapping             = map[string]BaseUserId{}
-		fullBaseUserId         = map[BaseUserId]bool{}
-		phoneBaseUserIdMapping = map[string]BaseUserId{}
-		entIdBaseUserIdMapping = map[int64]BaseUserId{}
-		clubMap                = map[string]BaseUserId{}
+		newMapping               = map[string]BaseUserId{}
+		fullBaseUserId           = map[BaseUserId]bool{}
+		phoneBaseUserIdMapping   = map[string]BaseUserId{}
+		entIdBaseUserIdMapping   = map[int64]BaseUserId{}
+		telemarketingBaseUserMap = map[string]BaseUserId{}
 	)
 	for _, m := range data.List() {
 		var (
@@ -155,15 +157,29 @@ func (ua *UserAnalysis) LoadMapping() error {
 	ua.EntUserIdMapping = entIdBaseUserIdMapping
 
 	//加载线索
-	clueRes, err := g.DB("subjectdb").Query(ctx, "SELECT id,userid FROM dwd_f_crm_clue_info WHERE userid!=''")
+	dwdBaseinfoRes, err := g.DB("subjectdb").Query(ctx, "SELECT uid,base_user_id FROM dwd_f_userbase_baseinfo WHERE userid!=''")
+	if err != nil {
+		return err
+	}
+	for _, m := range dwdBaseinfoRes.List() {
+		var (
+			uid          = gconv.String(m["uid"])
+			base_user_id = BaseUserId(gconv.Int64(m["base_user_id"]))
+		)
+		if uid != "" && base_user_id != 0 {
+			telemarketingBaseUserMap[uid] = base_user_id
+		}
+	}
+
+	clueRes, err := g.DB("subjectdb").Query(ctx, "SELECT id,uid FROM dwd_f_crm_clue_info WHERE userid!=''")
 	if err != nil {
 		return err
 	}
 	for _, m := range clueRes.List() {
-		if value, ok := newMapping[gconv.String(m["userid"])]; ok {
-			clubMap[gconv.String(m["id"])] = value
+		if value, ok := telemarketingBaseUserMap[gconv.String(m["uid"])]; ok {
+			telemarketingBaseUserMap[gconv.String(m["id"])] = value
 		}
 	}
-	ua.ClubMap = clubMap
+	ua.TelemarketingBaseUserMap = telemarketingBaseUserMap
 	return nil
 }

+ 6 - 6
userSign/userAnalysis/telemarketing.go

@@ -57,7 +57,7 @@ func (ua *UserAnalysis) initTelemarketingIntended(ctx context.Context, jyT *jyTe
 			new_value = gconv.String(m["new_value"])
 			clue_id   = gconv.String(m["clue_id"])
 		)
-		if baseUserId, ok := ua.ClubMap[clue_id]; ok {
+		if baseUserId, ok := ua.TelemarketingBaseUserMap[clue_id]; ok {
 			switch new_value {
 			case "意向客户":
 				jyT.Intended30Day[baseUserId] = true
@@ -72,23 +72,23 @@ func (ua *UserAnalysis) initTelemarketingIntended(ctx context.Context, jyT *jyTe
 }
 
 func (ua *UserAnalysis) initFollowListen(ctx context.Context, jyT *jyTelemarketing, t time.Time) (err error) {
-	res, err := g.DB("subjectdb").Query(ctx, "SELECT userid FROM dwd_f_crm_clue_info WHERE trail_time >? ", t.Format(time.DateTime))
+	res, err := g.DB("subjectdb").Query(ctx, "SELECT uid FROM dwd_f_crm_clue_info WHERE trail_time >? ", t.Format(time.DateTime))
 	if err == nil {
 		for _, m := range res.List() {
 			var (
-				userId = gconv.String(m["userid"])
+				userId = gconv.String(m["uid"])
 			)
-			if baseUserId, ok := ua.UserMapping[userId]; ok {
+			if baseUserId, ok := ua.TelemarketingBaseUserMap[userId]; ok {
 				jyT.Follow7Day[baseUserId] = true
 			}
 		}
 	}
 
-	res2, err2 := g.DB("subjectdb").Query(ctx, "SELECT userid FROM dwd_f_crm_clue_info WHERE last_begin_time >? ", t.Format(time.DateTime))
+	res2, err2 := g.DB("subjectdb").Query(ctx, "SELECT uid FROM dwd_f_crm_clue_info WHERE last_begin_time >? ", t.Format(time.DateTime))
 	if err2 == nil {
 		for _, m := range res2.List() {
 			var (
-				userId = gconv.String(m["userid"])
+				userId = gconv.String(m["uid"])
 			)
 			if baseUserId, ok := ua.UserMapping[userId]; ok {
 				jyT.Listen7Day[baseUserId] = true