Jianghan 4 년 전
부모
커밋
f1a0d69ca3

+ 2 - 2
fullproject/src_v1/main.go

@@ -90,8 +90,8 @@ func main() {
 
 //测试组人员使用
 func mainT() {
-	sid = "5eddb9189e628c5991654802"
-	eid = "5f9670aa50cded0641b30736"
+	sid = "5fe07b07f0f9d716c179e2aa"
+	eid = "5fe57be8f0f9d716c17d95e8"
 	//flag.StringVar(&sid, "sid", "", "开始id")
 	//flag.StringVar(&eid, "eid", "", "结束id")
 	//flag.Parse()

+ 1 - 1
fullproject/src_v1/project.go

@@ -685,7 +685,7 @@ func (p *ProjectTask) NewCachePinfo(id primitive.ObjectID, thisinfo *Info, bidty
 func (p *ProjectTask) UpdateProject(tmp map[string]interface{}, thisinfo *Info, pInfo *ProjectInfo, weight int, comStr string, ex int) {
 	if p.currentType != "updateInfo" {
 		if BinarySearch(pInfo.Ids, thisinfo.Id) > -1 {
-			log.Println("repeat", thisinfo.Id)
+			log.Println("repeat", thisinfo.Id, ",pid", pInfo.Id)
 			return
 		}
 	}

+ 3 - 1
fullproject/src_v1/task.go

@@ -461,7 +461,7 @@ func (p *ProjectTask) enter(db, coll string, q map[string]interface{}) {
 	countRepeat := 0
 
 	pool := make(chan bool, p.thread)
-	log.Println("start project", q)
+	log.Println("start project", q, p.pici)
 	sess := MongoTool.GetMgoConn()
 	defer MongoTool.DestoryMongoConn(sess)
 	infoPool := make(chan map[string]interface{}, 2000)
@@ -481,8 +481,10 @@ func (p *ProjectTask) enter(db, coll string, q map[string]interface{}) {
 						if P_QL.currentType == "project" && util.IntAll(tmp["dataging"]) == 1 {
 							//增量	dataging为1不参与合并
 							util.Debug("增量   dataging == 1 ", tmp["_id"])
+							countRepeat++
 							return
 						}
+
 						p.fillInPlace(tmp)
 						info := ParseInfo(tmp)
 						p.currentTime = info.Publishtime

+ 31 - 52
fullproject/src_v1/update.go

@@ -43,18 +43,7 @@ func (p *ProjectTask) modifyUpdate(pid string, index, position int, tmpPro, modi
 		_ = udpclient.WriteUdp(by, mu.OP_TYPE_DATA, toaddr[1])
 	}
 	// 修改内存
-	var pro ProjectInfo
-	err := mapstructure.Decode(tmpPro, &pro)
-	if err != nil {
-		qu.Debug(err)
-	}
-	p.AllIdsMapLock.Lock()
-	if v, ok := p.AllIdsMap[pid]; ok {
-		v.P = &pro
-	}
-	p.AllIdsMapLock.Unlock()
-
-	p.printMemPro(pid)
+	p.modifyMem(tmpPro)
 }
 
 func (p *ProjectTask) mergeAndModify(pInfoId string, index, position int, tmp map[string]interface{}, tmpPro map[string]interface{}, modifyMap map[string]interface{}) {
@@ -79,16 +68,7 @@ func (p *ProjectTask) mergeAndModify(pInfoId string, index, position int, tmp ma
 			//没有合并到新项目中
 			p.modifyUpdate(pInfoId, index, position, tmpPro, modifyMap)
 			// 修改内存
-			var pro ProjectInfo
-			err := mapstructure.Decode(tmpPro, &pro)
-			if err != nil {
-				qu.Debug(err)
-			}
-			p.AllIdsMapLock.Lock()
-			if v, ok := p.AllIdsMap[pInfoId]; ok {
-				v.P = &pro
-			}
-			p.AllIdsMapLock.Unlock()
+			p.modifyMem(tmpPro)
 		}
 	}else if index == 0 {
 		// 招标公告信息在原有项目中位于第1个
@@ -146,16 +126,7 @@ func (p *ProjectTask) mergeAndModify(pInfoId string, index, position int, tmp ma
 			//没有合并到新项目中,更新list字段,有条件更新项目外围字段
 			p.modifyUpdate(pInfoId, index, position, tmpPro, modifyMap)
 			// 修改内存
-			var pro ProjectInfo
-			err := mapstructure.Decode(tmpPro, &pro)
-			if err != nil {
-				qu.Debug(err)
-			}
-			p.AllIdsMapLock.Lock()
-			if v, ok := p.AllIdsMap[pInfoId]; ok {
-				v.P = &pro
-			}
-			p.AllIdsMapLock.Unlock()
+			p.modifyMem(tmpPro)
 		}
 	}else if index == 1 {
 		// 招标公告信息在原有项目中处于中间某一条
@@ -182,16 +153,7 @@ func (p *ProjectTask) mergeAndModify(pInfoId string, index, position int, tmp ma
 			// 未合并到新项目中
 			p.modifyUpdate(pInfoId, index, position, tmpPro, modifyMap)
 			// 修改内存
-			var pro ProjectInfo
-			err := mapstructure.Decode(tmpPro, &pro)
-			if err != nil {
-				qu.Debug(err)
-			}
-			p.AllIdsMapLock.Lock()
-			if v, ok := p.AllIdsMap[pInfoId]; ok {
-				v.P = &pro
-			}
-			p.AllIdsMapLock.Unlock()
+			p.modifyMem(tmpPro)
 		}
 	}else if index == 2 {
 		// 招标公告信息在原有项目中位于最后一条
@@ -220,16 +182,7 @@ func (p *ProjectTask) mergeAndModify(pInfoId string, index, position int, tmp ma
 			// 未合并到新项目中
 			p.modifyUpdate(pInfoId, index, position, tmpPro, modifyMap)
 			// 修改内存
-			var pro ProjectInfo
-			err := mapstructure.Decode(tmpPro, &pro)
-			if err != nil {
-				qu.Debug(err)
-			}
-			p.AllIdsMapLock.Lock()
-			if v, ok := p.AllIdsMap[pInfoId]; ok {
-				v.P = &pro
-			}
-			p.AllIdsMapLock.Unlock()
+			p.modifyMem(tmpPro)
 		}
 	}
 }
@@ -1218,6 +1171,32 @@ func delOldPro(pid string) {
 	}
 }
 
+// 修改内存中的数据
+func (p *ProjectTask) modifyMem(tmpPro map[string]interface{})  {
+	pid := qu.ObjToString(tmpPro["_id"])
+	var pro ProjectInfo
+	err := mapstructure.Decode(tmpPro, &pro)
+	if err != nil {
+		qu.Debug(err)
+	}
+	pro.Id = StringTOBsonId(pid)
+	tmpMap := make(map[string]InfoField)
+	infoMap := tmpPro["infofield"].(map[string]interface{})
+	for _, v := range infoMap {
+		var field InfoField
+		b, _ := json.Marshal(v)
+		_ = json.Unmarshal(b, &field)
+		tmpMap[pid] = field
+	}
+	pro.InfoFiled = tmpMap
+	p.AllIdsMapLock.Lock()
+	if v, ok := p.AllIdsMap[pid]; ok {
+		v.P = &pro
+	}
+	p.AllIdsMapLock.Unlock()
+	p.printMemPro(pid)
+}
+
 // 打印内存中的项目信息
 func (p *ProjectTask) printMemPro(pid string) {
 	p.AllIdsMapLock.Lock()

+ 4 - 1
qyxy_change/qy_baidu/task.go

@@ -175,7 +175,10 @@ func findEnt(tmp map[string]interface{}) {
 	changeData := util.ObjToMap((*data)["changeRecordData"])
 	infoList := (*changeData)["list"].([]interface{})
 	currentTime := time.Now().Unix()
-	q := bson.M{"company_name": (*ent)["entName"]}
+	m := util.ObjToString((*ent)["entName"])
+	m = strings.ReplaceAll(m, "(", "(")
+	m = strings.ReplaceAll(m, ")", ")")
+	q := bson.M{"company_name": m}
 	changeEnt, _ := MgoMix.FindOne(CollSave, q)
 	update := map[string]interface{}{}
 	if changeEnt != nil && len(*changeEnt) > 0 {

+ 1 - 1
udpcreateindex/src/biddingall.go

@@ -228,7 +228,7 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
 				tmp["projectscope"] = string(([]rune(ps))[:4000])
 			}
 			//对标的物为空处理
-			if filetext := getFileText(tmp); len(filetext) > 0 { //attach_text
+			if filetext := getFileText(tmp); len(filetext) > 10 { //attach_text
 				tmp["filetext"] = filetext
 			}
 			if purchasing, ok := tmp["purchasing"].(string); ok && purchasing == "" {

+ 1 - 1
udpcreateindex/src/config.json

@@ -48,7 +48,7 @@
         "projectinfo":"approvecode,approvecontent,approvestatus,approvetime,approvedept,approvenumber,projecttype,approvecity", 
      	"projectinfomap":{"approvecode":"string","approvecontent":"string","approvestatus":"string","approvetime":"string","approvedept":"string","approvenumber":"string","projecttype":"string","approvecity":"string"},
         "purchasinglist": "itemname,brandname,model,unitname,number",
-        "purchasinglistmap":{"itemname":"string","brandname": "string","model":"string","unitname":"string","number":"float64"},
+        "purchasinglistmap":{"itemname":"string","brandname": "string","model":"string","unitname":"string","number":"float64","unitprice":"float64","totalprice":"float64"},
         "winnerorder": "sort,sortstr,entname",
         "winnerordermap": {"sort":"int","sortstr":"string","entname":"string"},
         "multiIndex": ""