|
@@ -2,8 +2,6 @@ package main
|
|
|
|
|
|
import (
|
|
|
"log"
|
|
|
- "strconv"
|
|
|
-
|
|
|
// "log"
|
|
|
"math"
|
|
|
qu "qfw/util"
|
|
@@ -886,7 +884,7 @@ var PackageEle = []string{
|
|
|
"bidstatus",
|
|
|
}
|
|
|
|
|
|
-func packageEle(map1 map[string]interface{}) (map[string]interface{}, float64, float64) {
|
|
|
+func packageEle(map1 map[string]interface{}, id string) (map[string]interface{}, float64, float64) {
|
|
|
budget := 0.0
|
|
|
bidamount := 0.0
|
|
|
p2 := map[string]interface{}{}
|
|
@@ -894,6 +892,10 @@ func packageEle(map1 map[string]interface{}) (map[string]interface{}, float64, f
|
|
|
if map1[k] != nil {
|
|
|
p2[k] = map1[k]
|
|
|
}
|
|
|
+ infoid := p2["infoid"]
|
|
|
+ if infoid == nil {
|
|
|
+ p2["infoid"] = id
|
|
|
+ }
|
|
|
if p2["budget"] != nil {
|
|
|
budget = budget + p2["budget"].(float64)
|
|
|
}
|
|
@@ -912,44 +914,34 @@ func PackageFormat(info *Info, project *ProjectInfo) (map[string]interface{}, fl
|
|
|
budget = project.Budget
|
|
|
bidamount = project.Bidamount
|
|
|
p1 = project.Package
|
|
|
- ids := p1["ids"].([]string)
|
|
|
- ids = append(ids, info.Id)
|
|
|
- p1["ids"] = ids
|
|
|
- for _, v := range info.Package {
|
|
|
+ for k, v := range info.Package {
|
|
|
if v1, ok := v.(map[string]interface{}); ok {
|
|
|
v2 := map[string]interface{}{}
|
|
|
- v2, budget, bidamount = packageEle(v1)
|
|
|
+ v2, budget, bidamount = packageEle(v1, info.Id)
|
|
|
if v2["bidstatus"] == nil {
|
|
|
v2["bidstatus"] = info.SubType
|
|
|
}
|
|
|
- n := 0
|
|
|
addFlag := false
|
|
|
- for k, v3 := range p1 {
|
|
|
- if k == "ids" {
|
|
|
- continue
|
|
|
- }
|
|
|
+ for k1, v3 := range p1 {
|
|
|
if v4, ok := v3.([]map[string]interface{}); ok {
|
|
|
if qu.ObjToString(v4[0]["origin"]) == qu.ObjToString(v2["origin"]) && qu.ObjToString(v4[0]["name"]) == qu.ObjToString(v2["name"]) {
|
|
|
v4 = append(v4, v2)
|
|
|
- p1[k] = v4
|
|
|
+ p1[k1] = v4
|
|
|
addFlag = true
|
|
|
break
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if !addFlag {
|
|
|
- n++
|
|
|
- m := len(ids) + n
|
|
|
- p1[strconv.Itoa(m)] = []map[string]interface{}{v2}
|
|
|
+ p1[k] = []map[string]interface{}{v2}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- p1["ids"] = []string{info.Id}
|
|
|
for k, v := range info.Package {
|
|
|
- v1 := v.(map[string]interface{})
|
|
|
+ v1, _ := v.(map[string]interface{})
|
|
|
p2 := map[string]interface{}{}
|
|
|
- p2, budget, bidamount = packageEle(v1)
|
|
|
+ p2, budget, bidamount = packageEle(v1, info.Id)
|
|
|
if p2["bidstatus"] == nil {
|
|
|
p2["bidstatus"] = info.SubType
|
|
|
}
|