Просмотр исходного кода

Merge branch 'hotfix/v1.1.7.1' into master

lianbingjie 2 лет назад
Родитель
Сommit
ec8e8da120
4 измененных файлов с 182 добавлено и 240 удалено
  1. 0 1
      jyBXBase/go.mod
  2. 1 15
      jyBXBase/rpc/etc/db.yaml
  3. 5 47
      jyBXBase/rpc/init/db.go
  4. 176 177
      jyBXBase/rpc/model/newestBidding.go

+ 0 - 1
jyBXBase/go.mod

@@ -13,6 +13,5 @@ require (
 
 require (
 	bp.jydev.jianyu360.cn/BaseService/gateway v1.3.4
-	github.com/golang/protobuf v1.5.2
 	github.com/randolphcyg/gozeropprof v1.0.2
 )

+ 1 - 15
jyBXBase/rpc/etc/db.yaml

@@ -11,21 +11,7 @@ mysql:
         address: 192.168.3.217:4000
         userName: root
         password: '=PDT49#80Z!RVv52_z'
-        maxOpenConns: 5
-        maxIdleConns: 5
-    memberPush:
-        dbName: jianyu
-        address: 192.168.3.11:3366
-        userName: root
-        password: Topnet123
-        maxOpenConns: 5
-        maxIdleConns: 5
-    entnichePush:
-        dbName: jianyu
-        address: 192.168.3.11:3366
-        userName: root
-        password: Topnet123
-        maxOpenConns: 5
+        maxOpenConns: 80
         maxIdleConns: 5
 redis:
     addr:

+ 5 - 47
jyBXBase/rpc/init/db.go

@@ -15,14 +15,11 @@ import (
 )
 
 var (
-	MainMysql          *mysql.Mysql
-	PushMysql          *mysql.Mysql
-	BigmemberPushMysql *mysql.Mysql
-	EntnichePushMysql  *mysql.Mysql
-	BaseServiceMysql   *mysql.Mysql
-	Mgo                mongodb.MongodbSim
-	MgoEnt             mongodb.MongodbSim
-	MgoBidding         mongodb.MongodbSim
+	MainMysql        *mysql.Mysql
+	BaseServiceMysql *mysql.Mysql
+	Mgo              mongodb.MongodbSim
+	MgoEnt           mongodb.MongodbSim
+	MgoBidding       mongodb.MongodbSim
 )
 
 //
@@ -105,45 +102,6 @@ func MysqlInit(em *entity.Mysql) {
 		}
 		MainMysql.Init()
 	}
