소스 검색

Merge branch 'dev/v1.1.49_wjh' of BaseService/jyMicroservices into feature/v1.1.49

wangjianghan 1 년 전
부모
커밋
fd50029705
1개의 변경된 파일26개의 추가작업 그리고 0개의 파일을 삭제
  1. 26 0
      jyBXSubscribe/rpc/model/push.go

+ 26 - 0
jyBXSubscribe/rpc/model/push.go

@@ -33,6 +33,7 @@ const (
 	AllSubPushCacheSize = 200
 	query               = `{"query":{"terms":{"_id":["%s"]}},"_source":["_id","area","city", "publishtime", "s_subscopeclass", "subtype", "title", "toptype", "type", "buyerclass","bidamount","budget","projectname","buyer","bidopentime","s_winner","filetext","spidercode","site","buyertel","buyerperson","agency","agencyperson","agencytel","winnerperson","winnertel","signendtime","bidendtime","entidlist","isValidFile"],"from":0,"size":%d}`
 	query1              = `{"query":{"terms":{"_id":["%s"]}},"_source":["_id","area","city", "publishtime", "s_subscopeclass", "subtype", "title", "toptype", "type", "buyerclass","bidamount","budget","projectname","buyer","bidopentime","s_winner","filetext","spidercode","site","buyertel","buyerperson","agency","agencyperson","agencytel","winnerperson","winnertel","signendtime","bidendtime","entidlist","isValidFile", "detail"],"from":0,"size":%d}`
+	query2              = `{"query":{"terms":{"_id":["%s"]}},"_source":["_id","title", "detail"],"from":0,"size":%d}`
 	mongodb_fields      = `{"_id":1,"area":1,"publishtime":1,"s_subscopeclass":1,"subtype":1,"title":1,"toptype":1,"type":1, "city":1,"buyerclass":1,"budget":1,"bidamount":1,"s_winner":1,"bidopentime":1,"buyer":1,"projectname":1,"filetext":1,"spidercode":1,"site":1,"buyertel":1,"buyerperson":1,"agency":1,"agencyperson":1,"agencytel":1,"winnerperson":1,"winnertel":1,"signendtime":1,"bidendtime":1,"entidlist":1,"isValidFile":1}`
 	mongodb_fields1     = `{"_id":1,"area":1,"publishtime":1,"s_subscopeclass":1,"subtype":1,"title":1,"toptype":1,"type":1, "city":1,"buyerclass":1,"budget":1,"bidamount":1,"s_winner":1,"bidopentime":1,"buyer":1,"projectname":1,"filetext":1,"spidercode":1,"site":1,"buyertel":1,"buyerperson":1,"agency":1,"agencyperson":1,"agencytel":1,"winnerperson":1,"winnertel":1,"signendtime":1,"bidendtime":1,"entidlist":1,"isValidFile":1, "detail": 1}`
 
@@ -342,6 +343,10 @@ func (s *subscribePush) Datas(spqp *SubPushQueryParam, bsp *ViewCondition) (hasN
 		if spqp.IsEnt == false {
 			subPush, err = s.GetTodayCache(spqp.UserId, spqp.UserType)
 		}
+		// 返回信息补正文
+		if subPush != nil && len(subPush.Datas) > 0 && strings.Contains(strings.Join(bsp.SelectType, ","), "detail") {
+			getDetail(subPush)
+		}
 		if err != nil {
 			logx.Info(spqp.UserId, "GetTodayCache Error", err)
 		}
@@ -1004,6 +1009,27 @@ func (s *subscribePush) GetInfoByIds(Mgo_bidding mongodb.MongodbSim, bidding, bi
 	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)
+	}
+}
+
 // 获取历史推送
 func (s *subscribePush) GetJyPushs(datas []map[string]interface{}) (pushCas []*PushCa) {
 	pushCas = []*PushCa{}