|
@@ -278,13 +278,35 @@ func (mae *MarketAnalysisEntity) AllData() (rMap map[string]interface{}, err err
|
|
|
data := ProjectScale(thisRow)
|
|
|
area_data := AreaDistribute(thisRow)
|
|
|
customer_data := CustomerDistribute(thisRow)
|
|
|
+ var ids []string
|
|
|
+ for _, v := range thisRow.AreaAmountTop3.Buckets {
|
|
|
+ for _, va := range v.WinnerTop.Buckets {
|
|
|
+ ids = append(ids, va.Winner)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, v := range thisRow.BuyclassAmountTop3.Buckets {
|
|
|
+ for _, va := range v.WinnerTop.Buckets {
|
|
|
+ ids = append(ids, va.Winner)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, v := range thisRow.AreaCountTop3.Buckets {
|
|
|
+ for _, va := range v.WinnerTop.Buckets {
|
|
|
+ ids = append(ids, va.Winner)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, v := range thisRow.BuyclassCountTop3.Buckets {
|
|
|
+ for _, va := range v.BidcountTop.Buckets {
|
|
|
+ ids = append(ids, va.Winner)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ eid := IDToName(ids)
|
|
|
rMap["projectScale"] = data
|
|
|
rMap["area_infos"] = area_data
|
|
|
rMap["customer_scale"] = customer_data
|
|
|
- rMap["scaleAreaAmountTop"] = AmountCompute(thisRow, "area")
|
|
|
- rMap["scaleBuyclassAmountTop"] = AmountCompute(thisRow, "buyclass")
|
|
|
- rMap["scaleAreaCountTop"] = CountCompute(thisRow, "area")
|
|
|
- rMap["scaleBuyclassCountTop"] = CountCompute(thisRow, "buyclass")
|
|
|
+ rMap["scaleAreaAmountTop"] = AmountCompute(thisRow, "area", eid)
|
|
|
+ rMap["scaleBuyclassAmountTop"] = AmountCompute(thisRow, "buyclass", eid)
|
|
|
+ rMap["scaleAreaCountTop"] = CountCompute(thisRow, "area", eid)
|
|
|
+ rMap["scaleBuyclassCountTop"] = CountCompute(thisRow, "buyclass", eid)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -406,7 +428,7 @@ func CustomerDistribute(thisRow AreaCTop) (data []map[string]interface{}) {
|
|
|
}
|
|
|
|
|
|
//top3金额计算
|
|
|
-func AmountCompute(thisRow AreaCTop, types string) (rData []map[string]interface{}) {
|
|
|
+func AmountCompute(thisRow AreaCTop, types string, eid map[string]string) (rData []map[string]interface{}) {
|
|
|
if types == "area" {
|
|
|
area_infos := thisRow.AreaAmountTop3
|
|
|
for _, v := range area_infos.Buckets {
|
|
@@ -417,11 +439,6 @@ func AmountCompute(thisRow AreaCTop, types string) (rData []map[string]interface
|
|
|
rWinner := []map[string]interface{}{}
|
|
|
rM["name"] = v.Key
|
|
|
rM["area_amount"] = v.AreaAmount.Amount
|
|
|
- var ids []string
|
|
|
- for _, va := range v.WinnerTop.Buckets {
|
|
|
- ids = append(ids, va.Winner)
|
|
|
- }
|
|
|
- eid := IDToName(ids)
|
|
|
for _, va := range v.WinnerTop.Buckets {
|
|
|
if va.WinnerAmount.Amount == 0 {
|
|
|
break
|
|
@@ -450,11 +467,6 @@ func AmountCompute(thisRow AreaCTop, types string) (rData []map[string]interface
|
|
|
rWinner := []map[string]interface{}{}
|
|
|
rM["name"] = v.Key
|
|
|
rM["buyclass_amount"] = v.AreaAmount.Amount
|
|
|
- var ids []string
|
|
|
- for _, va := range v.WinnerTop.Buckets {
|
|
|
- ids = append(ids, va.Winner)
|
|
|
- }
|
|
|
- eid := IDToName(ids)
|
|
|
for _, va := range v.WinnerTop.Buckets {
|
|
|
if va.WinnerAmount.Amount == 0 {
|
|
|
break
|
|
@@ -478,7 +490,7 @@ func AmountCompute(thisRow AreaCTop, types string) (rData []map[string]interface
|
|
|
}
|
|
|
|
|
|
//top3数量计算
|
|
|
-func CountCompute(thisRow AreaCTop, types string) (rData []map[string]interface{}) {
|
|
|
+func CountCompute(thisRow AreaCTop, types string, eid map[string]string) (rData []map[string]interface{}) {
|
|
|
if types == "area" {
|
|
|
area_infos := thisRow.AreaCountTop3
|
|
|
for _, v := range area_infos.Buckets {
|
|
@@ -489,11 +501,6 @@ func CountCompute(thisRow AreaCTop, types string) (rData []map[string]interface{
|
|
|
rWinner := []map[string]interface{}{}
|
|
|
rM["name"] = v.Area
|
|
|
rM["area_count"] = v.Total
|
|
|
- var ids []string
|
|
|
- for _, va := range v.WinnerTop.Buckets {
|
|
|
- ids = append(ids, va.Winner)
|
|
|
- }
|
|
|
- eid := IDToName(ids)
|
|
|
for _, va := range v.WinnerTop.Buckets {
|
|
|
if va.WinnerTotal == 0 {
|
|
|
break
|
|
@@ -524,11 +531,6 @@ func CountCompute(thisRow AreaCTop, types string) (rData []map[string]interface{
|
|
|
rWinner := []map[string]interface{}{}
|
|
|
rM["name"] = v.Buyclass
|
|
|
rM["buyclass_count"] = v.Total
|
|
|
- var ids []string
|
|
|
- for _, va := range v.BidcountTop.Buckets {
|
|
|
- ids = append(ids, va.Winner)
|
|
|
- }
|
|
|
- eid := IDToName(ids)
|
|
|
for _, va := range v.BidcountTop.Buckets {
|
|
|
if va.WinnerTotal == 0 {
|
|
|
break
|