-	//初始化 mysql-push
-	if em.Push.Address != "" {
-		logx.Info("--初始化 push mysql--")
-		PushMysql = &mysql.Mysql{
-			Address:      em.Push.Address,
-			UserName:     em.Push.UserName,
-			PassWord:     em.Push.Password,
-			DBName:       em.Push.DbName,
-			MaxOpenConns: em.Push.MaxOpenConns,
-			MaxIdleConns: em.Push.MaxIdleConns,
-		}
-		PushMysql.Init()
-	}
-	//初始化 mysql-大会员
-	if em.MemberPush.Address != "" {
-		logx.Info("--初始化 MemberPush mysql--")
-		BigmemberPushMysql = &mysql.Mysql{
-			Address:      em.MemberPush.Address,
-			UserName:     em.MemberPush.UserName,
-			PassWord:     em.MemberPush.Password,
-			DBName:       em.MemberPush.DbName,
-			MaxOpenConns: em.MemberPush.MaxOpenConns,
-			MaxIdleConns: em.MemberPush.MaxIdleConns,
-		}
-		BigmemberPushMysql.Init()
-	}
-	//初始化 mysql-商机管理
-	if em.EntnichePush.Address != "" {
-		logx.Info("--初始化 EntnichePush mysql--")
-		EntnichePushMysql = &mysql.Mysql{
-			Address:      em.EntnichePush.Address,
-			UserName:     em.EntnichePush.UserName,
-			PassWord:     em.EntnichePush.Password,
-			DBName:       em.EntnichePush.DbName,
-			MaxOpenConns: em.EntnichePush.MaxOpenConns,
-			MaxIdleConns: em.EntnichePush.MaxIdleConns,
-		}
-		EntnichePushMysql.Init()
-	}
 	if em.BaseService.Address != "" {
 		logx.Info("--初始化 BaseServiceMysql tidb--")
 		BaseServiceMysql = &mysql.Mysql{

+ 176 - 177
jyBXBase/rpc/model/newestBidding.go

@@ -1,204 +1,203 @@
 package model
 
 import (
-        MC "app.yhyue.com/moapp/jybase/common"
-        ME "app.yhyue.com/moapp/jybase/encrypt"
-        elastic "app.yhyue.com/moapp/jybase/esv1"
-        "app.yhyue.com/moapp/jybase/mongodb"
-        "app.yhyue.com/moapp/jybase/mysql"
-        "fmt"
-        "github.com/zeromicro/go-zero/core/logx"
-        "go.mongodb.org/mongo-driver/bson/primitive"
-        "jyBXBase/rpc/bxbase"
-        IC "jyBXBase/rpc/init"
-        "log"
-        "strings"
-        "time"
+	"fmt"
+	"jyBXBase/rpc/bxbase"
+	IC "jyBXBase/rpc/init"
+	"strings"
+	"time"
+
+	MC "app.yhyue.com/moapp/jybase/common"
+	ME "app.yhyue.com/moapp/jybase/encrypt"
+	elastic "app.yhyue.com/moapp/jybase/esv1"
+	"app.yhyue.com/moapp/jybase/mongodb"
+	"app.yhyue.com/moapp/jybase/mysql"
+	"github.com/zeromicro/go-zero/core/logx"
+	"go.mongodb.org/mongo-driver/bson/primitive"
 )
 
 const (
-        search_index        = "bidding"
-        search_type         = "bidding"
-        mongodb_fields      = `{"_id":1,"area":1,"publishtime":1,"s_subscopeclass":1,"subtype":1,"title":1,"toptype":1,"type":1, "buyerclass":1,"budget":1,"bidamount":1,"s_winner":1,"bidopentime":1,"buyer":1,"projectname":1,"spidercode":1,"site":1}`
-        query               = `{"query":{"terms":{"_id":["%s"]}},"_source":["_id","area", "publishtime", "s_subscopeclass", "subtype", "title", "toptype", "type", "buyerclass","bidamount","budget","projectname","buyer","bidopentime","s_winner","filetext","spidercode","site"],"from":0,"size":%d}`
-        multi_match         = `{"multi_match": {"query": %s,"type": "phrase", "fields": ["title"]}}`
-        query_bool_must     = `{"terms":{"%s":[%s]}}`
-        query_bool_must_and = `{"bool":{"must":[%s],"must_not":[%s]}}`
-        search_field        = `"_id","area", "publishtime", "s_subscopeclass", "subtype", "title", "toptype", "type", "buyerclass","bidamount","budget","projectname","buyer","bidopentime","s_winner","filetext","isValidFile","spidercode","site"`
-        query_city_hkeys    = `{"query":{"bool":{"must":[%s],"should":[%s],"minimum_should_match": 1}},"highlight": {"pre_tags": ["<a>"],"post_tags": ["</a>"],"fields": {"title": {"fragment_size": 0,"number_of_fragments": 1}}},"_source":[` + search_field + `],"sort":[{"publishtime":"desc"},{"budget":"desc"}],"from":0,"size":20}`
-        Pushbidding         = "bid_baseinfo"
-        Province            = "province"
+	search_index        = "bidding"
+	search_type         = "bidding"
+	mongodb_fields      = `{"_id":1,"area":1,"publishtime":1,"s_subscopeclass":1,"subtype":1,"title":1,"toptype":1,"type":1, "buyerclass":1,"budget":1,"bidamount":1,"s_winner":1,"bidopentime":1,"buyer":1,"projectname":1,"spidercode":1,"site":1}`
+	query               = `{"query":{"terms":{"_id":["%s"]}},"_source":["_id","area", "publishtime", "s_subscopeclass", "subtype", "title", "toptype", "type", "buyerclass","bidamount","budget","projectname","buyer","bidopentime","s_winner","filetext","spidercode","site"],"from":0,"size":%d}`
+	multi_match         = `{"multi_match": {"query": %s,"type": "phrase", "fields": ["title"]}}`
+	query_bool_must     = `{"terms":{"%s":[%s]}}`
+	query_bool_must_and = `{"bool":{"must":[%s],"must_not":[%s]}}`
+	search_field        = `"_id","area", "publishtime", "s_subscopeclass", "subtype", "title", "toptype", "type", "buyerclass","bidamount","budget","projectname","buyer","bidopentime","s_winner","filetext","isValidFile","spidercode","site"`
+	query_city_hkeys    = `{"query":{"bool":{"must":[%s],"should":[%s],"minimum_should_match": 1}},"highlight": {"pre_tags": ["<a>"],"post_tags": ["</a>"],"fields": {"title": {"fragment_size": 0,"number_of_fragments": 1}}},"_source":[` + search_field + `],"sort":[{"publishtime":"desc"},{"budget":"desc"}],"from":0,"size":20}`
+	Pushbidding         = "global_common_data.dws_f_bid_baseinfo"
+	Province            = "province"
 )
 
 type NewestInfo struct {
-        TableName string
-        UserId    string
-        MysqlDb   *mysql.Mysql
-        NewUserId int64
+	TableName string
+	UserId    string
+	MysqlDb   *mysql.Mysql
+	NewUserId int64
 }
 
 var mysqlTables = map[string]string{
-        "f": "pushsubscribe",
-        "v": "pushsubscribe",
-        "m": "pushmember",
-        "e": "pushentniche",
+	"f": "pushsubscribe",
+	"v": "pushsubscribe",
+	"m": "pushmember",
+	"e": "pushentniche",
 }
 
 func GetNewestInfo(userId, userType string, newUserId int64) *NewestInfo {
-        nt := &NewestInfo{
-	      UserId:    userId,
-	      TableName: mysqlTables[userType],
-	      MysqlDb:   IC.BaseServiceMysql,
-	      NewUserId: newUserId,
-        }
-        return nt
+	nt := &NewestInfo{
+		UserId:    userId,
+		TableName: mysqlTables[userType],
+		MysqlDb:   IC.BaseServiceMysql,
+		NewUserId: newUserId,
+	}
+	return nt
 }
 func (n *NewestInfo) GetPushHistory() (res []*bxbase.NewestList) {
-        findSQL := "select b.infoid,a.matchkeys,b.isvalidfile as  attachment_count,b.budget,b.bidamount from %s a LEFT JOIN %s b ON a.infoid = b.infoid where a.userid = '%s'  and a.date >= %d order by a.id desc limit 50"
-        findSQL = fmt.Sprintf(findSQL, n.TableName, Pushbidding, MC.InterfaceToStr(n.NewUserId), time.Now().AddDate(0, 0, -7).Unix())
-        log.Println(findSQL)
-        list := n.MysqlDb.SelectBySql(findSQL)
-        if len(*list) > 0 && list != nil {
-	      m := map[string]bool{}
-	      es_ids := []string{}
-	      infos := map[string]*bxbase.NewestList{}
-	      for _, v := range *list {
-		    infoId := MC.ObjToString(v["infoid"])
-		    if m[infoId] {
-			  continue
-		    }
-		    es_ids = append(es_ids, infoId)
-		    m[MC.ObjToString(v["infoid"])] = true
-		    //
-		    infos[infoId] = &bxbase.NewestList{
-			  Id:         ME.EncodeArticleId2ByCheck(MC.ObjToString(v["infoid"])),
-			  Matchkeys:  MC.ObjToString(v["matchkeys"]),
-			  Budget:     MC.Int64All(v["budget"]),
-			  Bidamount:  MC.Int64All(v["bidamount"]),
-			  FileExists: MC.Int64All(v["attachment_count"]) > 0,
-		    }
-	      }
-	      if len(es_ids) > 0 {
-		    list := elastic.Get(search_index, search_type, fmt.Sprintf(query, strings.Join(es_ids, `","`), len(es_ids)))
-		    if list != nil {
-			  for _, v := range *list {
-				_id := MC.ObjToString(v["_id"])
-				bn := infos[_id]
-				bn.Title = MC.ObjToString(v["title"])
-				bn.PublishTime = MC.Int64All(v["publishtime"])
-				bn.Subtype = MC.If(v["subtype"] != nil, MC.ObjToString(v["subtype"]), MC.ObjToString(v["toptype"])).(string)
-				bn.Area = MC.If(MC.ObjToString(v["area"]) == "A", "全国", MC.ObjToString(v["area"])).(string)
-				bn.Buyerclass = MC.ObjToString(v["buyerclass"])
-				bn.City = MC.ObjToString(v["city"])
-				bn.Industry = MC.If(MC.ObjToString(v["s_subscopeclass"]) != "", strings.Split(strings.Split(MC.ObjToString(v["s_subscopeclass"]), ",")[0], "_")[0], "").(string)
-				bn.SpiderCode = MC.ObjToString(v["spidercode"])
-				bn.Site = MC.ObjToString(v["site"])
-			  }
-		    }
-	      }
-	      //mongodb bidding
-	      mgo_ids := []primitive.ObjectID{}
-	      for _, v := range es_ids {
-		    if infos[v].Title == "" {
-			  mgo_ids = append(mgo_ids, mongodb.StringTOBsonId(v))
-		    }
-	      }
-	      if len(mgo_ids) > 0 {
-		    list, ok := IC.MgoBidding.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 := mongodb.BsonIdToSId(v["_id"])
-				bn := infos[_id]
-				bn.Title = MC.ObjToString(v["title"])
-				bn.PublishTime = MC.Int64All(v["publishtime"])
-				bn.Subtype = MC.If(v["subtype"] != nil, MC.ObjToString(v["subtype"]), MC.ObjToString(v["toptype"])).(string)
-				bn.Area = MC.If(MC.ObjToString(v["area"]) == "A", "全国", MC.ObjToString(v["area"])).(string)
-				bn.Buyerclass = MC.ObjToString(v["buyerclass"])
-				bn.City = MC.ObjToString(v["city"])
-				bn.Industry = MC.If(MC.ObjToString(v["s_subscopeclass"]) != "", strings.Split(strings.Split(MC.ObjToString(v["s_subscopeclass"]), ",")[0], "_")[0], "").(string)
-				bn.SpiderCode = MC.ObjToString(v["spidercode"])
-				bn.Site = MC.ObjToString(v["site"])
-			  }
-		    }
-	      }
-	      //mongodb bidding_back
-	      mgo_back_ids := []primitive.ObjectID{}
-	      for _, v := range mgo_ids {
-		    if infos[mongodb.BsonIdToSId(v)].Title == "" {
-			  mgo_back_ids = append(mgo_back_ids, v)
-		    }
-	      }
-	      if len(mgo_back_ids) > 0 {
-		    list, ok := IC.MgoBidding.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 := mongodb.BsonIdToSId(v["_id"])
-				bn := infos[_id]
-				bn.Title = MC.ObjToString(v["title"])
-				bn.PublishTime = MC.Int64All(v["publishtime"])
-				bn.Subtype = MC.If(v["subtype"] != nil, MC.ObjToString(v["subtype"]), MC.ObjToString(v["toptype"])).(string)
-				bn.Area = MC.If(MC.ObjToString(v["area"]) == "A", "全国", MC.ObjToString(v["area"])).(string)
-				bn.Buyerclass = MC.ObjToString(v["buyerclass"])
-				bn.City = MC.ObjToString(v["city"])
-				bn.Industry = MC.If(MC.ObjToString(v["s_subscopeclass"]) != "", strings.Split(strings.Split(MC.ObjToString(v["s_subscopeclass"]), ",")[0], "_")[0], "").(string)
-				bn.SpiderCode = MC.ObjToString(v["spidercode"])
-				bn.Site = MC.ObjToString(v["site"])
-			  }
-		    }
-	      }
-	      //
-	      for _, v := range infos {
-		    res = append(res, v)
-	      }
-        }
-        return
+	findSQL := "select a.infoid,a.matchkeys,b.isvalidfile as attachment_count,b.budget,b.bidamount from %s a INNER JOIN %s b ON a.userid=%d and a.date>=%d and a.infoid=b.infoid order by a.id desc limit 50"
+	findSQL = fmt.Sprintf(findSQL, n.TableName, Pushbidding, n.NewUserId, time.Now().AddDate(0, 0, -7).Unix())
+	list := n.MysqlDb.SelectBySql(findSQL)
+	if len(*list) > 0 && list != nil {
+		m := map[string]bool{}
+		es_ids := []string{}
+		infos := map[string]*bxbase.NewestList{}
+		for _, v := range *list {
+			infoId := MC.ObjToString(v["infoid"])
+			if m[infoId] {
+				continue
+			}
+			es_ids = append(es_ids, infoId)
+			m[MC.ObjToString(v["infoid"])] = true
+			//
+			infos[infoId] = &bxbase.NewestList{
+				Id:         ME.EncodeArticleId2ByCheck(MC.ObjToString(v["infoid"])),
+				Matchkeys:  MC.ObjToString(v["matchkeys"]),
+				Budget:     MC.Int64All(v["budget"]),
+				Bidamount:  MC.Int64All(v["bidamount"]),
+				FileExists: MC.Int64All(v["attachment_count"]) > 0,
+			}
+		}
+		if len(es_ids) > 0 {
+			list := elastic.Get(search_index, search_type, fmt.Sprintf(query, strings.Join(es_ids, `","`), len(es_ids)))
+			if list != nil {
+				for _, v := range *list {
+					_id := MC.ObjToString(v["_id"])
+					bn := infos[_id]
+					bn.Title = MC.ObjToString(v["title"])
+					bn.PublishTime = MC.Int64All(v["publishtime"])
+					bn.Subtype = MC.If(v["subtype"] != nil, MC.ObjToString(v["subtype"]), MC.ObjToString(v["toptype"])).(string)
+					bn.Area = MC.If(MC.ObjToString(v["area"]) == "A", "全国", MC.ObjToString(v["area"])).(string)
+					bn.Buyerclass = MC.ObjToString(v["buyerclass"])
+					bn.City = MC.ObjToString(v["city"])
+					bn.Industry = MC.If(MC.ObjToString(v["s_subscopeclass"]) != "", strings.Split(strings.Split(MC.ObjToString(v["s_subscopeclass"]), ",")[0], "_")[0], "").(string)
+					bn.SpiderCode = MC.ObjToString(v["spidercode"])
+					bn.Site = MC.ObjToString(v["site"])
+				}
+			}
+		}
+		//mongodb bidding
+		mgo_ids := []primitive.ObjectID{}
+		for _, v := range es_ids {
+			if infos[v].Title == "" {
+				mgo_ids = append(mgo_ids, mongodb.StringTOBsonId(v))
+			}
+		}
+		if len(mgo_ids) > 0 {
+			list, ok := IC.MgoBidding.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 := mongodb.BsonIdToSId(v["_id"])
+					bn := infos[_id]
+					bn.Title = MC.ObjToString(v["title"])
+					bn.PublishTime = MC.Int64All(v["publishtime"])
+					bn.Subtype = MC.If(v["subtype"] != nil, MC.ObjToString(v["subtype"]), MC.ObjToString(v["toptype"])).(string)
+					bn.Area = MC.If(MC.ObjToString(v["area"]) == "A", "全国", MC.ObjToString(v["area"])).(string)
+					bn.Buyerclass = MC.ObjToString(v["buyerclass"])
+					bn.City = MC.ObjToString(v["city"])
+					bn.Industry = MC.If(MC.ObjToString(v["s_subscopeclass"]) != "", strings.Split(strings.Split(MC.ObjToString(v["s_subscopeclass"]), ",")[0], "_")[0], "").(string)
+					bn.SpiderCode = MC.ObjToString(v["spidercode"])
+					bn.Site = MC.ObjToString(v["site"])
+				}
+			}
+		}
+		//mongodb bidding_back
+		mgo_back_ids := []primitive.ObjectID{}
+		for _, v := range mgo_ids {
+			if infos[mongodb.BsonIdToSId(v)].Title == "" {
+				mgo_back_ids = append(mgo_back_ids, v)
+			}
+		}
+		if len(mgo_back_ids) > 0 {
+			list, ok := IC.MgoBidding.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 := mongodb.BsonIdToSId(v["_id"])
+					bn := infos[_id]
+					bn.Title = MC.ObjToString(v["title"])
+					bn.PublishTime = MC.Int64All(v["publishtime"])
+					bn.Subtype = MC.If(v["subtype"] != nil, MC.ObjToString(v["subtype"]), MC.ObjToString(v["toptype"])).(string)
+					bn.Area = MC.If(MC.ObjToString(v["area"]) == "A", "全国", MC.ObjToString(v["area"])).(string)
+					bn.Buyerclass = MC.ObjToString(v["buyerclass"])
+					bn.City = MC.ObjToString(v["city"])
+					bn.Industry = MC.If(MC.ObjToString(v["s_subscopeclass"]) != "", strings.Split(strings.Split(MC.ObjToString(v["s_subscopeclass"]), ",")[0], "_")[0], "").(string)
+					bn.SpiderCode = MC.ObjToString(v["spidercode"])
+					bn.Site = MC.ObjToString(v["site"])
+				}
+			}
+		}
+		//
+		for _, v := range infos {
+			res = append(res, v)
+		}
+	}
+	return
 }
 
 //根据定位或者搜索历史 查es
 func NewestQuery(city, keys string) (str string) {
-        var musts, bools []string
-        if keys != "" {
-	      for _, v := range strings.Split(keys, ",") {
-		    keys := strings.Split(v, " ") //历史搜索 空格划分
-		    must_tmp := []string{}
-		    for _, key := range keys {
-			  must_tmp = append(must_tmp, fmt.Sprintf(multi_match, "\""+key+"\""))
-		    }
-		    bools = append(bools, fmt.Sprintf(query_bool_must_and, strings.Join(must_tmp, ","), ""))
-	      }
+	var musts, bools []string
+	if keys != "" {
+		for _, v := range strings.Split(keys, ",") {
+			keys := strings.Split(v, " ") //历史搜索 空格划分
+			must_tmp := []string{}
+			for _, key := range keys {
+				must_tmp = append(must_tmp, fmt.Sprintf(multi_match, "\""+key+"\""))
+			}
+			bools = append(bools, fmt.Sprintf(query_bool_must_and, strings.Join(must_tmp, ","), ""))
+		}
 
-        }
-        if city != "" {
-	      musts = append(musts, fmt.Sprintf(query_bool_must, "city", `"`+city+`"`))
-        }
-        str = fmt.Sprintf(query_city_hkeys, strings.Join(musts, ","), strings.Join(bools, ","))
-        logx.Info("str:", str)
-        return
+	}
+	if city != "" {
+		musts = append(musts, fmt.Sprintf(query_bool_must, "city", `"`+city+`"`))
+	}
+	str = fmt.Sprintf(query_city_hkeys, strings.Join(musts, ","), strings.Join(bools, ","))
+	logx.Info("str:", str)
+	return
 }
 
 //es查询
 func NewestES(doSearchStr string) (res []*bxbase.NewestList) {
-        list := elastic.Get(search_index, search_type, doSearchStr)
-        if list != nil && len(*list) > 0 {
-	      for _, v := range *list {
-		    _id := mongodb.BsonIdToSId(v["_id"])
-		    isValidFile, _ := v["isValidFile"].(bool)
-		    res = append(res, &bxbase.NewestList{
-			  Id:          ME.EncodeArticleId2ByCheck(_id),
-			  Title:       MC.ObjToString(v["title"]),
-			  Subtype:     MC.If(v["subtype"] != nil, MC.ObjToString(v["subtype"]), MC.ObjToString(v["toptype"])).(string),
-			  Area:        MC.If(MC.ObjToString(v["area"]) == "A", "全国", MC.ObjToString(v["area"])).(string),
-			  Buyerclass:  MC.ObjToString(v["buyerclass"]),
-			  City:        MC.ObjToString(v["city"]),
-			  Industry:    MC.If(MC.ObjToString(v["s_subscopeclass"]) != "", strings.Split(strings.Split(MC.ObjToString(v["s_subscopeclass"]), ",")[0], "_")[0], "").(string),
-			  Budget:      MC.Int64All(v["budget"]),
-			  Bidamount:   MC.Int64All(v["bidamount"]),
-			  FileExists:  isValidFile, //附件
-			  PublishTime: MC.Int64All(v["publishtime"]),
-			  Site:        MC.ObjToString(v["site"]),
-			  SpiderCode:  MC.ObjToString(v["spidercode"]),
-		    })
-	      }
-        }
-        return
+	list := elastic.Get(search_index, search_type, doSearchStr)
+	if list != nil && len(*list) > 0 {
+		for _, v := range *list {
+			_id := mongodb.BsonIdToSId(v["_id"])
+			isValidFile, _ := v["isValidFile"].(bool)
+			res = append(res, &bxbase.NewestList{
+				Id:          ME.EncodeArticleId2ByCheck(_id),
+				Title:       MC.ObjToString(v["title"]),
+				Subtype:     MC.If(v["subtype"] != nil, MC.ObjToString(v["subtype"]), MC.ObjToString(v["toptype"])).(string),
+				Area:        MC.If(MC.ObjToString(v["area"]) == "A", "全国", MC.ObjToString(v["area"])).(string),
+				Buyerclass:  MC.ObjToString(v["buyerclass"]),
+				City:        MC.ObjToString(v["city"]),
+				Industry:    MC.If(MC.ObjToString(v["s_subscopeclass"]) != "", strings.Split(strings.Split(MC.ObjToString(v["s_subscopeclass"]), ",")[0], "_")[0], "").(string),
+				Budget:      MC.Int64All(v["budget"]),
+				Bidamount:   MC.Int64All(v["bidamount"]),
+				FileExists:  isValidFile, //附件
+				PublishTime: MC.Int64All(v["publishtime"]),
+				Site:        MC.ObjToString(v["site"]),
+				SpiderCode:  MC.ObjToString(v["spidercode"]),
+			})
+		}
+	}
+	return
 }