|
@@ -65,11 +65,23 @@ func NilCheck(c *CheckJYUser) {
|
|
|
|
|
|
func (c *CheckJYUser) Init() {
|
|
|
//load mgo data into cache
|
|
|
+ log.Println("load wx user start!")
|
|
|
+ err := c.GetWxUser("")
|
|
|
+ checkTime := time.Now().Unix()
|
|
|
+ if err != nil {
|
|
|
+ log.Println("wx load err ,check exit.")
|
|
|
+ c.binit = false
|
|
|
+ return
|
|
|
+ }
|
|
|
func() {
|
|
|
log.Println("load mgo user start!")
|
|
|
sess := tools.MQFW.GetMgoConn()
|
|
|
defer tools.MQFW.DestoryMongoConn(sess)
|
|
|
- q := &map[string]interface{}{"i_appid": 2}
|
|
|
+ q := &map[string]interface{}{
|
|
|
+ "i_appid": 2,
|
|
|
+ "l_registedate": map[string]interface{}{
|
|
|
+ "$lte": checkTime,
|
|
|
+ }}
|
|
|
sum := tools.MQFW.Count("user", q)
|
|
|
it := sess.DB(tools.MQFW.DbName).C("user").Find(q).Select(&map[string]interface{}{
|
|
|
"s_m_openid": 1,
|
|
@@ -85,21 +97,14 @@ func (c *CheckJYUser) Init() {
|
|
|
}
|
|
|
c.MgoMap[util.ObjToString(tmp["s_m_openid"])] = ipush
|
|
|
}
|
|
|
- if c.MgoTotal >= sum && c.MgoXTotal > 10 {
|
|
|
+ if c.MgoTotal >= sum-5 && c.MgoXTotal > 67000 && sum > 67000 {
|
|
|
c.binit = true
|
|
|
}
|
|
|
log.Println("load mgo user success!")
|
|
|
}()
|
|
|
|
|
|
func() {
|
|
|
- log.Println("load wx user start!")
|
|
|
- err := c.GetWxUser("")
|
|
|
- if err != nil {
|
|
|
- log.Println("wx load err ,check exit.")
|
|
|
- c.binit = false
|
|
|
- return
|
|
|
- }
|
|
|
- if c.WxTotal < 10 || math.Abs(float64(c.WxTotal-c.MgoXTotal)) > 500 || math.Abs(float64(len(c.WxMap)-c.WxTotal)) > 20 {
|
|
|
+ if c.WxTotal < 67000 || math.Abs(float64(c.WxTotal-c.MgoXTotal)) > 1500 || math.Abs(float64(len(c.WxMap)-c.WxTotal)) > 20 {
|
|
|
c.binit = false
|
|
|
log.Println("load wx user failed!")
|
|
|
} else {
|
|
@@ -132,8 +137,13 @@ func (c *CheckJYUser) CheckAndRepair() {
|
|
|
for k, v := range c.WxToMgo {
|
|
|
if v == 0 {
|
|
|
//create user
|
|
|
- user, _ := Mux.GetUserInfo(k)
|
|
|
- saveUser(user, "-10")
|
|
|
+ user, err := Mux.GetUserInfo(k)
|
|
|
+ if err != nil {
|
|
|
+ log.Println("获取用户出错", k, err)
|
|
|
+ } else {
|
|
|
+ log.Println("获取用户", k, user)
|
|
|
+ saveUser(user, "-10")
|
|
|
+ }
|
|
|
} else {
|
|
|
//change user ispush
|
|
|
tools.MQFW.Update("user", "{'s_m_openid':'"+k+"'}", &map[string]interface{}{"$set": &map[string]interface{}{"i_ispush": 1}}, false, false)
|