wcj 5 years ago
parent
commit
81f605ec40
1 changed files with 2 additions and 103 deletions
  1. 2 103
      src/jfw/modules/subscribepay/src/service/index_p1.go

+ 2 - 103
src/jfw/modules/subscribepay/src/service/index_p1.go

@@ -14,7 +14,6 @@ import (
 	"util"
 
 	"github.com/go-xweb/xweb"
-	"gopkg.in/mgo.v2/bson"
 )
 
 type IndexSearch struct {
@@ -300,110 +299,10 @@ func getPushHistory(userId string) (result []*jy.SubPushList) {
 	findSQL := "select * from pushsubscribe where userid = '" + userId + "'  and date >= %d order by id desc limit 50"
 	list := util.PushMysql.SelectBySql(fmt.Sprintf(findSQL, time.Now().AddDate(0, 0, -7).Unix()))
 	if len(*list) > 0 {
-		pushCas := getJyPushs(*list)
-		result = getInfoByIds(pushCas)
+		pushCas := jy.SubscribePush.GetJyPushs(*list)
+		result = jy.SubscribePush.GetInfoByIds(util.MQFW, pushCas)
 	} else {
 		result = []*jy.SubPushList{}
 	}
 	return
 }
-
-func getJyPushs(datas []map[string]interface{}) (pushCas []*jy.PushCa) {
-	pushCas = []*jy.PushCa{}
-	for _, v := range datas {
-		pushCas = append(pushCas, &jy.PushCa{
-			Date:   qutil.Int64All(v["date"]),
-			InfoId: qutil.ObjToString(v["infoid"]),
-			Visit:  qutil.IntAll(v["isvisit"]),
-			Index:  1,
-			Keys:   strings.Split(qutil.ObjToString(v["matchkeys"]), " "),
-			Type:   qutil.IntAll(v["type"]),
-		})
-	}
-	return
-}
-
-//根据id取内容
-func getInfoByIds(pushCas []*jy.PushCa) []*jy.SubPushList {
-	array := make([]*jy.SubPushList, len(pushCas))
-	if len(pushCas) == 0 {
-		return array
-	}
-	m := map[string]bool{}
-	ids := []string{}
-	for _, v := range pushCas {
-		if m[v.InfoId] {
-			continue
-		}
-		m[v.InfoId] = true
-		ids = append(ids, v.InfoId)
-	}
-	infos := map[string]map[string]interface{}{}
-	//redis
-	es_ids := []string{}
-	//	log.Println("---:", ids)
-	for _, v := range ids {
-		info_i := redis.Get("pushcache_1", fmt.Sprintf("info_%s", v))
-		if info_i != nil {
-			info_m, _ := info_i.(map[string]interface{})
-			info_m["_id"] = v
-			infos[v] = info_m
-		} else {
-			es_ids = append(es_ids, v)
-		}
-	}
-	//	log.Println(es_ids)
-	//elasticsearch
-	if len(es_ids) > 0 {
-		list := elastic.Get("bidding", "bidding", fmt.Sprintf(query_ids, strings.Join(es_ids, `","`), len(es_ids)))
-		if list != nil {
-			for _, v := range *list {
-				_id := qutil.ObjToString(v["_id"])
-				infos[_id] = v
-			}
-		}
-	}
-	//mongodb bidding
-	mgo_ids := []bson.ObjectId{}
-	for _, v := range es_ids {
-		if infos[v] == nil {
-			mgo_ids = append(mgo_ids, bson.ObjectIdHex(v))
-		}
-	}
-	if len(mgo_ids) > 0 {
-		list, ok := util.MQFW.Find("bidding", map[string]interface{}{"_id": map[string]interface{}{"$in": mgo_ids}}, nil, mongodb_fields, false, -1, -1)
-		if ok && *list != nil {
-			for _, v := range *list {
-				_id := qutil.BsonIdToSId(v["_id"])
-				v["_id"] = _id
-				infos[_id] = v
-			}
-		}
-	}
-	//mongodb bidding_back
-	mgo_back_ids := []bson.ObjectId{}
-	for _, v := range mgo_ids {
-		if infos[qutil.BsonIdToSId(v)] == nil {
-			mgo_back_ids = append(mgo_back_ids, v)
-		}
-	}
-	if len(mgo_back_ids) > 0 {
-		list, ok := util.MQFW.Find("bidding_back", map[string]interface{}{"_id": map[string]interface{}{"$in": mgo_back_ids}}, nil, mongodb_fields, false, -1, -1)
-		if ok && *list != nil {
-			for _, v := range *list {
-				_id := qutil.BsonIdToSId(v["_id"])
-				v["_id"] = _id
-				infos[_id] = v
-			}
-		}
-	}
-	//
-	for k, v := range pushCas {
-		info := infos[v.InfoId]
-		if info == nil {
-			continue
-		}
-		array[k] = jy.SubscribePush.InfoFormat(v, &info)
-	}
-	return array
-}