|
@@ -38,14 +38,14 @@ var (
|
|
|
FilterRegTitle_1 = regexp.MustCompile("^_$")
|
|
|
FilterRegTitle_2 = regexp.MustCompile("^_$")
|
|
|
|
|
|
-
|
|
|
isMerger bool //是否合并
|
|
|
threadNum int //线程数量
|
|
|
SiteMap map[string]map[string]interface{} //站点map
|
|
|
idtype, sid, eid string //测试人员判重使用
|
|
|
)
|
|
|
|
|
|
-func init() {
|
|
|
+func init2() {
|
|
|
+
|
|
|
flag.StringVar(&lastid, "id", "", "最后加载id") //以小于等于此id开始加载最近几天的数据
|
|
|
flag.StringVar(&sid, "sid", "", "开始id")
|
|
|
flag.StringVar(&eid, "eid", "", "结束id")
|
|
@@ -104,8 +104,14 @@ func main() {
|
|
|
|
|
|
//测试组人员使用
|
|
|
func mainT() {
|
|
|
- //sid = "5dfbd43ce9d1f601e43fa402"
|
|
|
- //eid = "5e0954b30cf41612e061d0c8"
|
|
|
+
|
|
|
+ /*
|
|
|
+ 761414
|
|
|
+ ObjectId("5da3f2c5a5cb26b9b79847fc")
|
|
|
+ ObjectId("5db2735ba5cb26b9b7c99c6f")
|
|
|
+ */
|
|
|
+ //sid = "5da3f2c5a5cb26b9b79847f0"
|
|
|
+ //eid = "5db2735ba5cb26b9b7c99c6f"
|
|
|
mapinfo := map[string]interface{}{}
|
|
|
if sid == "" || eid == "" {
|
|
|
log.Println("sid,eid参数不能为空")
|
|
@@ -115,7 +121,7 @@ func mainT() {
|
|
|
mapinfo["lteid"] = eid
|
|
|
mapinfo["stop"] = "true"
|
|
|
task([]byte{}, mapinfo)
|
|
|
- time.Sleep(5 * time.Second)
|
|
|
+ time.Sleep(30 * time.Second)
|
|
|
}
|
|
|
func processUdpMsg(act byte, data []byte, ra *net.UDPAddr) {
|
|
|
fmt.Println("接受的段数据")
|
|
@@ -200,7 +206,7 @@ func task(data []byte, mapInfo map[string]interface{}) {
|
|
|
}()
|
|
|
info := NewInfo(tmp)
|
|
|
//是否为无效数据
|
|
|
- if invalidData(info.buyer, info.projectname, info.projectcode) {
|
|
|
+ if invalidData(info.buyer, info.projectname, info.projectcode,info.contractnumber) {
|
|
|
updateExtract = append(updateExtract, []map[string]interface{}{
|
|
|
map[string]interface{}{
|
|
|
"_id": tmp["_id"],
|
|
@@ -286,7 +292,9 @@ func task(data []byte, mapInfo map[string]interface{}) {
|
|
|
update_map["$set"].(map[string]interface{})["bidamount"] = newData.bidamount
|
|
|
} else if value == 8 {
|
|
|
update_map["$set"].(map[string]interface{})["bidopentime"] = newData.bidopentime
|
|
|
- } else {
|
|
|
+ } else if value == 9 {
|
|
|
+ update_map["$set"].(map[string]interface{})["contractnumber"] = newData.contractnumber
|
|
|
+ }else {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -427,7 +435,7 @@ func historyTask(data []byte, mapInfo map[string]interface{}) {
|
|
|
wg.Done()
|
|
|
}()
|
|
|
info := NewInfo(tmp)
|
|
|
- if invalidData(info.buyer, info.projectname, info.projectcode) {
|
|
|
+ if invalidData(info.buyer, info.projectname, info.projectcode,info.contractnumber) {
|
|
|
//mapLock.Lock()
|
|
|
updateExtract = append(updateExtract, []map[string]interface{}{
|
|
|
map[string]interface{}{
|
|
@@ -529,7 +537,9 @@ func historyTask(data []byte, mapInfo map[string]interface{}) {
|
|
|
update_map["$set"].(map[string]interface{})["bidamount"] = newData.bidamount
|
|
|
} else if value == 8 {
|
|
|
update_map["$set"].(map[string]interface{})["bidopentime"] = newData.bidopentime
|
|
|
- } else {
|
|
|
+ } else if value == 9 {
|
|
|
+ update_map["$set"].(map[string]interface{})["contractnumber"] = newData.contractnumber
|
|
|
+ }else {
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -707,6 +717,21 @@ func mergeDataFields(source *Info, info *Info) (*Info, []int64) {
|
|
|
mergeArr = append(mergeArr, 8)
|
|
|
}
|
|
|
|
|
|
+ //9、合同编号
|
|
|
+ if source.contractnumber == "" && info.contractnumber != "" {
|
|
|
+ var arr []string
|
|
|
+ if source.mergemap["contractnumber"] == nil {
|
|
|
+ arr = make([]string, 0)
|
|
|
+ } else {
|
|
|
+ arr = source.mergemap["contractnumber"].([]string)
|
|
|
+ }
|
|
|
+ arr = append(arr, source.contractnumber)
|
|
|
+ source.mergemap["contractnumber"] = arr
|
|
|
+
|
|
|
+ source.contractnumber = info.contractnumber
|
|
|
+ mergeArr = append(mergeArr, 9)
|
|
|
+ }
|
|
|
+
|
|
|
//以上合并过于简单,待进一步优化
|
|
|
return source, mergeArr
|
|
|
}
|
|
@@ -812,7 +837,7 @@ func basicDataScore(v *Info, info *Info) bool {
|
|
|
if v.buyer != "" {
|
|
|
m++
|
|
|
}
|
|
|
- if v.projectcode != "" {
|
|
|
+ if v.projectcode != ""||v.contractnumber != "" {
|
|
|
m++
|
|
|
}
|
|
|
if v.budget != 0 {
|
|
@@ -843,7 +868,7 @@ func basicDataScore(v *Info, info *Info) bool {
|
|
|
if info.buyer != "" {
|
|
|
n++
|
|
|
}
|
|
|
- if info.projectcode != "" {
|
|
|
+ if info.projectcode != "" || info.contractnumber != ""{
|
|
|
n++
|
|
|
}
|
|
|
if info.budget != 0 {
|
|
@@ -882,7 +907,7 @@ func basicDataScore(v *Info, info *Info) bool {
|
|
|
}
|
|
|
|
|
|
//无效数据
|
|
|
-func invalidData(d1 string, d2 string, d3 string) bool {
|
|
|
+func invalidData(d1 string, d2 string, d3 string, d4 string) bool {
|
|
|
var n int
|
|
|
if d1 != "" {
|
|
|
n++
|
|
@@ -893,7 +918,10 @@ func invalidData(d1 string, d2 string, d3 string) bool {
|
|
|
if d3 != "" {
|
|
|
n++
|
|
|
}
|
|
|
- if n == 0 {
|
|
|
+ if d4 != "" {
|
|
|
+ n++
|
|
|
+ }
|
|
|
+ if n == 0 {
|
|
|
return true
|
|
|
}
|
|
|
return false
|