|
@@ -39,11 +39,12 @@ var fieldArr = []string{
|
|
"list_code",
|
|
"list_code",
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+//保存至mysql
|
|
func saveCompanyMysql() {
|
|
func saveCompanyMysql() {
|
|
sess := save_mgo.GetMgoConn()
|
|
sess := save_mgo.GetMgoConn()
|
|
defer save_mgo.DestoryMongoConn(sess)
|
|
defer save_mgo.DestoryMongoConn(sess)
|
|
q,total:=map[string]interface{}{},0
|
|
q,total:=map[string]interface{}{},0
|
|
- it := sess.DB(save_mgo.DbName).C("zktest_mysql_company_info").Find(&q).Iter()
|
|
|
|
|
|
+ it := sess.DB(save_mgo.DbName).C(o_company_coll).Find(&q).Iter()
|
|
for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
if total%10000==0 {
|
|
if total%10000==0 {
|
|
log.Debug("curent index ",total)
|
|
log.Debug("curent index ",total)
|
|
@@ -52,11 +53,9 @@ func saveCompanyMysql() {
|
|
MysqlTool.Insert("f_company",tmp)
|
|
MysqlTool.Insert("f_company",tmp)
|
|
tmp = make(map[string]interface{})
|
|
tmp = make(map[string]interface{})
|
|
}
|
|
}
|
|
-
|
|
|
|
log.Debug("is over ",total)
|
|
log.Debug("is over ",total)
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
//关联企业信息-升数据
|
|
//关联企业信息-升数据
|
|
func exportCompanyMysql() {
|
|
func exportCompanyMysql() {
|
|
dataArr := repeatCompanyNamedata()
|
|
dataArr := repeatCompanyNamedata()
|
|
@@ -64,34 +63,26 @@ func exportCompanyMysql() {
|
|
if index%10000==0 {
|
|
if index%10000==0 {
|
|
log.Debug("curent index ",index)
|
|
log.Debug("curent index ",index)
|
|
}
|
|
}
|
|
- for company,_ := range tmp{
|
|
|
|
- arr,_ :=spi_mgo.Find(s_qybase_coll, map[string]interface{}{
|
|
|
|
|
|
+ for company,type_str := range tmp{
|
|
|
|
+ infoArr,_ :=spi_mgo.Find(s_qybase_coll, map[string]interface{}{
|
|
"company_name":company,
|
|
"company_name":company,
|
|
},nil,nil)
|
|
},nil,nil)
|
|
- //选取最优-企业信息
|
|
|
|
- if len(dataArr)>0 {
|
|
|
|
- getOneBaseCompany(arr)
|
|
|
|
- }else {
|
|
|
|
- //记录企业---
|
|
|
|
|
|
+ if len(infoArr)>0 {//选取最优-企业信息
|
|
|
|
+ index := getOneBaseCompany(infoArr)
|
|
|
|
+ info := infoArr[index]
|
|
|
|
+ update := buildUpdateData(info,type_str)
|
|
|
|
+ save_mgo.Save(o_company_coll,update)
|
|
|
|
+ }else {//企业未匹配-记录
|
|
|
|
+ save_mgo.Save(o_company_coll, map[string]interface{}{
|
|
|
|
+ "company_name":company,
|
|
|
|
+ })
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-func getOneBaseCompany(arr []map[string]interface{}) map[string]interface{} {
|
|
|
|
- data := map[string]interface{}{}
|
|
|
|
- if len(arr)==1 {
|
|
|
|
- return arr[0]
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return data
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-func updateData(tmp map[string]interface{},type_str string) map[string]interface{} {
|
|
|
|
|
|
+//构建更新数据
|
|
|
|
+func buildUpdateData(tmp map[string]interface{},type_str string) map[string]interface{} {
|
|
update := map[string]interface{}{}
|
|
update := map[string]interface{}{}
|
|
for _,v := range fieldArr{
|
|
for _,v := range fieldArr{
|
|
if tmp[v]!=nil {
|
|
if tmp[v]!=nil {
|
|
@@ -102,7 +93,6 @@ func updateData(tmp map[string]interface{},type_str string) map[string]interface
|
|
if company_id=="" {
|
|
if company_id=="" {
|
|
return map[string]interface{}{}
|
|
return map[string]interface{}{}
|
|
}
|
|
}
|
|
-
|
|
|
|
qy_data := qy_mgo.FindByStrId("qyxy_std",company_id)
|
|
qy_data := qy_mgo.FindByStrId("qyxy_std",company_id)
|
|
update["area"] = ""
|
|
update["area"] = ""
|
|
update["city"] = ""
|
|
update["city"] = ""
|
|
@@ -112,23 +102,31 @@ func updateData(tmp map[string]interface{},type_str string) map[string]interface
|
|
update["city"] = qu.ObjToString(qy_data["company_city"])
|
|
update["city"] = qu.ObjToString(qy_data["company_city"])
|
|
update["district"] = qu.ObjToString(qy_data["company_district"])
|
|
update["district"] = qu.ObjToString(qy_data["company_district"])
|
|
}
|
|
}
|
|
|
|
+ update["business_type"] = type_str
|
|
|
|
|
|
- if strings.Contains(type_str,"&") {
|
|
|
|
- update["business_type"] = "3"
|
|
|
|
- }else {
|
|
|
|
- if strings.Contains(type_str,"生产") {
|
|
|
|
- update["business_type"] = "1"
|
|
|
|
- }else if strings.Contains(type_str,"经营") {
|
|
|
|
- update["business_type"] = "2"
|
|
|
|
- }else {
|
|
|
|
- update["business_type"] = ""
|
|
|
|
|
|
+ return update
|
|
|
|
+}
|
|
|
|
+//获取最优企业
|
|
|
|
+func getOneBaseCompany(arr []map[string]interface{}) int {
|
|
|
|
+ index :=0
|
|
|
|
+ flag := 100
|
|
|
|
+ if len(arr)>1 {
|
|
|
|
+ for k,tmp := range arr{
|
|
|
|
+ use_flag := qu.IntAll(tmp["use_flag"])
|
|
|
|
+ if use_flag==0 {
|
|
|
|
+ index=k
|
|
|
|
+ break
|
|
|
|
+ }else {
|
|
|
|
+ if use_flag<flag {
|
|
|
|
+ flag = use_flag
|
|
|
|
+ index = k
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- return update
|
|
|
|
|
|
+ return index
|
|
}
|
|
}
|
|
-
|
|
|
|
-//已结束
|
|
|
|
|
|
+//重复企业-过滤
|
|
func repeatCompanyNamedata() []map[string]string {
|
|
func repeatCompanyNamedata() []map[string]string {
|
|
sess := save_mgo.GetMgoConn()
|
|
sess := save_mgo.GetMgoConn()
|
|
defer save_mgo.DestoryMongoConn(sess)
|
|
defer save_mgo.DestoryMongoConn(sess)
|