|
@@ -3,7 +3,6 @@ package model
|
|
import (
|
|
import (
|
|
"encoding/json"
|
|
"encoding/json"
|
|
"fmt"
|
|
"fmt"
|
|
- "go.mongodb.org/mongo-driver/bson"
|
|
|
|
IC "jyBXSubscribe/rpc/init"
|
|
IC "jyBXSubscribe/rpc/init"
|
|
ms "jyBXSubscribe/rpc/model/service"
|
|
ms "jyBXSubscribe/rpc/model/service"
|
|
"jyBXSubscribe/rpc/type/bxsubscribe"
|
|
"jyBXSubscribe/rpc/type/bxsubscribe"
|
|
@@ -14,6 +13,8 @@ import (
|
|
"sync"
|
|
"sync"
|
|
"time"
|
|
"time"
|
|
|
|
|
|
|
|
+ "go.mongodb.org/mongo-driver/bson"
|
|
|
|
+
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
|
|
|
|
"app.yhyue.com/moapp/jybase/common"
|
|
"app.yhyue.com/moapp/jybase/common"
|
|
@@ -346,7 +347,7 @@ func (s *subscribePush) Datas(spqp *SubPushQueryParam, bsp *ViewCondition) (hasN
|
|
// 返回信息补正文
|
|
// 返回信息补正文
|
|
if subPush != nil && len(subPush.Datas) > 0 {
|
|
if subPush != nil && len(subPush.Datas) > 0 {
|
|
if strings.Contains(strings.Join(bsp.SelectType, ","), "detail") {
|
|
if strings.Contains(strings.Join(bsp.SelectType, ","), "detail") {
|
|
- getDetail(subPush)
|
|
|
|
|
|
+ getDetail(spqp.Mgo_bidding, spqp.Bidding, spqp.Bidding_back, subPush)
|
|
} else {
|
|
} else {
|
|
for _, data := range subPush.Datas {
|
|
for _, data := range subPush.Datas {
|
|
data.Detail = "" // 删掉正文
|
|
data.Detail = "" // 删掉正文
|
|
@@ -391,7 +392,7 @@ func (s *subscribePush) Datas(spqp *SubPushQueryParam, bsp *ViewCondition) (hasN
|
|
// 返回信息补正文
|
|
// 返回信息补正文
|
|
if allCache != nil && len(allCache.Datas) > 0 {
|
|
if allCache != nil && len(allCache.Datas) > 0 {
|
|
if strings.Contains(strings.Join(bsp.SelectType, ","), "detail") {
|
|
if strings.Contains(strings.Join(bsp.SelectType, ","), "detail") {
|
|
- getDetail(allCache)
|
|
|
|
|
|
+ getDetail(spqp.Mgo_bidding, spqp.Bidding, spqp.Bidding_back, allCache)
|
|
} else {
|
|
} else {
|
|
for _, data := range allCache.Datas {
|
|
for _, data := range allCache.Datas {
|
|
data.Detail = "" // 删掉正文
|
|
data.Detail = "" // 删掉正文
|
|
@@ -938,6 +939,35 @@ func (s *subscribePush) GetInfoByIds(Mgo_bidding mongodb.MongodbSim, bidding, bi
|
|
m[v.InfoId] = true
|
|
m[v.InfoId] = true
|
|
ids = append(ids, v.InfoId)
|
|
ids = append(ids, v.InfoId)
|
|
}
|
|
}
|
|
|
|
+ infos := getInfosByIds(Mgo_bidding, bidding, bidding_back, isDetail, ids)
|
|
|
|
+ for k, v := range pushCas {
|
|
|
|
+ info := infos[v.InfoId]
|
|
|
|
+ if info == nil {
|
|
|
|
+ info = map[string]interface{}{}
|
|
|
|
+ }
|
|
|
|
+ array[k] = s.InfoFormat(v, &info, isPay, isDetail)
|
|
|
|
+ }
|
|
|
|
+ return array
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func getDetail(Mgo_bidding mongodb.MongodbSim, bidding, bidding_back string, subPush *SubPush) {
|
|
|
|
+ var ids []string
|
|
|
|
+ for _, data := range subPush.Datas {
|
|
|
|
+ id := encrypt.DecodeArticleId2ByCheck(data.XId)
|
|
|
|
+ ids = append(ids, id[0])
|
|
|
|
+ }
|
|
|
|
+ infos := getInfosByIds(Mgo_bidding, bidding, bidding_back, true, ids)
|
|
|
|
+ for _, data := range subPush.Datas {
|
|
|
|
+ id := encrypt.DecodeArticleId2ByCheck(data.XId)
|
|
|
|
+ if infos[id[0]] == nil {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ data.Detail = common.ObjToString(infos[id[0]]["detail"])
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+func getInfosByIds(Mgo_bidding mongodb.MongodbSim, bidding, bidding_back string, isDetail bool, ids []string) map[string]map[string]interface{} {
|
|
infos := map[string]map[string]interface{}{}
|
|
infos := map[string]map[string]interface{}{}
|
|
//redis
|
|
//redis
|
|
pool := make(chan bool, 3)
|
|
pool := make(chan bool, 3)
|
|
@@ -966,8 +996,6 @@ func (s *subscribePush) GetInfoByIds(Mgo_bidding mongodb.MongodbSim, bidding, bi
|
|
}(vv)
|
|
}(vv)
|
|
}
|
|
}
|
|
wait.Wait()
|
|
wait.Wait()
|
|
-
|
|
|
|
- log.Println("ESSSS")
|
|
|
|
//elasticsearch
|
|
//elasticsearch
|
|
if len(es_ids) > 0 {
|
|
if len(es_ids) > 0 {
|
|
list := elastic.Get("bidding", "bidding", fmt.Sprintf(common.If(isDetail, query1, query).(string), strings.Join(es_ids, `","`), len(es_ids)))
|
|
list := elastic.Get("bidding", "bidding", fmt.Sprintf(common.If(isDetail, query1, query).(string), strings.Join(es_ids, `","`), len(es_ids)))
|
|
@@ -978,7 +1006,6 @@ func (s *subscribePush) GetInfoByIds(Mgo_bidding mongodb.MongodbSim, bidding, bi
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- log.Println("mongodb")
|
|
|
|
//mongodb bidding
|
|
//mongodb bidding
|
|
mgo_ids := []primitive.ObjectID{}
|
|
mgo_ids := []primitive.ObjectID{}
|
|
for _, v := range es_ids {
|
|
for _, v := range es_ids {
|
|
@@ -997,7 +1024,6 @@ func (s *subscribePush) GetInfoByIds(Mgo_bidding mongodb.MongodbSim, bidding, bi
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- log.Println("bidding_back")
|
|
|
|
//mongodb bidding_back
|
|
//mongodb bidding_back
|
|
mgo_back_ids := []primitive.ObjectID{}
|
|
mgo_back_ids := []primitive.ObjectID{}
|
|
for _, v := range mgo_ids {
|
|
for _, v := range mgo_ids {
|
|
@@ -1015,35 +1041,7 @@ func (s *subscribePush) GetInfoByIds(Mgo_bidding mongodb.MongodbSim, bidding, bi
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- for k, v := range pushCas {
|
|
|
|
- info := infos[v.InfoId]
|
|
|
|
- if info == nil {
|
|
|
|
- info = map[string]interface{}{}
|
|
|
|
- }
|
|
|
|
- array[k] = s.InfoFormat(v, &info, isPay, isDetail)
|
|
|
|
- }
|
|
|
|
- return array
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func getDetail(subPush *SubPush) {
|
|
|
|
- var ids []string
|
|
|
|
- rmap := make(map[string]*bxsubscribe.SubscribeInfo, len(subPush.Datas))
|
|
|
|
- for _, data := range subPush.Datas {
|
|
|
|
- id := encrypt.DecodeArticleId2ByCheck(data.XId)
|
|
|
|
- ids = append(ids, id[0])
|
|
|
|
- rmap[id[0]] = data
|
|
|
|
- }
|
|
|
|
- list := elastic.Get("bidding", "bidding", fmt.Sprintf(query2, strings.Join(ids, `","`), len(ids)))
|
|
|
|
- if list != nil {
|
|
|
|
- for _, v := range *list {
|
|
|
|
- _id := common.ObjToString(v["_id"])
|
|
|
|
- rmap[_id].Detail = common.ObjToString(v["detail"])
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- subPush.Datas = nil
|
|
|
|
- for _, info := range rmap {
|
|
|
|
- subPush.Datas = append(subPush.Datas, info)
|
|
|
|
- }
|
|
|
|
|
|
+ return infos
|
|
}
|
|
}
|
|
|
|
|
|
// 获取历史推送
|
|
// 获取历史推送
|