|
@@ -2,6 +2,7 @@ package main
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
+ "fmt"
|
|
|
"gopkg.in/mgo.v2/bson"
|
|
|
"log"
|
|
|
mu "mfw/util"
|
|
@@ -93,7 +94,9 @@ func getCity(sid, eid, rep string) {
|
|
|
for i := 0; i < pageNum; i++ {
|
|
|
query = bson.M{"_id": bson.M{"$gte": bson.ObjectIdHex(sid), "$lte": bson.ObjectIdHex(eid)}}
|
|
|
log.Printf("page=%d,query=%v,db=%v\n", i+1, query, table)
|
|
|
- list, _ := mgo.Mgo_Bidding.Find(table, query, nil, biddingFields, false, 0, limit)
|
|
|
+ list, _ := mgo.Mgo_Bidding.Find(table, query, map[string]interface{}{
|
|
|
+ "_id": 1,
|
|
|
+ }, biddingFields, false, 0, limit)
|
|
|
for _, v := range *list {
|
|
|
if qu.ObjToString(v["district"]) != "" && qu.ObjToString(v["city"]) != "" && qu.ObjToString(v["area"]) != "" && qu.ObjToString(v["area"]) != "全国" {
|
|
|
index++
|
|
@@ -140,67 +143,70 @@ func getCity(sid, eid, rep string) {
|
|
|
}
|
|
|
|
|
|
func cityMarshal(data map[string]interface{}) map[string]string {
|
|
|
- rdata := make(map[string]string)
|
|
|
buyer := qu.ObjToString(data["buyer"])
|
|
|
+ bidarea := qu.ObjToString(data["area"])
|
|
|
+ bidcity := qu.ObjToString(data["city"])
|
|
|
+ biddistrict := qu.ObjToString(data["district"])
|
|
|
+ rdata := make(map[string]string)
|
|
|
tmp, _ := mgo.Mgo.FindOneByField("qyxy", `{"company_name":"`+buyer+`"}`, qyxyFields)
|
|
|
if tmp == nil || (*tmp) == nil {
|
|
|
return rdata
|
|
|
}
|
|
|
- company_code := qu.ObjToString((*tmp)["company_code"])
|
|
|
+ company_code := fmt.Sprint((*tmp)["company_code"])
|
|
|
if len(company_code) > 5 {
|
|
|
province_city_district, _ := mgo.Mgo.FindOne("address", `{"code":"`+company_code[:6]+`"}`)
|
|
|
- if province_city_district != nil && (*province_city_district) != nil && (*province_city_district)["Remarks"] != "废除" {
|
|
|
- if qu.ObjToString(data["area"]) == "" || qu.ObjToString(data["area"]) == "全国" {
|
|
|
- if province := qu.ObjToString((*province_city_district)["province"]); province != "" {
|
|
|
- rdata["area"] = province
|
|
|
- }
|
|
|
- if city := qu.ObjToString((*province_city_district)["city"]); city != "" && !strings.Contains(city, rdata["area"]) {
|
|
|
- rdata["city"] = city
|
|
|
- }
|
|
|
- if district := qu.ObjToString((*province_city_district)["district"]); district != "" && !strings.Contains(district, rdata["area"]) && !strings.Contains(district, rdata["city"]) {
|
|
|
- rdata["district"] = district
|
|
|
- }
|
|
|
- } else if qu.ObjToString(data["city"]) == "" && qu.ObjToString((*province_city_district)["province"]) != "" && qu.ObjToString((*province_city_district)["province"]) == qu.ObjToString(data["area"]) {
|
|
|
- if city := qu.ObjToString((*province_city_district)["city"]); city != "" && !strings.Contains(city, rdata["area"]) {
|
|
|
- rdata["city"] = city
|
|
|
- }
|
|
|
- if district := qu.ObjToString((*province_city_district)["district"]); district != "" && !strings.Contains(district, rdata["area"]) && !strings.Contains(district, rdata["city"]) {
|
|
|
- rdata["district"] = district
|
|
|
+ remarks := fmt.Sprint((*province_city_district)["Remarks"])
|
|
|
+ if remarks == "" || remarks == "废除" || remarks == "已作废" {
|
|
|
+ } else if province_city_district != nil && (*province_city_district) != nil {
|
|
|
+ codeprovince := qu.ObjToString((*province_city_district)["province"])
|
|
|
+ codecity := qu.ObjToString((*province_city_district)["city"])
|
|
|
+ codedistrict := qu.ObjToString((*province_city_district)["district"])
|
|
|
+ if bidarea == "" || bidarea == "全国" {
|
|
|
+ if codeprovince != "" {
|
|
|
+ rdata["area"] = codeprovince
|
|
|
+ if codecity != "" && codecity != codeprovince {
|
|
|
+ rdata["city"] = codecity
|
|
|
+ if codedistrict != "" && codedistrict != codecity {
|
|
|
+ rdata["district"] = codedistrict
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- } else if qu.ObjToString(data["district"]) == "" && qu.ObjToString((*province_city_district)["city"]) != "" && qu.ObjToString((*province_city_district)["city"]) == qu.ObjToString(data["city"]) {
|
|
|
- if district := qu.ObjToString((*province_city_district)["district"]); district != "" && !strings.Contains(district, rdata["area"]) && !strings.Contains(district, rdata["city"]) {
|
|
|
- rdata["district"] = district
|
|
|
+ } else if bidcity == "" && codecity != "" && bidarea == codeprovince {
|
|
|
+ if codecity != bidarea {
|
|
|
+ rdata["city"] = codecity
|
|
|
+ if codedistrict != "" && codecity != codedistrict {
|
|
|
+ rdata["district"] = codedistrict
|
|
|
+ }
|
|
|
}
|
|
|
+ } else if biddistrict == "" && codedistrict != "" && bidarea == codeprovince && codecity == bidcity {
|
|
|
+ rdata["district"] = codedistrict
|
|
|
}
|
|
|
return rdata
|
|
|
}
|
|
|
}
|
|
|
- var province string
|
|
|
- if qu.ObjToString(data["area"]) == "" || qu.ObjToString(data["area"]) == "全国" {
|
|
|
- if province = qu.ObjToString((*tmp)["province"]); province != "" {
|
|
|
- province = strings.TrimRight(province, "省")
|
|
|
- province = strings.TrimRight(province, "市")
|
|
|
- rdata["area"] = province
|
|
|
- }
|
|
|
- if city := qu.ObjToString((*tmp)["city"]); city != "" && province != city {
|
|
|
- rdata["city"] = city
|
|
|
- }
|
|
|
- if district := qu.ObjToString((*tmp)["district"]); district != "" && rdata["city"] != district {
|
|
|
- rdata["district"] = district
|
|
|
- }
|
|
|
- } else if qu.ObjToString(data["city"]) == "" && province != "" && qu.ObjToString(data["area"]) == province {
|
|
|
- if city := qu.ObjToString((*tmp)["city"]); city != "" && province != city {
|
|
|
- rdata["city"] = city
|
|
|
- }
|
|
|
- if district := qu.ObjToString((*tmp)["district"]); district != "" && qu.ObjToString((*tmp)["city"]) != district {
|
|
|
- rdata["district"] = district
|
|
|
- }
|
|
|
- } else if qu.ObjToString(data["district"]) == "" && qu.ObjToString((*tmp)["city"]) != "" && qu.ObjToString((*tmp)["city"]) == qu.ObjToString(data["city"]) {
|
|
|
- if district := qu.ObjToString((*tmp)["district"]); district != "" && qu.ObjToString(data["city"]) != district {
|
|
|
- if qu.ObjToString(data["district"]) != rdata["city"] {
|
|
|
- rdata["district"] = district
|
|
|
+
|
|
|
+ entprovince := qu.ObjToString((*tmp)["province"])
|
|
|
+ entprovince = strings.TrimRight(entprovince, "省")
|
|
|
+ entprovince = strings.TrimRight(entprovince, "市")
|
|
|
+ entcity := qu.ObjToString((*tmp)["city"])
|
|
|
+ entdistrict := qu.ObjToString((*tmp)["district"])
|
|
|
+ if bidarea == "" || bidarea == "全国" {
|
|
|
+ if entprovince != "" {
|
|
|
+ rdata["area"] = entprovince
|
|
|
+ if entcity != "" && entcity != entprovince {
|
|
|
+ rdata["city"] = entcity
|
|
|
+ if entdistrict != "" && entdistrict != entcity {
|
|
|
+ rdata["district"] = entdistrict
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ } else if bidcity == "" && entcity != "" && entprovince == bidarea {
|
|
|
+ rdata["city"] = entcity
|
|
|
+ if entdistrict != "" && entcity != entdistrict {
|
|
|
+ rdata["district"] = entdistrict
|
|
|
+ }
|
|
|
+ } else if biddistrict == "" && entdistrict != "" && entprovince == bidarea && bidcity == entcity {
|
|
|
+ rdata["district"] = entdistrict
|
|
|
}
|
|
|
|
|
|
return rdata
|