|
@@ -25,6 +25,8 @@ var (
|
|
saveCtSp = make(chan bool, 1)
|
|
saveCtSp = make(chan bool, 1)
|
|
saveCyPool = make(chan map[string]interface{}, 5000)
|
|
saveCyPool = make(chan map[string]interface{}, 5000)
|
|
saveCySp = make(chan bool, 1)
|
|
saveCySp = make(chan bool, 1)
|
|
|
|
+ saveEntPool = make(chan map[string]interface{}, 5000)
|
|
|
|
+ saveEntSp = make(chan bool, 1)
|
|
|
|
|
|
BaseField = []string{"lasttime", "firsttime", "proposed_number", "proposed_id", "follow_num", "title", "projectname", "approvecode",
|
|
BaseField = []string{"lasttime", "firsttime", "proposed_number", "proposed_id", "follow_num", "title", "projectname", "approvecode",
|
|
"approvenumber", "project_stage_code", "total_investment", "funds", "owner", "name_id", "ownerclass_code", "projecttype_code", "projectaddr",
|
|
"approvenumber", "project_stage_code", "total_investment", "funds", "owner", "name_id", "ownerclass_code", "projecttype_code", "projectaddr",
|
|
@@ -33,6 +35,7 @@ var (
|
|
RecordField = []string{"proposed_id", "infoid", "follow_num", "project_stage_code", "title", "project_scale", "publishtime", "jybxhref", "createtime"}
|
|
RecordField = []string{"proposed_id", "infoid", "follow_num", "project_stage_code", "title", "project_scale", "publishtime", "jybxhref", "createtime"}
|
|
ContactField = []string{"proposed_id", "infoid", "follow_num", "name_id", "name", "contact_name", "contact_tel", "contact_addr", "createtime"}
|
|
ContactField = []string{"proposed_id", "infoid", "follow_num", "name_id", "name", "contact_name", "contact_tel", "contact_addr", "createtime"}
|
|
CategoryField = []string{"proposed_id", "labelcode", "labelvalues", "labelweight", "createtime"}
|
|
CategoryField = []string{"proposed_id", "labelcode", "labelvalues", "labelweight", "createtime"}
|
|
|
|
+ EntField = []string{"proposed_id", "name_id", "name", "area_code", "city_code", "createtime"}
|
|
AreaCode = make(map[string]string, 5000)
|
|
AreaCode = make(map[string]string, 5000)
|
|
)
|
|
)
|
|
|
|
|
|
@@ -153,54 +156,72 @@ func taskTidb(q map[string]interface{}) {
|
|
// }
|
|
// }
|
|
//}
|
|
//}
|
|
//saveBasePool <- saveM
|
|
//saveBasePool <- saveM
|
|
- saveCy := make(map[string]interface{})
|
|
|
|
- saveCy["proposed_id"] = mongodb.BsonIdToSId(tmp["_id"])
|
|
|
|
- saveCy["labelcode"] = "category_code"
|
|
|
|
- saveCy["labelvalues"] = util.ObjToString(tmp["category_code"])
|
|
|
|
- saveCy["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
|
- saveCyPool <- saveCy
|
|
|
|
-
|
|
|
|
- for _, v := range tmp["list"].([]interface{}) {
|
|
|
|
- saveRc := make(map[string]interface{})
|
|
|
|
- v1 := v.(map[string]interface{})
|
|
|
|
- saveRc["proposed_id"] = mongodb.BsonIdToSId(tmp["_id"])
|
|
|
|
- infoid := util.ObjToString(v1["infoid"])
|
|
|
|
- saveRc["infoid"] = infoid
|
|
|
|
- saveRc["jybxhref"] = fmt.Sprintf(config.Conf.Serve.JyHref, util.CommonEncodeArticle("content", infoid))
|
|
|
|
- saveRc["follow_num"] = v1["follow_num"]
|
|
|
|
- saveRc["project_scale"] = util.ObjToString(v1["project_scale"])
|
|
|
|
- saveRc["project_stage_code"] = util.ObjToString(v1["project_stage_code"])
|
|
|
|
- saveRc["title"] = util.ObjToString(v1["title"])
|
|
|
|
- if t := util.Int64All(v1["publishtime"]); t > 0 {
|
|
|
|
- saveRc["publishtime"] = util.FormatDateByInt64(&t, util.Date_Full_Layout)
|
|
|
|
|
|
+ //saveCy := make(map[string]interface{})
|
|
|
|
+ //saveCy["proposed_id"] = mongodb.BsonIdToSId(tmp["_id"])
|
|
|
|
+ //saveCy["labelcode"] = "category_code"
|
|
|
|
+ //saveCy["labelvalues"] = util.ObjToString(tmp["category_code"])
|
|
|
|
+ //saveCy["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
|
+ //saveCyPool <- saveCy
|
|
|
|
+ if ow := util.ObjToString(tmp["owner"]); ow != "" {
|
|
|
|
+ saveEnt := make(map[string]interface{})
|
|
|
|
+ saveEnt["proposed_id"] = mongodb.BsonIdToSId(tmp["_id"])
|
|
|
|
+ saveEnt["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
|
+ saveEnt["name"] = ow
|
|
|
|
+ if eid := redis.GetStr("ent_id", ow); eid != "" {
|
|
|
|
+ arr := strings.Split(eid, "_")
|
|
|
|
+ saveEnt["name_id"] = arr[0]
|
|
|
|
+ if len(arr) == 2 {
|
|
|
|
+ saveEnt["area_code"] = arr[1]
|
|
|
|
+ } else if len(arr) == 3 {
|
|
|
|
+ saveEnt["city_code"] = arr[2]
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- saveRc["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
|
- saveRcPool <- saveRc
|
|
|
|
-
|
|
|
|
- //if util.ObjToString(v1["project_person"]) != "" || util.ObjToString(v1["project_phone"]) != "" {
|
|
|
|
- // saveCt := make(map[string]interface{})
|
|
|
|
- // saveCt["proposed_id"] = mongodb.BsonIdToSId(tmp["_id"])
|
|
|
|
- // saveCt["infoid"] = infoid
|
|
|
|
- // saveCt["follow_num"] = tmp["follow_num"]
|
|
|
|
- // if b := util.ObjToString(tmp["owner"]); b != "" {
|
|
|
|
- // saveCt["name"] = util.ObjToString(tmp["owner"])
|
|
|
|
- // if eid := redis.GetStr("ent_id", b); eid != "" {
|
|
|
|
- // saveCt["name_id"] = strings.Split(eid, "_")[0]
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- // if p := util.ObjToString(v1["project_person"]); p != "" {
|
|
|
|
- // saveCt["contact_name"] = p
|
|
|
|
- // }
|
|
|
|
- // if p := util.ObjToString(v1["project_phone"]); p != "" {
|
|
|
|
- // saveCt["contact_tel"] = p
|
|
|
|
- // }
|
|
|
|
- // if p := util.ObjToString(v1["projectaddr"]); p != "" {
|
|
|
|
- // saveCt["contact_addr"] = p
|
|
|
|
- // }
|
|
|
|
- // saveCt["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
|
- // saveCtPool <- saveCt
|
|
|
|
- //}
|
|
|
|
|
|
+ saveEnt["identify_type"] = 1
|
|
|
|
+ saveEnt["area_code"] = AreaCode[util.ObjToString(tmp["area"])]
|
|
|
|
+ saveEntPool <- saveEnt
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //for _, v := range tmp["list"].([]interface{}) {
|
|
|
|
+ // saveRc := make(map[string]interface{})
|
|
|
|
+ // v1 := v.(map[string]interface{})
|
|
|
|
+ // saveRc["proposed_id"] = mongodb.BsonIdToSId(tmp["_id"])
|
|
|
|
+ // infoid := util.ObjToString(v1["infoid"])
|
|
|
|
+ // saveRc["infoid"] = infoid
|
|
|
|
+ // saveRc["jybxhref"] = fmt.Sprintf(config.Conf.Serve.JyHref, util.CommonEncodeArticle("content", infoid))
|
|
|
|
+ // saveRc["follow_num"] = v1["follow_num"]
|
|
|
|
+ // saveRc["project_scale"] = util.ObjToString(v1["project_scale"])
|
|
|
|
+ // saveRc["project_stage_code"] = util.ObjToString(v1["project_stage_code"])
|
|
|
|
+ // saveRc["title"] = util.ObjToString(v1["title"])
|
|
|
|
+ // if t := util.Int64All(v1["publishtime"]); t > 0 {
|
|
|
|
+ // saveRc["publishtime"] = util.FormatDateByInt64(&t, util.Date_Full_Layout)
|
|
|
|
+ // }
|
|
|
|
+ // saveRc["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
|
+ // saveRcPool <- saveRc
|
|
|
|
+ //
|
|
|
|
+ // //if util.ObjToString(v1["project_person"]) != "" || util.ObjToString(v1["project_phone"]) != "" {
|
|
|
|
+ // // saveCt := make(map[string]interface{})
|
|
|
|
+ // // saveCt["proposed_id"] = mongodb.BsonIdToSId(tmp["_id"])
|
|
|
|
+ // // saveCt["infoid"] = infoid
|
|
|
|
+ // // saveCt["follow_num"] = tmp["follow_num"]
|
|
|
|
+ // // if b := util.ObjToString(tmp["owner"]); b != "" {
|
|
|
|
+ // // saveCt["name"] = util.ObjToString(tmp["owner"])
|
|
|
|
+ // // if eid := redis.GetStr("ent_id", b); eid != "" {
|
|
|
|
+ // // saveCt["name_id"] = strings.Split(eid, "_")[0]
|
|
|
|
+ // // }
|
|
|
|
+ // // }
|
|
|
|
+ // // if p := util.ObjToString(v1["project_person"]); p != "" {
|
|
|
|
+ // // saveCt["contact_name"] = p
|
|
|
|
+ // // }
|
|
|
|
+ // // if p := util.ObjToString(v1["project_phone"]); p != "" {
|
|
|
|
+ // // saveCt["contact_tel"] = p
|
|
|
|
+ // // }
|
|
|
|
+ // // if p := util.ObjToString(v1["projectaddr"]); p != "" {
|
|
|
|
+ // // saveCt["contact_addr"] = p
|
|
|
|
+ // // }
|
|
|
|
+ // // saveCt["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
|
+ // // saveCtPool <- saveCt
|
|
|
|
+ // //}
|
|
|
|
+ //}
|
|
}(tmp)
|
|
}(tmp)
|
|
tmp = make(map[string]interface{})
|
|
tmp = make(map[string]interface{})
|
|
}
|
|
}
|
|
@@ -333,6 +354,29 @@ func taskB(tmp map[string]interface{}) {
|
|
saveCy["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
saveCy["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
MysqlTool.Insert("dwd_f_nzj_category_tags", saveCy)
|
|
MysqlTool.Insert("dwd_f_nzj_category_tags", saveCy)
|
|
}
|
|
}
|
|
|
|
+ info2 := MysqlTool.FindOne("dwd_f_nzj_ent", map[string]interface{}{"proposed_id": mongodb.BsonIdToSId(tmp["_id"])}, "", "")
|
|
|
|
+ if info2 != nil && len(*info2) > 0 {
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ if ow := util.ObjToString(tmp["owner"]); ow != "" {
|
|
|
|
+ saveEnt := make(map[string]interface{})
|
|
|
|
+ saveEnt["proposed_id"] = mongodb.BsonIdToSId(tmp["_id"])
|
|
|
|
+ saveEnt["createtime"] = time.Now().Format(util.Date_Full_Layout)
|
|
|
|
+ saveEnt["name"] = ow
|
|
|
|
+ if eid := redis.GetStr("ent_id", ow); eid != "" {
|
|
|
|
+ arr := strings.Split(eid, "_")
|
|
|
|
+ saveEnt["name_id"] = arr[0]
|
|
|
|
+ if len(arr) == 2 {
|
|
|
|
+ saveEnt["area_code"] = arr[1]
|
|
|
|
+ } else if len(arr) == 3 {
|
|
|
|
+ saveEnt["city_code"] = arr[2]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ saveEnt["identify_type"] = 1
|
|
|
|
+ saveEnt["area_code"] = AreaCode[util.ObjToString(tmp["area"])]
|
|
|
|
+ MysqlTool.Insert("dwd_f_nzj_ent", saveEnt)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
func taskE(tmp map[string]interface{}) {
|
|
func taskE(tmp map[string]interface{}) {
|
|
@@ -525,3 +569,38 @@ func SaveCyFunc(table string, arr []string) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+func SaveEntFunc(table string, arr []string) {
|
|
|
|
+ arru := make([]map[string]interface{}, saveSize)
|
|
|
|
+ indexu := 0
|
|
|
|
+ for {
|
|
|
|
+ select {
|
|
|
|
+ case v := <-saveEntPool:
|
|
|
|
+ arru[indexu] = v
|
|
|
|
+ indexu++
|
|
|
|
+ if indexu == saveSize {
|
|
|
|
+ saveEntSp <- true
|
|
|
|
+ go func(arru []map[string]interface{}) {
|
|
|
|
+ defer func() {
|
|
|
|
+ <-saveEntSp
|
|
|
|
+ }()
|
|
|
|
+ MysqlTool.InsertBulk(table, arr, arru...)
|
|
|
|
+ }(arru)
|
|
|
|
+ arru = make([]map[string]interface{}, saveSize)
|
|
|
|
+ indexu = 0
|
|
|
|
+ }
|
|
|
|
+ case <-time.After(1000 * time.Millisecond):
|
|
|
|
+ if indexu > 0 {
|
|
|
|
+ saveEntSp <- true
|
|
|
|
+ go func(arru []map[string]interface{}) {
|
|
|
|
+ defer func() {
|
|
|
|
+ <-saveEntSp
|
|
|
|
+ }()
|
|
|
|
+ MysqlTool.InsertBulk(table, arr, arru...)
|
|
|
|
+ }(arru[:indexu])
|
|
|
|
+ arru = make([]map[string]interface{}, saveSize)
|
|
|
|
+ indexu = 0
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|