|
@@ -38,7 +38,8 @@ func InitJobManager() *JobManager {
|
|
|
)
|
|
|
|
|
|
job := &JobManager{
|
|
|
- payUser: gmap.New(true),
|
|
|
+ payUser: gmap.New(true),
|
|
|
+ register: gmap.New(true),
|
|
|
}
|
|
|
job.LoadLastRun()
|
|
|
|
|
@@ -55,7 +56,7 @@ func InitJobManager() *JobManager {
|
|
|
|
|
|
job.LoadPayUser()
|
|
|
job.LoadAgainSubUser()
|
|
|
- job.LoadBindPhoneUser()
|
|
|
+ //job.LoadBindPhoneUser()
|
|
|
}, "bindPhoneAndSubAgain")
|
|
|
if err != nil {
|
|
|
panic(err)
|
|
@@ -129,35 +130,23 @@ func (jm *JobManager) FilterPayUserAndSaveDb(ctx context.Context, value interfac
|
|
|
if jm.payUser.Contains(msg.MgoUserID) {
|
|
|
return nil
|
|
|
}
|
|
|
- registerDate, phone := jm.GetAndCacheRegisterDate(msg.MgoUserID)
|
|
|
- if registerDate == "" {
|
|
|
- return nil
|
|
|
- }
|
|
|
operationTime = time.Unix(msg.TimeStamp, 0).Format(time.DateTime)
|
|
|
- sql += `(mogUserId,register_time,phone,sub_again_date,create_time)VALUES (?,?,?,?,?)ON DUPLICATE KEY UPDATE sub_again_date=?`
|
|
|
- val = append(val, msg.MgoUserID, registerDate, phone, operationTime, now, operationTime)
|
|
|
+ sql += `(mogUserId,register_time,sub_again_date,create_time)VALUES (?,?,?,?)ON DUPLICATE KEY UPDATE sub_again_date=?`
|
|
|
+ val = append(val, msg.MgoUserID, jm.GetAndCacheRegisterDate(msg.MgoUserID), operationTime, now, operationTime)
|
|
|
} else if msg, ok := value.(*public.BindMsg); ok {
|
|
|
if jm.payUser.Contains(msg.MgoUserID) {
|
|
|
return nil
|
|
|
}
|
|
|
- registerDate, _ := jm.GetAndCacheRegisterDate(msg.MgoUserID)
|
|
|
- if registerDate == "" {
|
|
|
- return nil
|
|
|
- }
|
|
|
operationTime = time.Unix(msg.TimeStamp, 0).Format(time.DateTime)
|
|
|
sql += `(mogUserId,register_time,phone,bind_phone_date,create_time)VALUES (?,?,?,?,?)ON DUPLICATE KEY UPDATE phone=?, bind_phone_date=?`
|
|
|
- val = append(val, msg.MgoUserID, registerDate, msg.Phone, operationTime, now, msg.Phone, operationTime)
|
|
|
+ val = append(val, msg.MgoUserID, jm.GetAndCacheRegisterDate(msg.MgoUserID), msg.Phone, operationTime, now, msg.Phone, operationTime)
|
|
|
} else if msg, ok := value.(*public.NewActiveMsg); ok {
|
|
|
if jm.payUser.Contains(msg.MgoUserID) {
|
|
|
return nil
|
|
|
}
|
|
|
- registerDate, phone := jm.GetAndCacheRegisterDate(msg.MgoUserID)
|
|
|
- if registerDate == "" {
|
|
|
- return nil
|
|
|
- }
|
|
|
operationTime = time.Unix(msg.TimeStamp, 0).Format(time.DateTime)
|
|
|
- sql += `(mogUserId,register_time,phone,act_again_date,create_time)VALUES (?,?,?,?,?)ON DUPLICATE KEY UPDATE act_again_date=?`
|
|
|
- val = append(val, msg.MgoUserID, registerDate, phone, operationTime, now, operationTime)
|
|
|
+ sql += `(mogUserId,register_time,act_again_date,create_time)VALUES (?,?,?,?)ON DUPLICATE KEY UPDATE act_again_date=?`
|
|
|
+ val = append(val, msg.MgoUserID, jm.GetAndCacheRegisterDate(msg.MgoUserID), operationTime, now, operationTime)
|
|
|
} else {
|
|
|
return fmt.Errorf("未知类型")
|
|
|
}
|
|
@@ -169,18 +158,15 @@ func (jm *JobManager) FilterPayUserAndSaveDb(ctx context.Context, value interfac
|
|
|
}
|
|
|
|
|
|
// GetAndCacheRegisterDate 获取缓存用户注册时间
|
|
|
-func (jm *JobManager) GetAndCacheRegisterDate(mgoUserId string) (registerDate, phone string) {
|
|
|
- rMap, _ := db.MG.DB().FindById("user", mgoUserId, `{"l_registedate":1,"s_phone":1,"s_m_phone":1}`)
|
|
|
- if rMap == nil || len(*rMap) == 0 {
|
|
|
- return
|
|
|
+func (jm *JobManager) GetAndCacheRegisterDate(mgoUserId string) string {
|
|
|
+ if registerDate := gconv.String(jm.register.Get(mgoUserId)); registerDate != "" {
|
|
|
+ return registerDate
|
|
|
}
|
|
|
- if tPhone := gconv.String((*rMap)["s_phone"]); tPhone != "" {
|
|
|
- phone = tPhone
|
|
|
- } else {
|
|
|
- if ttPhone := gconv.String((*rMap)["s_m_phone"]); ttPhone != "" {
|
|
|
- phone = ttPhone
|
|
|
- }
|
|
|
+ rMap, _ := db.MG.DB().FindById("user", mgoUserId, `{"l_registedate":1}`)
|
|
|
+ if rMap == nil || len(*rMap) == 0 {
|
|
|
+ return ""
|
|
|
}
|
|
|
- registerDate = time.Unix(gconv.Int64((*rMap)["l_registedate"]), 0).Format(time.DateTime)
|
|
|
- return
|
|
|
+ date := time.Unix(gconv.Int64((*rMap)["l_registedate"]), 0).Format(time.DateTime)
|
|
|
+ jm.register.Set(mgoUserId, date)
|
|
|
+ return date
|
|
|
}
|