|
@@ -18,6 +18,7 @@ var PageSize = 5000 //查询分页
|
|
|
var biddingFields = `{"buyer":1,"modifyinfo":1}`
|
|
|
var qyxyFields = `{"company_code":1,"province":1,"city":1,"district":1}`
|
|
|
var findDb string
|
|
|
+var cc chan bool = make(chan bool, 5)
|
|
|
|
|
|
func init() {
|
|
|
qu.ReadConfig(&Config)
|
|
@@ -28,6 +29,7 @@ func init() {
|
|
|
initCap := qu.IntAll(Config["dbsize"])
|
|
|
addr := qu.ObjToString(Config["mgodb"])
|
|
|
dbname := qu.ObjToString(Config["dbname"])
|
|
|
+ cc = make(chan bool, 3)
|
|
|
mgo.Mgo = mgo.MgoFactory(initCap, initCap*3, 120, addr, dbname)
|
|
|
mgo.Mgo_Bidding = mgo.MgoFactory(initCap, initCap*3, 120, qu.ObjToString(Config["mgodb_bidding"]), qu.ObjToString(Config["dbname_bidding"]))
|
|
|
nextNodes = qu.ObjArrToMapArr(Config["nextNode"].([]interface{}))
|
|
@@ -103,25 +105,28 @@ func getCity(sid, eid, rep string) {
|
|
|
}
|
|
|
|
|
|
_id := qu.BsonIdToSId(v["_id"])
|
|
|
- rdata := cityMarshal(v)
|
|
|
- if len(rdata) > 0 {
|
|
|
- umap := make(map[string]interface{})
|
|
|
- if v["modifyinfo"] == nil {
|
|
|
- umap["modifyinfo"] = make(map[string]interface{})
|
|
|
- } else {
|
|
|
- umap["modifyinfo"] = v["modifyinfo"]
|
|
|
- }
|
|
|
- for rk, rv := range rdata {
|
|
|
- umap[rk] = rv
|
|
|
- umap["modifyinfo"].(map[string]interface{})[rk] = "企业信息"
|
|
|
+ cc <- true
|
|
|
+ go func(v map[string]interface{}) {
|
|
|
+ rdata := cityMarshal(v)
|
|
|
+ if len(rdata) > 0 {
|
|
|
+ umap := make(map[string]interface{})
|
|
|
+ if v["modifyinfo"] == nil {
|
|
|
+ umap["modifyinfo"] = make(map[string]interface{})
|
|
|
+ } else {
|
|
|
+ umap["modifyinfo"] = v["modifyinfo"]
|
|
|
+ }
|
|
|
+ for rk, rv := range rdata {
|
|
|
+ umap[rk] = rv
|
|
|
+ umap["modifyinfo"].(map[string]interface{})[rk] = "企业信息"
|
|
|
+ }
|
|
|
+ unum++
|
|
|
+ log.Println(unum, ",id:", _id)
|
|
|
+ mgo.Mgo_Bidding.UpdateById(table, v["_id"], map[string]interface{}{
|
|
|
+ "$set": umap,
|
|
|
+ })
|
|
|
}
|
|
|
- unum++
|
|
|
- log.Println(unum,",id:",_id)
|
|
|
- mgo.Mgo_Bidding.UpdateById(table, v["_id"], map[string]interface{}{
|
|
|
- "$set": umap,
|
|
|
- })
|
|
|
-
|
|
|
- }
|
|
|
+ <-cc
|
|
|
+ }(v)
|
|
|
index++
|
|
|
if index%1000 == 0 {
|
|
|
log.Println("index:", index, ",页码:", i+1, ",_id:", _id)
|
|
@@ -148,18 +153,18 @@ func cityMarshal(data map[string]interface{}) map[string]string {
|
|
|
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"]) {
|
|
|
+ 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"]){
|
|
|
+ if district := qu.ObjToString((*province_city_district)["district"]); district != "" && !strings.Contains(district, rdata["area"]) {
|
|
|
rdata["district"] = district
|
|
|
}
|
|
|
return rdata
|
|
|
}
|
|
|
}
|
|
|
if province := qu.ObjToString((*tmp)["province"]); province != "" {
|
|
|
- province = strings.TrimRight(province,"省")
|
|
|
- province = strings.TrimRight(province,"市")
|
|
|
+ province = strings.TrimRight(province, "省")
|
|
|
+ province = strings.TrimRight(province, "市")
|
|
|
rdata["area"] = province
|
|
|
}
|
|
|
if city := qu.ObjToString((*tmp)["city"]); city != "" {
|