|
@@ -47,7 +47,7 @@ var (
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
+ isMerger bool
|
|
|
SiteMap map[string]map[string]interface{} //站点map
|
|
|
)
|
|
|
|
|
@@ -66,6 +66,8 @@ func init() {
|
|
|
}
|
|
|
extract = mconf["extract"].(string)
|
|
|
extract_copy = mconf["extract_copy"].(string)
|
|
|
+ isMerger = mconf["isMerger"].(bool)
|
|
|
+
|
|
|
//bidding = mconf["bidding"].(string)
|
|
|
mgo.InitPool()
|
|
|
|
|
@@ -349,26 +351,32 @@ func task(data []byte, mapInfo map[string]interface{}) {
|
|
|
b, source,reason := DM.check(info)
|
|
|
if b { //有重复,生成更新语句,更新抽取和更新招标
|
|
|
repeateN++
|
|
|
- //var mergeArr = []int64{} //更改合并数组记录
|
|
|
- //var newData = &Info{} //更换新的数据池数据
|
|
|
+ var mergeArr = []int64{} //更改合并数组记录
|
|
|
+ var newData = &Info{} //更换新的数据池数据
|
|
|
var id_map = map[string]interface{}{}
|
|
|
repeat_id := source.id
|
|
|
id_map["_id"]= util.StringTOBsonId(info.id)
|
|
|
- //合并操作--评功权重打分-合并完替换原始数据池
|
|
|
- //basic_bool := basicDataScore(source,info)
|
|
|
- //if basic_bool {
|
|
|
- // //已原始数据为标准-对比数据打判重标签
|
|
|
- // newData,mergeArr= mergeDataFields(source,info)
|
|
|
- // DM.replaceSourceData(newData,source.id) //替换
|
|
|
- // id_map["_id"]= util.StringTOBsonId(source.id)
|
|
|
- // repeat_id = source.id
|
|
|
- //}else {
|
|
|
- // //已对比数据为标准 ,数据池的数据打判重标签
|
|
|
- // newData,mergeArr= mergeDataFields(info,source)
|
|
|
- // DM.replaceSourceData(newData,source.id)//替换
|
|
|
- // id_map["_id"]= util.StringTOBsonId(info.id)
|
|
|
- // repeat_id = info.id
|
|
|
- //}
|
|
|
+
|
|
|
+ if isMerger{
|
|
|
+ //需要合并相关操作
|
|
|
+ //合并操作--评功权重打分-合并完替换原始数据池
|
|
|
+ basic_bool := basicDataScore(source,info)
|
|
|
+ if basic_bool {
|
|
|
+ //已原始数据为标准-对比数据打判重标签
|
|
|
+ newData,mergeArr= mergeDataFields(source,info)
|
|
|
+ DM.replaceSourceData(newData,source.id) //替换
|
|
|
+ id_map["_id"]= util.StringTOBsonId(source.id)
|
|
|
+ repeat_id = source.id
|
|
|
+ }else {
|
|
|
+ //已对比数据为标准 ,数据池的数据打判重标签
|
|
|
+ newData,mergeArr= mergeDataFields(info,source)
|
|
|
+ DM.replaceSourceData(newData,source.id)//替换
|
|
|
+ id_map["_id"]= util.StringTOBsonId(info.id)
|
|
|
+ repeat_id = info.id
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
var update_map = map[string]interface{}{
|
|
|
"$set": map[string]interface{}{
|
|
@@ -378,35 +386,38 @@ func task(data []byte, mapInfo map[string]interface{}) {
|
|
|
},
|
|
|
}
|
|
|
|
|
|
- //合并记录
|
|
|
- //if len(newData.mergemap)>0 {
|
|
|
- // update_map["$set"].(map[string]interface{})["merge"] = newData.mergemap
|
|
|
- // //fmt.Println("合并长度:",len(newData.mergemap))
|
|
|
- //}
|
|
|
- //
|
|
|
- ////更新合并后的数据
|
|
|
- //for _,value :=range mergeArr {
|
|
|
- // if value==1 {
|
|
|
- // update_map["$set"].(map[string]interface{})["area"] = newData.area
|
|
|
- // update_map["$set"].(map[string]interface{})["city"] = newData.city
|
|
|
- // }else if value==2 {
|
|
|
- // update_map["$set"].(map[string]interface{})["projectname"] = newData.projectname
|
|
|
- // }else if value==3 {
|
|
|
- // update_map["$set"].(map[string]interface{})["projectcode"] = newData.projectcode
|
|
|
- // }else if value==4 {
|
|
|
- // update_map["$set"].(map[string]interface{})["buyer"] = newData.buyer
|
|
|
- // }else if value==5 {
|
|
|
- // update_map["$set"].(map[string]interface{})["budget"] = newData.budget
|
|
|
- // }else if value==6 {
|
|
|
- // update_map["$set"].(map[string]interface{})["winner"] = newData.winner
|
|
|
- // }else if value==7 {
|
|
|
- // update_map["$set"].(map[string]interface{})["bidamount"] = newData.bidamount
|
|
|
- // }else if value==8 {
|
|
|
- // update_map["$set"].(map[string]interface{})["bidopentime"] = newData.bidopentime
|
|
|
- // }else {
|
|
|
- //
|
|
|
- // }
|
|
|
- //}
|
|
|
+ if isMerger {
|
|
|
+ //合并记录
|
|
|
+ if len(newData.mergemap)>0 {
|
|
|
+ update_map["$set"].(map[string]interface{})["merge"] = newData.mergemap
|
|
|
+ //fmt.Println("合并长度:",len(newData.mergemap))
|
|
|
+ }
|
|
|
+
|
|
|
+ //更新合并后的数据
|
|
|
+ for _,value :=range mergeArr {
|
|
|
+ if value==1 {
|
|
|
+ update_map["$set"].(map[string]interface{})["area"] = newData.area
|
|
|
+ update_map["$set"].(map[string]interface{})["city"] = newData.city
|
|
|
+ }else if value==2 {
|
|
|
+ update_map["$set"].(map[string]interface{})["projectname"] = newData.projectname
|
|
|
+ }else if value==3 {
|
|
|
+ update_map["$set"].(map[string]interface{})["projectcode"] = newData.projectcode
|
|
|
+ }else if value==4 {
|
|
|
+ update_map["$set"].(map[string]interface{})["buyer"] = newData.buyer
|
|
|
+ }else if value==5 {
|
|
|
+ update_map["$set"].(map[string]interface{})["budget"] = newData.budget
|
|
|
+ }else if value==6 {
|
|
|
+ update_map["$set"].(map[string]interface{})["winner"] = newData.winner
|
|
|
+ }else if value==7 {
|
|
|
+ update_map["$set"].(map[string]interface{})["bidamount"] = newData.bidamount
|
|
|
+ }else if value==8 {
|
|
|
+ update_map["$set"].(map[string]interface{})["bidopentime"] = newData.bidopentime
|
|
|
+ }else {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
//构建数据库更新用到的
|
|
|
updateExtract = append(updateExtract, []map[string]interface{}{
|