|
@@ -22,9 +22,9 @@ const (
|
|
buyerPortraitSearchSql = `{"query":{"bool":{"must":[%s]}},"aggs":{"year_bidamount":{"range":{"field":"firsttime","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":"firsttime"}}}},"topWinner":{"terms":{"field":"entidlist","size":0,"order":[{"count_bidamount":"desc"},{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"firsttime"}},"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","size":0}},"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":"firsttime","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":"firsttime"}}}},"topWinner":{"terms":{"field":"entidlist","size":0,"order":[{"count_bidamount":"desc"},{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"firsttime"}},"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","size":0}},"allWinnerList":{"terms":{"field":"entidlist","size":4000},"aggs":{"count_bidamount":{"sum":{"field":"bidamount"}},"avg_data":` + BaseRate + `}}},"size":0}`
|
|
queryTermByIdSql = `{"terms":{"_id":[%s]}}`
|
|
queryTermByIdSql = `{"terms":{"_id":[%s]}}`
|
|
|
|
|
|
- queryMustSql = `{"query":{"filtered":{"filter":{"bool":{"must":[%s]}}}}}`
|
|
|
|
|
|
+ queryMustSql = `{"query":{"bool":{"must":[%s]}}}`
|
|
buyerWithEntThreadSearchNum = 50
|
|
buyerWithEntThreadSearchNum = 50
|
|
- buyerWithEntPortraitSqlPage = `{"query":{"filtered":{"filter":{"bool":{"must":[%s]}}}},"_source":["_id","company_area","capital","establish_date","tag_business"],"from":%d,"size":%d}`
|
|
|
|
|
|
+ buyerWithEntPortraitSqlPage = `{"query":{"bool":{"must":[%s]}},"_source":["_id","company_area","capital","establish_date","tag_business"],"from":%d,"size":%d}`
|
|
)
|
|
)
|
|
|
|
|
|
var ClearHtml = regexp.MustCompile("<[^>]*>")
|
|
var ClearHtml = regexp.MustCompile("<[^>]*>")
|
|
@@ -1109,7 +1109,7 @@ func GetWinnerNamesByIds(ids []string) (returnMap map[string]string) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
doSearchSql := fmt.Sprintf(queryTermByIdSql, `"`+strings.Join(ids, `","`)+`"`)
|
|
doSearchSql := fmt.Sprintf(queryTermByIdSql, `"`+strings.Join(ids, `","`)+`"`)
|
|
- list := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"filtered":{"filter":{"bool":{"must":[%s]}}}},"_source":["_id","company_name"],"size":60}`, doSearchSql))
|
|
|
|
|
|
+ list := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"bool":{"must":[%s]}},"_source":["_id","company_name"],"size":60}`, doSearchSql))
|
|
if list == nil || len(*list) == 0 {
|
|
if list == nil || len(*list) == 0 {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -1127,7 +1127,7 @@ func GetWinnerNamesByIds(ids []string) (returnMap map[string]string) {
|
|
}
|
|
}
|
|
|
|
|
|
func GetProposed(entName, dataType string, start, limit int) (res []map[string]interface{}, total int64) {
|
|
func GetProposed(entName, dataType string, start, limit int) (res []map[string]interface{}, total int64) {
|
|
- sql := `{"query": {"filtered": {"filter": {"bool": {"must": [{"terms": {"subtype": ["%s"]}},{"terms": {"buyer": ["%s"]}}]}}}}}`
|
|
|
|
|
|
+ sql := `{"query": {"bool": {"must": [{"terms": {"subtype": ["%s"]}},{"terms": {"buyer": ["%s"]}}]}}}`
|
|
sql = fmt.Sprintf(sql, dataType, entName)
|
|
sql = fmt.Sprintf(sql, dataType, entName)
|
|
total = elastic.Count("bidding", "bidding", sql)
|
|
total = elastic.Count("bidding", "bidding", sql)
|
|
sql = sql[:len(sql)-1] + fmt.Sprintf(`,"from":%d,"size":%d}"`, start, limit)
|
|
sql = sql[:len(sql)-1] + fmt.Sprintf(`,"from":%d,"size":%d}"`, start, limit)
|
|
@@ -1151,7 +1151,7 @@ func GetProposed(entName, dataType string, start, limit int) (res []map[string]i
|
|
}
|
|
}
|
|
|
|
|
|
func GetExpire(entName string, startTime, endTime int64, start, limit int) (res []map[string]interface{}, total int64) {
|
|
func GetExpire(entName string, startTime, endTime int64, start, limit int) (res []map[string]interface{}, total int64) {
|
|
- sql := `{"query": {"filtered": {"filter": {"bool": {"must": [{"terms": {"buyer": ["%s"]}},{"range": {"project_completedate": {"gte": %d,"lt": %d}}}]}}}}}`
|
|
|
|
|
|
+ sql := `{"query": {"bool": {"must": [{"terms": {"buyer": ["%s"]}},{"range": {"project_completedate": {"gte": %d,"lt": %d}}}]}}}`
|
|
sql = fmt.Sprintf(sql, entName, startTime, endTime)
|
|
sql = fmt.Sprintf(sql, entName, startTime, endTime)
|
|
total = elastic.Count("bidding", "bidding", sql)
|
|
total = elastic.Count("bidding", "bidding", sql)
|
|
sql = sql[:len(sql)-1] + fmt.Sprintf(`,"from":%d,"size":%d}"`, start, limit)
|
|
sql = sql[:len(sql)-1] + fmt.Sprintf(`,"from":%d,"size":%d}"`, start, limit)
|
|
@@ -1228,7 +1228,7 @@ func onceGetWinnerMsgByIds(ids []string) (returnMap map[string]*WinnerSimpleData
|
|
return
|
|
return
|
|
}
|
|
}
|
|
doSearchSql := fmt.Sprintf(queryTermByIdSql, `"`+strings.Join(ids, `","`)+`"`)
|
|
doSearchSql := fmt.Sprintf(queryTermByIdSql, `"`+strings.Join(ids, `","`)+`"`)
|
|
- list := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"filtered":{"filter":{"bool":{"must":[%s]}}}},"_source":["_id","company_name","tag_business"],"size":%d}`, doSearchSql, len(ids)))
|
|
|
|
|
|
+ list := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"bool":{"must":[%s]}},"_source":["_id","company_name","tag_business"],"size":%d}`, doSearchSql, len(ids)))
|
|
if list == nil || len(*list) == 0 {
|
|
if list == nil || len(*list) == 0 {
|
|
return
|
|
return
|
|
}
|
|
}
|