Selaa lähdekoodia

Merge branch 'hotfix/v4.8.23.1_wky' of qmx/jy into hotfix/v4.8.23.1

wangkaiyue 2 vuotta sitten
vanhempi
commit
a7ffe4a5f7
1 muutettua tiedostoa jossa 12 lisäystä ja 6 poistoa
  1. 12 6
      src/jfw/modules/bigmember/src/entity/portraitBuyerSearch.go

+ 12 - 6
src/jfw/modules/bigmember/src/entity/portraitBuyerSearch.go

@@ -16,7 +16,7 @@ import (
 
 const (
 	buyer_query_address    = `{"query":{"bool":{"must":[{"term":{"buyer_name":"%s"}}]}},"size":1,"_source":["city","province","buyerclass"]}`
-	buyerPortraitSearchSql = `{"query":{"bool":{"must":[%s]}},"aggs":{"year_bidamount":{"range":{"field":"jgtime","ranges":[%s]},"aggs":{"count":{"sum":{"field":"bidamount"}}}},"fail_count":{"filter":{"bool":{"must":[{"term":{"bidstatus":"流标"}}]}}},"winner_count":{"cardinality":{"field":"entidlist"}},"bidamount_count":{"sum":{"field":"bidamount"}},"moneyRange":{"filter":{"bool":{"must":{"range":{"project_rate":{"gte":0,"lte":0.6}}}}},"aggs":{"moneyRangeValue":{"range":{"field":"bidamount","ranges":[%s]},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"budget_count":{"sum":{"field":"budget"}}}}}},"bidtypeData":{"filter":{"bool":{"must":{"terms":{"bidtype":["招标","邀标","询价","单一","竞价","竞谈"]}}}},"aggs":{"bidtype_group":{"terms":{"field":"bidtype"},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}}}},"bidamount_count":{"sum":{"field":"bidamount"}}}},"topScopeclassData":{"terms":{"field":"topscopeclass","size":12,"order":[{"bidamount_count":"desc"}]},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"top_scopeclass_rate_time_avg":` + YearRate + `}},"allScopeclassData":` + YearRate + `,"topAgencyData":{"terms":{"field":"agency","size":10,"order":[{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"jgtime"}}}},"topWinner":{"terms":{"field":"entidlist","order":[{"count_bidamount":"desc"},{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"jgtime"}},"count_bidamount":{"sum":{"field":"bidamount"}},"avg_data":{"filter":{"bool":{"must":{"range":{"project_rate":{"gte":0,"lte":0.6}}}}},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"budget_count":{"sum":{"field":"budget"}}}}}},"firstWinner":{"terms":{"field":"first_cooperation"}},"allWinnerList":{"terms":{"field":"entidlist","size":4000},"aggs":{"count_bidamount":{"sum":{"field":"bidamount"}},"avg_data":` + BaseRate + `}}},"size":0}`
+	buyerPortraitSearchSql = `{"query":{"bool":{"must":[%s]}},"aggs":{"year_bidamount":{"range":{"field":"jgtime","ranges":[%s]},"aggs":{"count":{"sum":{"field":"bidamount"}}}},"fail_count":{"filter":{"bool":{"must":[{"term":{"bidstatus":"流标"}}]}}},"winner_count":{"cardinality":{"field":"entidlist"}},"bidamount_count":{"sum":{"field":"bidamount"}},"moneyRange":{"filter":{"bool":{"must":{"range":{"project_rate":{"gte":0,"lte":0.6}}}}},"aggs":{"moneyRangeValue":{"range":{"field":"bidamount","ranges":[%s]},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"budget_count":{"sum":{"field":"budget"}}}}}},"bidtypeData":{"filter":{"bool":{"must":{"terms":{"bidtype":["招标","邀标","询价","单一","竞价","竞谈"]}}}},"aggs":{"bidtype_group":{"terms":{"field":"bidtype"},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}}}},"bidamount_count":{"sum":{"field":"bidamount"}}}},"topScopeclassData":{"terms":{"field":"topscopeclass","size":12,"order":[{"bidamount_count":"desc"}]},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"top_scopeclass_rate_time_avg":` + YearRate + `}},"allScopeclassData":` + YearRate + `,"topAgencyData":{"terms":{"field":"agency","size":10,"order":[{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"jgtime"}}}},"topWinner":{"terms":{"field":"entidlist","order":[{"count_bidamount":"desc"},{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"jgtime"}},"count_bidamount":{"sum":{"field":"bidamount"}},"avg_data":{"filter":{"bool":{"must":{"range":{"project_rate":{"gte":0,"lte":0.6}}}}},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"budget_count":{"sum":{"field":"budget"}}}}}},"firstWinner":{"terms":{"field":"first_cooperation"}},"allWinnerList":{"terms":{"field":"entidlist","size":10000},"aggs":{"count_bidamount":{"sum":{"field":"bidamount"}},"avg_data":` + BaseRate + `}}},"size":0}`
 	queryTermByIdSql       = `{"terms":{"_id":[%s]}}`
 
 	queryMustSql                = `{"query":{"bool":{"must":[%s]}}}`
@@ -565,8 +565,17 @@ func GetWithEntPortraitData(listDataItf interface{}, province string, bidamountO
 	//根据注册资本聚合
 	var winnerIdList []string
 	allWinnerMap := map[string]AllWinner{}
+
+	capitalAggs := map[int][]string{}     //注册资本
+	areaAggs := map[string][]string{}     //地区
+	establishAggs := map[int][]string{}   //成立日期
+	businessAggs := map[string][]string{} //企业标签
+
 	for _, winner := range *listData {
 		winnerIdList = append(winnerIdList, winner.WinnerId)
+		if winner.WinnerId == "" || winner.WinnerId == "-" {
+			businessAggs["其他"] = append(businessAggs["其他"], "-")
+		}
 		allWinnerMap[winner.WinnerId] = winner
 	}
 	tBegin := time.Now()
@@ -604,11 +613,6 @@ func GetWithEntPortraitData(listDataItf interface{}, province string, bidamountO
 		return nil, 0, errors.New("中标企业查询结果为空")
 	}
 
-	capitalAggs := map[int][]string{}     //注册资本
-	areaAggs := map[string][]string{}     //地区
-	establishAggs := map[int][]string{}   //成立日期
-	businessAggs := map[string][]string{} //企业标签
-
 	for _, entMsg := range entMsgList {
 		if len(entMsg) < 2 {
 			continue
@@ -633,6 +637,8 @@ func GetWithEntPortraitData(listDataItf interface{}, province string, bidamountO
 		if businessStr := qutil.ObjToString(entMsg["tag_business"]); businessStr != "" {
 			firstTag := strings.Split(businessStr, ",")[0]
 			businessAggs[firstTag] = append(businessAggs[firstTag], companyId)
+		} else {
+			businessAggs["其他"] = append(businessAggs["其他"], companyId)
 		}
 	}
 	thisProvinceWinnerCount := 0