|
@@ -76,16 +76,12 @@ func (ua *UserAnalysis) mgoUserRange(ctx context.Context) {
|
|
}
|
|
}
|
|
|
|
|
|
func (ua *UserAnalysis) mgoEntUserRange(ctx context.Context) {
|
|
func (ua *UserAnalysis) mgoEntUserRange(ctx context.Context) {
|
|
- if len(ua.UserMapping) == 0 {
|
|
|
|
|
|
+ if len(ua.UserMapping) == 0 || len(ua.EntUserIdMapping) == 0 {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
sess := common.MG.DB().GetMgoConn()
|
|
sess := common.MG.DB().GetMgoConn()
|
|
defer common.MG.DB().DestoryMongoConn(sess)
|
|
defer common.MG.DB().DestoryMongoConn(sess)
|
|
|
|
|
|
- var (
|
|
|
|
- Vip, Vip15, Vip30 = map[int64]bool{}, map[int64]bool{}, map[int64]bool{}
|
|
|
|
- Member, MemberExpire = map[int64]bool{}, map[int64]bool{}
|
|
|
|
- )
|
|
|
|
//企业身份
|
|
//企业身份
|
|
it := sess.DB("qfw").C("ent_user").Find(nil).Select(g.Map{"i_userid": 1, "l_registedate": 1, "i_vip_status": 1, "l_vip_endtime": 1, "i_member_status": 1}).Iter()
|
|
it := sess.DB("qfw").C("ent_user").Find(nil).Select(g.Map{"i_userid": 1, "l_registedate": 1, "i_vip_status": 1, "l_vip_endtime": 1, "i_member_status": 1}).Iter()
|
|
var (
|
|
var (
|
|
@@ -100,84 +96,30 @@ func (ua *UserAnalysis) mgoEntUserRange(ctx context.Context) {
|
|
var (
|
|
var (
|
|
entUserId = gconv.Int64(m["i_userid"])
|
|
entUserId = gconv.Int64(m["i_userid"])
|
|
)
|
|
)
|
|
|
|
+ baseUserId, ok := ua.EntUserIdMapping[entUserId]
|
|
|
|
+ if !ok {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
//超级订阅用户处理
|
|
//超级订阅用户处理
|
|
if vip_status := gconv.Int(m["i_vip_status"]); vip_status > 0 {
|
|
if vip_status := gconv.Int(m["i_vip_status"]); vip_status > 0 {
|
|
- Vip[entUserId] = true
|
|
|
|
|
|
+ ua.Vip[baseUserId] = true
|
|
|
|
+
|
|
if timeStamp := gconv.Int64(m["l_vip_endtime"]); timeStamp > 0 {
|
|
if timeStamp := gconv.Int64(m["l_vip_endtime"]); timeStamp > 0 {
|
|
var vip_endtime = time.Unix(timeStamp, 0)
|
|
var vip_endtime = time.Unix(timeStamp, 0)
|
|
if vip_endtime.AddDate(0, 0, -15).Before(now) {
|
|
if vip_endtime.AddDate(0, 0, -15).Before(now) {
|
|
- Vip15[entUserId] = true
|
|
|
|
|
|
+ ua.Vip15[baseUserId] = true
|
|
}
|
|
}
|
|
if vip_endtime.AddDate(0, 0, -30).Before(now) {
|
|
if vip_endtime.AddDate(0, 0, -30).Before(now) {
|
|
- Vip30[entUserId] = true
|
|
|
|
|
|
+ ua.Vip30[baseUserId] = true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//大会员处理
|
|
//大会员处理
|
|
if member_status := gconv.Int(m["i_member_status"]); member_status > 0 {
|
|
if member_status := gconv.Int(m["i_member_status"]); member_status > 0 {
|
|
- Member[entUserId] = true
|
|
|
|
- } else if member_status != 0 {
|
|
|
|
- MemberExpire[entUserId] = true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- g.Log().Infof(ctx, "MgoUserRange 加载%d挑数据完成", index)
|
|
|
|
- //根据entUserId获取
|
|
|
|
- baseUserIdMapping := func() map[int64]BaseUserId {
|
|
|
|
- var (
|
|
|
|
- all = map[int64]bool{}
|
|
|
|
- rData = map[int64]BaseUserId{}
|
|
|
|
- )
|
|
|
|
- for i, _ := range Member {
|
|
|
|
- all[i] = true
|
|
|
|
- }
|
|
|
|
- for i, _ := range Vip {
|
|
|
|
- all[i] = true
|
|
|
|
- }
|
|
|
|
- doQuery := func(entUserId []int64) map[int64]BaseUserId {
|
|
|
|
- return nil
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- var query []int64
|
|
|
|
- for i, _ := range all {
|
|
|
|
- query = append(query, i)
|
|
|
|
- if i >= 500 {
|
|
|
|
- for m, n := range doQuery(query) {
|
|
|
|
- rData[m] = n
|
|
|
|
- }
|
|
|
|
- query = []int64{}
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if len(query) > 0 {
|
|
|
|
- for m, n := range doQuery(query) {
|
|
|
|
- rData[m] = n
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return rData
|
|
|
|
- }()
|
|
|
|
- //Vip, Vip15, Vip30
|
|
|
|
- for entId, _ := range Vip {
|
|
|
|
- if baseUserId, ok := baseUserIdMapping[entId]; ok {
|
|
|
|
- ua.Vip[baseUserId] = true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- for entId, _ := range Vip15 {
|
|
|
|
- if baseUserId, ok := baseUserIdMapping[entId]; ok {
|
|
|
|
- ua.Vip15[baseUserId] = true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- for entId, _ := range Vip30 {
|
|
|
|
- if baseUserId, ok := baseUserIdMapping[entId]; ok {
|
|
|
|
- ua.Vip30[baseUserId] = true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- for entId, _ := range Member {
|
|
|
|
- if baseUserId, ok := baseUserIdMapping[entId]; ok {
|
|
|
|
ua.Member[baseUserId] = true
|
|
ua.Member[baseUserId] = true
|
|
- }
|
|
|
|
- }
|
|
|
|
- for entId, _ := range MemberExpire {
|
|
|
|
- if baseUserId, ok := baseUserIdMapping[entId]; ok {
|
|
|
|
|
|
+ } else if member_status != 0 {
|
|
ua.MemberExpire[baseUserId] = true
|
|
ua.MemberExpire[baseUserId] = true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ g.Log().Infof(ctx, "MgoUserRange 加载%d挑数据完成", index)
|
|
}
|
|
}
|