|
@@ -640,9 +640,31 @@ func (mae *MarketAnalysisEntity) BuyerWinnerAnalysis() map[string]interface{} {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ var winnerKeys []string
|
|
|
+ winnerKeyMap := make(map[string]int)
|
|
|
+ for _, v := range thisBuyerWinnerRow.BuyerCountTop3.Buckets {
|
|
|
+ for _, v1 := range v.SWinnerTop.Buckets {
|
|
|
+ winnerKeyMap[v1.Key]++
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, v := range thisBuyerWinnerRow.BuyerAmountTop3.Buckets {
|
|
|
+ for _, v1 := range v.SWinnerTop.Buckets {
|
|
|
+ winnerKeyMap[v1.Key]++
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, v := range thisBuyerWinnerRow.WinnerCountTop3.SWinnerCount {
|
|
|
+ winnerKeyMap[v.Key]++
|
|
|
+ }
|
|
|
+ for _, v := range thisBuyerWinnerRow.WinnerAmountTop3.SWinnerAmount {
|
|
|
+ winnerKeyMap[v.Key]++
|
|
|
+ }
|
|
|
+ for k, _ := range winnerKeyMap {
|
|
|
+ winnerKeys = append(winnerKeys, k)
|
|
|
+ }
|
|
|
+ winnerName := GetEntNameByIds(winnerKeys)
|
|
|
rMap := make(map[string]interface{})
|
|
|
- BuyerAnalysis(thisBuyerWinnerRow, rMap)
|
|
|
- WinningAnalysis(thisBuyerWinnerRow, rMap)
|
|
|
+ BuyerAnalysis(thisBuyerWinnerRow, rMap, winnerName)
|
|
|
+ WinningAnalysis(thisBuyerWinnerRow, rMap, winnerName)
|
|
|
return rMap
|
|
|
}
|
|
|
|
|
@@ -654,7 +676,7 @@ type distributionTrend struct {
|
|
|
|
|
|
var Analysis = []string{"<10万", "10万-50万", "50万-100万", "100万-500万", "500万-1000万", "1000万-1亿", "≥1亿"}
|
|
|
|
|
|
-func BuyerAnalysis(thisBuyerRow BuyerWinnerRow, rMap map[string]interface{}) {
|
|
|
+func BuyerAnalysis(thisBuyerRow BuyerWinnerRow, rMap map[string]interface{}, winnerName map[string]string) {
|
|
|
type buyer struct {
|
|
|
Name string `json:"key"`
|
|
|
TotalAmount interface{} `json:"total_amount"`
|
|
@@ -697,19 +719,7 @@ func BuyerAnalysis(thisBuyerRow BuyerWinnerRow, rMap map[string]interface{}) {
|
|
|
Number int64 `json:"number"`
|
|
|
//Accounted interface{} `json:"accounted"`
|
|
|
}
|
|
|
- var winnerKeys []string
|
|
|
- for _, v := range thisBuyerRow.BuyerCountTop3.Buckets {
|
|
|
- for _, v1 := range v.SWinnerTop.Buckets {
|
|
|
- winnerKeys = append(winnerKeys, v1.Key)
|
|
|
- }
|
|
|
- }
|
|
|
- for _, v := range thisBuyerRow.BuyerAmountTop3.Buckets {
|
|
|
- for _, v1 := range v.SWinnerTop.Buckets {
|
|
|
- winnerKeys = append(winnerKeys, v1.Key)
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- winnerName := GetEntNameByIds(winnerKeys)
|
|
|
//采购单位-项目数量TOP3
|
|
|
countMap := []interface{}{}
|
|
|
for _, v := range thisBuyerRow.BuyerCountTop3.Buckets {
|
|
@@ -784,7 +794,7 @@ func BuyerAnalysis(thisBuyerRow BuyerWinnerRow, rMap map[string]interface{}) {
|
|
|
}
|
|
|
|
|
|
//中标单位分析
|
|
|
-func WinningAnalysis(thisWinnerRow BuyerWinnerRow, rMap map[string]interface{}) {
|
|
|
+func WinningAnalysis(thisWinnerRow BuyerWinnerRow, rMap map[string]interface{}, winnerName map[string]string) {
|
|
|
type s_Winner struct {
|
|
|
Name string `json:"key"`
|
|
|
TotalAmount interface{} `json:"total_amount"`
|
|
@@ -824,15 +834,7 @@ func WinningAnalysis(thisWinnerRow BuyerWinnerRow, rMap map[string]interface{})
|
|
|
Number int64 `json:"number"`
|
|
|
//Accounted interface{} `json:"accounted"`
|
|
|
}
|
|
|
- var winnerKeys []string
|
|
|
- for _, v := range thisWinnerRow.WinnerCountTop3.SWinnerCount {
|
|
|
- winnerKeys = append(winnerKeys, v.Key)
|
|
|
- }
|
|
|
- for _, v := range thisWinnerRow.WinnerAmountTop3.SWinnerAmount {
|
|
|
- winnerKeys = append(winnerKeys, v.Key)
|
|
|
- }
|
|
|
|
|
|
- winnerName := GetEntNameByIds(winnerKeys)
|
|
|
//中标单位-项目数量TOP3
|
|
|
countMap := []interface{}{}
|
|
|
for _, v := range thisWinnerRow.WinnerCountTop3.SWinnerCount {
|