소스 검색

拟建交易信息判断条件修改

mxs 1 년 전
부모
커밋
8ca734494a
3개의 변경된 파일104개의 추가작업 그리고 69개의 파일을 삭제
  1. 63 42
      data_project_wy/history.go
  2. 35 23
      data_project_wy/main.go
  3. 6 4
      data_project_wy/task.go

+ 63 - 42
data_project_wy/history.go

@@ -234,7 +234,7 @@ func HisTransactionDataFromProject() {
 				arr = append(arr, result)
 			}
 			if len(arr) > 50 {
-				MgoPro.SaveBulk("projectset_wy_back", arr...)
+				MgoPro.SaveBulk("projectset_wy_newback", arr...)
 				arr = []map[string]interface{}{}
 			}
 			lock.Unlock()
@@ -246,7 +246,7 @@ func HisTransactionDataFromProject() {
 	}
 	wg.Wait()
 	if len(arr) > 0 {
-		MgoPro.SaveBulk("projectset_wy_back", arr...)
+		MgoPro.SaveBulk("projectset_wy_newback", arr...)
 		arr = []map[string]interface{}{}
 	}
 	fmt.Println("结束")
@@ -256,13 +256,30 @@ func HisTransactionDataFromProject() {
 func HisTransactionDataAddInformation() {
 	sess := MgoPro.GetMgoConn()
 	defer MgoPro.DestoryMongoConn(sess)
-	ch := make(chan bool, 5)
+	ch := make(chan bool, 15)
 	wg := &sync.WaitGroup{}
 	lock := &sync.Mutex{}
 	query := map[string]interface{}{
-		"_id": mongodb.StringTOBsonId("662f01d8397fa006e2e75e6c"),
+		//"_id": mongodb.StringTOBsonId("662f01d8397fa006e2e75e6c"),
+		//项目
+		//"_id": map[string]interface{}{
+		//	"$gte": mongodb.StringTOBsonId("66308fa06f6c86a3960ae83f"),
+		//	"$lte": mongodb.StringTOBsonId("66308feb6f6c86a3960b0f4e"),
+		//},
+		//拟建
+		//"project_bidstatus": 4,
+		//"_id": map[string]interface{}{
+		//	"$lte": mongodb.StringTOBsonId("6627227819c5408c474c3802"),
+		//},
+		//采购意向
+		"project_bidstatus": 3,
+		"_id": map[string]interface{}{
+			"$lte": mongodb.StringTOBsonId("661f798b5a4e6cc01349dad0"),
+		},
 	}
-	it := sess.DB(MgoPro.DbName).C("projectset_wy_back").Find(&query).Iter()
+	count := MgoPro.Count("projectset_wy", query)
+	fmt.Println("count:", count)
+	it := sess.DB(MgoPro.DbName).C("projectset_wy").Find(&query).Iter()
 	n := 0
 	arr := [][]map[string]interface{}{}
 	for tmp := make(map[string]interface{}); it.Next(tmp); n++ {
@@ -285,42 +302,46 @@ func HisTransactionDataAddInformation() {
 			set["agency_id"] = agency_id
 			set["winner_id"] = winner_ids
 			//保存
-			//tmp["buyer_id"] = buyer_id
-			//tmp["agency_id"] = agency_id
-			//tmp["winner_id"] = winner_ids
+			tmp["buyer_id"] = buyer_id
+			tmp["agency_id"] = agency_id
+			tmp["winner_id"] = winner_ids
+
 			//项目信息补充业态
-			if from := gconv.String(tmp["from"]); from == "project" {
-				project_id := gconv.String(tmp["project_id"])
-				pro, _ := MgoPro.FindById("projectset_20230904", project_id, map[string]interface{}{"property_form": 1})
-				if len(*pro) > 0 && (*pro)["property_form"] != nil {
-					set["property_form"] = (*pro)["property_form"]
-				}
-				//查询情报信息
-				ids := gconv.Strings(tmp["info_ids"])
-				info := FindInfomationData(ids...) //情报信息查询
-				//更新
-				set["information_id"] = info.Id
-				set["starttime"] = info.Starttime
-				set["endtime"] = info.Endtime
-				//保存
-				//tmp["information_id"] = info.Id
-				//tmp["starttime"] = info.Starttime
-				//tmp["endtime"] = info.Endtime
-			} else {
-				if project_bidstatus := gconv.Int(tmp["project_bidstatus"]); project_bidstatus == 4 { //拟建新增项目,补充情报信息
-					//查询情报信息
-					id := gconv.String(tmp["info_id"])
-					info := FindInfomationData(id) //情报信息查询
-					//更新
-					set["information_id"] = info.Id
-					set["starttime"] = info.Starttime
-					set["endtime"] = info.Endtime
-					//保存
-					//tmp["information_id"] = info.Id
-					//tmp["starttime"] = info.Starttime
-					//tmp["endtime"] = info.Endtime
-				}
-			}
+			//if from := gconv.String(tmp["from"]); from == "project" {
+			//	project_id := gconv.String(tmp["project_id"])
+			//	pro, _ := MgoPro.FindById("projectset_20230904", project_id, map[string]interface{}{"property_form": 1})
+			//	if len(*pro) > 0 && (*pro)["property_form"] != nil {
+			//		//更新
+			//		set["property_form"] = (*pro)["property_form"]
+			//		//保存
+			//		tmp["property_form"] = (*pro)["property_form"]
+			//	}
+			//	//查询情报信息
+			//	ids := gconv.Strings(tmp["info_ids"])
+			//	info := FindInfomationData(ids...) //情报信息查询
+			//	//更新
+			//	set["information_id"] = info.Id
+			//	set["starttime"] = info.Starttime
+			//	set["endtime"] = info.Endtime
+			//	//保存
+			//	tmp["information_id"] = info.Id
+			//	tmp["starttime"] = info.Starttime
+			//	tmp["endtime"] = info.Endtime
+			//} else {
+			//	if project_bidstatus := gconv.Int(tmp["project_bidstatus"]); project_bidstatus == 4 { //拟建新增项目,补充情报信息
+			//		//查询情报信息
+			//		id := gconv.String(tmp["info_id"])
+			//		info := FindInfomationData(id) //情报信息查询
+			//		//更新
+			//		set["information_id"] = info.Id
+			//		set["starttime"] = info.Starttime
+			//		set["endtime"] = info.Endtime
+			//		//保存
+			//		//tmp["information_id"] = info.Id
+			//		//tmp["starttime"] = info.Starttime
+			//		//tmp["endtime"] = info.Endtime
+			//	}
+			//}
 			delete(tmp, "from")     //无用字段删除
 			delete(tmp, "_id")      //无用字段删除
 			if !SaveDataToEs(tmp) { //保存、更新es
@@ -336,7 +357,7 @@ func HisTransactionDataAddInformation() {
 			lock.Lock()
 			arr = append(arr, update)
 			if len(arr) > 100 {
-				MgoPro.UpdateBulk("projectset_wy_back", arr...)
+				MgoPro.UpdateBulk("projectset_wy", arr...)
 				arr = [][]map[string]interface{}{}
 			}
 			lock.Unlock()
@@ -348,7 +369,7 @@ func HisTransactionDataAddInformation() {
 	}
 	wg.Wait()
 	if len(arr) > 0 {
-		MgoPro.UpdateBulk("projectset_wy_back", arr...)
+		MgoPro.UpdateBulk("projectset_wy", arr...)
 		arr = [][]map[string]interface{}{}
 	}
 	fmt.Println("迁移结束...")

+ 35 - 23
data_project_wy/main.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"github.com/gogf/gf/v2/util/gconv"
 	"github.com/robfig/cron"
+	"strings"
 	"sync"
 )
 
@@ -38,11 +39,16 @@ func tmp() {
 	wg := &sync.WaitGroup{}
 	lock := &sync.Mutex{}
 	query := map[string]interface{}{
-		"project_bidstatus": 2,
+		"project_bidstatus": 4,
+		//"_id": map[string]interface{}{
+		//	"$gte": mongodb.StringTOBsonId("66213b290f6ba3eb160617ad"),
+		//},
 	}
-	it := sess.DB(MgoPro.DbName).C("projectset_wy_back").Find(&query).Iter()
+	count := MgoPro.Count("projectset_wy", query)
+	fmt.Println("count:", count)
+	it := sess.DB(MgoPro.DbName).C("projectset_wy").Find(&query).Iter()
 	n := 0
-	arr := [][]map[string]interface{}{}
+	//arr := [][]map[string]interface{}{}
 	for tmp := make(map[string]interface{}); it.Next(tmp); n++ {
 		ch <- true
 		wg.Add(1)
@@ -51,25 +57,31 @@ func tmp() {
 				<-ch
 				wg.Done()
 			}()
-			update := []map[string]interface{}{
-				{"_id": tmp["_id"]},
-			}
-			set := map[string]interface{}{}
 			info_id := gconv.String(tmp["info_id"])
-			data, _ := MgoPro.FindById("projectset", info_id, map[string]interface{}{"bidstatus": 1})
-			if gconv.String((*data)["bidstatus"]) == "拟建" {
-				set["project_bidstatus"] = 4
-			} else {
-				return
+			data, _ := MgoB.FindById("bidding", info_id, map[string]interface{}{"s_topscopeclass": 1})
+			s_topscopeclass := gconv.String((*data)["s_topscopeclass"])
+			if !strings.Contains(s_topscopeclass, "建筑工程") {
+				MgoPro.Del("projectset_wy", map[string]interface{}{"_id": tmp["_id"]})
 			}
-			update = append(update, map[string]interface{}{"$set": set})
-
+			//update := []map[string]interface{}{
+			//	{"_id": tmp["_id"]},
+			//}
+			//set := map[string]interface{}{}
+			//info_id := gconv.String(tmp["info_id"])
+			//data, _ := MgoPro.FindById("projectset", info_id, map[string]interface{}{"bidstatus": 1})
+			//if gconv.String((*data)["bidstatus"]) == "拟建" {
+			//	set["project_bidstatus"] = 4
+			//} else {
+			//	return
+			//}
+			//update = append(update, map[string]interface{}{"$set": set})
+			//
 			lock.Lock()
-			arr = append(arr, update)
-			if len(arr) > 500 {
-				MgoPro.UpdateBulk("projectset_wy_back", arr...)
-				arr = [][]map[string]interface{}{}
-			}
+			//arr = append(arr, update)
+			//if len(arr) > 500 {
+			//	MgoPro.UpdateBulk("projectset_wy_back", arr...)
+			//	arr = [][]map[string]interface{}{}
+			//}
 			lock.Unlock()
 		}(tmp)
 		if n%10000 == 0 {
@@ -78,9 +90,9 @@ func tmp() {
 		tmp = map[string]interface{}{}
 	}
 	wg.Wait()
-	if len(arr) > 0 {
-		MgoPro.UpdateBulk("projectset_wy_back", arr...)
-		arr = [][]map[string]interface{}{}
-	}
+	//if len(arr) > 0 {
+	//	MgoPro.UpdateBulk("projectset_wy_back", arr...)
+	//	arr = [][]map[string]interface{}{}
+	//}
 	fmt.Println("迁移结束...")
 }

+ 6 - 4
data_project_wy/task.go

@@ -121,7 +121,8 @@ func IncTransactionDataFromBid() {
 				business_type = "采购意向"
 				project_bidstatus = 3
 			} else if toptype == "拟建" {
-				if strings.Contains(tag_topinformation, "物业") || strings.Contains(tag_topinformation_ai, "物业") {
+				s_topscopeclass := gconv.String(tmp["s_topscopeclass"])
+				if !strings.Contains(s_topscopeclass, "建筑工程") || strings.Contains(tag_topinformation, "物业") || strings.Contains(tag_topinformation_ai, "物业") {
 					return
 				}
 				business_type = "新增项目"
@@ -155,7 +156,7 @@ func IncTransactionDataFromBid() {
 	BidStartTime = endTime //替换
 }
 
-// DealTransactionForBid bidding采购意向数据处理
+// DealTransactionForBid bidding采购意向、拟建数据处理
 func DealTransactionForBid(tmp map[string]interface{}, business_type string, project_bidstatus int) map[string]interface{} {
 	//基本信息封装
 	id := mongodb.BsonIdToSId(tmp["_id"])
@@ -379,7 +380,8 @@ func DealTransactionForPro(data map[string]interface{}) map[string]interface{} {
 	//查询情报信息
 	//bidId = "65fbf3f566cf0db42a2a99d2"
 	ids := gconv.Strings(data["ids"])
-	info := FindInfomationData(ids...) //情报信息查询
+	info := Infomation{}
+	//info := FindInfomationData(ids...) //情报信息查询
 
 	//TODO 查询法人库信息(待补充)
 	winners := []string{}
@@ -544,7 +546,7 @@ func FindEntInfoData(bid, buyer, agency string, winners []string) (buyer_id, age
 				winner_ids = append(winner_ids, id)
 			}
 		} else {
-			fmt.Println("查询情报信息异常:", err, bid)
+			fmt.Println("查询法人信息异常:", err, bid)
 		}
 	}
 	return