Procházet zdrojové kódy

feat:项目合并新增字段

zhangxinlei1996 před 1 měsícem
rodič
revize
e122d88929

+ 19 - 1
data_project/init.go

@@ -317,7 +317,16 @@ type Info struct {
 	PCBH  int
 	PTCBH int
 	//
-	JgtimeFirst int64 `json:"jgtime_first"`
+	JgtimeFirst     int64  `json:"jgtime_first"`
+	Projectperiod   string `json:"projectperiod"`     //项目服务周期
+	BasicClass      string `json:"basicClass"`        //标讯信息三大类
+	EstPurchaseTime int64  `json:"est_purchase_time"` //预计采购时间
+	Signaturedate   int64  `json:"signaturedate"`     // 合同签订日期
+	Expiredate      int64  `json:"expiredate"`        // 合同到期时间
+	Docendtime      int64  `json:"docendtime"`        // 招标文件获取截止时间
+	Docstarttime    int64  `json:"docstarttime"`      // 招标文件获取开始时间
+	Bidstarttime    int64  `json:"bidstarttime"`      // 投标文件递交开始时间
+
 }
 
 // 内存 项目信息
@@ -396,6 +405,15 @@ type Project struct {
 	//FirstCooperation   []string               `json:"first_cooperation"`       //first_cooperation
 	//InfoFiled map[string]InfoField `json:"infofield"` //逻辑处理需要的info字段
 	JgtimeFirst int64 `json:"jgtime_first"`
+
+	Projectperiod   string `json:"projectperiod,omitempty"`     //项目服务周期
+	BasicClass      string `json:"basicClass,omitempty"`        //标讯信息三大类
+	EstPurchaseTime int64  `json:"est_purchase_time,omitempty"` //预计采购时间
+	Signaturedate   int64  `json:"signaturedate,omitempty"`     // 合同签订日期
+	Expiredate      int64  `json:"expiredate,omitempty"`        // 合同到期时间
+	Docendtime      int64  `json:"docendtime,omitempty"`        // 招标文件获取截止时间
+	Docstarttime    int64  `json:"docstarttime,omitempty"`      // 招标文件获取开始时间
+	Bidstarttime    int64  `json:"bidstarttime,omitempty"`      // 投标文件递交开始时间
 }
 
 // 存储部分招标信息字段,业务逻辑处理需要

+ 75 - 1
data_project/project.go

@@ -159,7 +159,6 @@ func (p *ProjectTask) startProjectMerge(info *Info, tmp map[string]interface{})
 				compareProject.comStr = comStr
 				compareProject.pjVal = pjVal
 				compareProject.resVal = resVal
-				// fmt.Println(compareProject.comStr)
 				eqV := compareResult(resVal, pjVal, score2, comStr, compareBuyer, compareCity, compareTime, compareAgency, compareBudget, compareBidmount)
 				if eqV == 1 {
 					comRes1 = append(comRes1, compareProject)
@@ -631,6 +630,40 @@ func (p *ProjectTask) NewProject(tmp map[string]interface{}, thisinfo *Info) (st
 	if tmp["bid_field"] != nil {
 		set["bid_field"] = tmp["bid_field"]
 	}
+	//2025.06.24新增字段
+	//项目服务周期
+	if thisinfo.Projectperiod != "" {
+		set["projectperiod"] = thisinfo.Projectperiod
+	}
+	//标讯信息三大类
+	if thisinfo.BasicClass != "" {
+		set["basicClass"] = thisinfo.BasicClass
+	}
+	//预计采购时间
+	if thisinfo.EstPurchaseTime > 0 {
+		set["est_purchase_time"] = thisinfo.EstPurchaseTime
+	}
+	//合同签订日期
+	if thisinfo.Signaturedate > 0 {
+		set["signaturedate"] = thisinfo.Signaturedate
+	}
+	//合同到期时间
+	if thisinfo.Expiredate > 0 {
+		set["expiredate"] = thisinfo.Expiredate
+	}
+	//招标文件获取截止时间
+	if thisinfo.Docendtime > 0 {
+		set["docendtime"] = thisinfo.Docendtime
+	}
+	//招标文件获取开始时间
+	if thisinfo.Docstarttime > 0 {
+		set["docstarttime"] = thisinfo.Docstarttime
+	}
+	//投标文件递交开始时间
+	if thisinfo.Bidstarttime > 0 {
+		set["bidstarttime"] = thisinfo.Bidstarttime
+	}
+
 	redis.PutCKV(RedisProject, fmt.Sprintf(P_KEY, thisinfo.Id), set)
 	set["size"] = 1
 	push := p.PushListInfo(tmp, thisinfo.Id)
@@ -1087,6 +1120,47 @@ func (p *ProjectTask) UpdateProject(tmp map[string]interface{}, thisinfo *Info,
 		project.BidGuarantee = thisinfo.BidGuarantee
 		set["bid_guarantee"] = thisinfo.BidGuarantee
 	}
+	//2025.06.24新增字段
+	//项目服务周期
+	if thisinfo.Projectperiod != "" {
+		project.Projectperiod = thisinfo.Projectperiod
+		set["projectperiod"] = thisinfo.Projectperiod
+	}
+	//标讯信息三大类
+	if thisinfo.BasicClass != "" {
+		project.BasicClass = thisinfo.BasicClass
+		set["basicClass"] = thisinfo.BasicClass
+	}
+	//预计采购时间
+	if thisinfo.EstPurchaseTime > 0 {
+		project.EstPurchaseTime = thisinfo.EstPurchaseTime
+		set["est_purchase_time"] = thisinfo.EstPurchaseTime
+	}
+	//合同签订日期
+	if thisinfo.Signaturedate > 0 {
+		project.Signaturedate = thisinfo.Signaturedate
+		set["signaturedate"] = thisinfo.Signaturedate
+	}
+	//合同到期时间
+	if thisinfo.Expiredate > 0 {
+		project.Expiredate = thisinfo.Expiredate
+		set["expiredate"] = thisinfo.Expiredate
+	}
+	//招标文件获取截止时间
+	if thisinfo.Docendtime > 0 {
+		project.Docendtime = thisinfo.Docendtime
+		set["docendtime"] = thisinfo.Docendtime
+	}
+	//招标文件获取开始时间
+	if thisinfo.Docstarttime > 0 {
+		project.Docstarttime = thisinfo.Docstarttime
+		set["docstarttime"] = thisinfo.Docstarttime
+	}
+	//投标文件递交开始时间
+	if thisinfo.Bidstarttime > 0 {
+		project.Bidstarttime = thisinfo.Bidstarttime
+		set["bidstarttime"] = thisinfo.Bidstarttime
+	}
 	// 资质条件
 	if len(thisinfo.Qualifies) > 0 {
 		var str []string

+ 9 - 0
data_project/project_tool.go

@@ -64,6 +64,15 @@ var INFOFIELDS = []string{
 	"entidlist",
 	"winnerorder",
 	"purchasinglist",
+
+	"projectperiod",
+	"basicClass",
+	"est_purchase_time",
+	"signaturedate",
+	"expiredate",
+	"docendtime",
+	"docstarttime",
+	"bidstarttime",
 }
 
 // 包信息

+ 2 - 1
data_project/udptaskmap.go

@@ -3,13 +3,14 @@ package main
 import (
 	"fmt"
 	"io/ioutil"
-	"jygit.jydev.jianyu360.cn/data_processing/common_utils/udp"
 	"log"
 	"net"
 	"net/http"
 	"project/config"
 	"sync"
 	"time"
+
+	"jygit.jydev.jianyu360.cn/data_processing/common_utils/udp"
 )
 
 var udptaskmap = &sync.Map{}

+ 10 - 8
data_project_information/task.go

@@ -5,11 +5,12 @@ import (
 	"data_project_information/config"
 	"encoding/json"
 	"fmt"
-	"github.com/gogf/gf/v2/util/gconv"
 	"strings"
 	"sync"
 	"time"
 
+	"github.com/gogf/gf/v2/util/gconv"
+
 	es "github.com/olivere/elastic/v7"
 	"go.mongodb.org/mongo-driver/bson"
 	util "jygit.jydev.jianyu360.cn/data_processing/common_utils"
@@ -33,6 +34,7 @@ func task() {
 			//Must(es.NewMatchQuery("tag_topinformation", "情报_物业"))
 			Must(es.NewExistsQuery("property_form"))
 		if i == 0 {
+
 			query.Must(es.NewRangeQuery("comeintime").Lte(tm))
 		} else if i == 1 {
 			query.Must(es.NewRangeQuery("comeintime").Gte(tf[0]).Lte(tm))
@@ -73,9 +75,9 @@ func taskOld() {
 		Should(es.NewExistsQuery("tag_topinformation"), es.NewExistsQuery("tag_topinformation_ai")).
 		MinimumNumberShouldMatch(1)
 
-	query.Must(es.NewRangeQuery("pici").Lte(1732244400))
+	query.Must(es.NewRangeQuery("pici").Gte(1735801800).Lte(1741244975))
 
-	util.Debug(fmt.Sprintf("数据量为:%d", Es.Count("bidding_ai", query)))
+	util.Debug(fmt.Sprintf("数据量为:%d", Es.Count("bidding", query)))
 
 	client := Es.GetEsConn()
 	defer Es.DestoryEsConn(client)
@@ -86,12 +88,12 @@ func taskOld() {
 
 	countDocs := 0
 
-	res, err := client.Scroll().Index("bidding_ai").Query(query).FetchSourceContext(fsc).Scroll("5m").Size(2000).Do(context.Background()) //查询一条获取游标
+	res, err := client.Scroll().Index("bidding").Query(query).FetchSourceContext(fsc).Scroll("5m").Size(2000).Do(context.Background()) //查询一条获取游标
 	if err == nil {
 		taskInfoA(res, wg, &countDocs)
 		scrollId := res.ScrollId
 		for {
-			searchResult, err := client.Scroll("1m").Index("bidding_ai").ScrollId(scrollId).Size(2000).Do(context.TODO()) //查询
+			searchResult, err := client.Scroll("1m").Index("bidding").ScrollId(scrollId).Size(2000).Do(context.TODO()) //查询
 			if err != nil {
 				util.Debug("Es Search Data Error:", err.Error())
 				break
@@ -130,15 +132,15 @@ func taskAdd() {
 	query.Must(es.NewRangeQuery("pici").Gte(start).Lte(end))
 	//query.Must(es.NewTermQuery("_id", "673fc96ab25c3e1deb743862"))
 
-	util.Debug(fmt.Sprintf("数据量为:%d", Es.Count("bidding_ai", query)))
+	util.Debug(fmt.Sprintf("数据量为:%d", Es.Count("bidding", query)))
 	countDocs := 0
 
-	res, err := client.Scroll().Index("bidding_ai").Query(query).FetchSourceContext(fsc).Scroll("5m").Size(2000).Do(context.Background()) //查询一条获取游标
+	res, err := client.Scroll().Index("bidding").Query(query).FetchSourceContext(fsc).Scroll("5m").Size(2000).Do(context.Background()) //查询一条获取游标
 	if err == nil {
 		taskInfoA(res, wg, &countDocs)
 		scrollId := res.ScrollId
 		for {
-			searchResult, err := client.Scroll("1m").Index("bidding_ai").ScrollId(scrollId).Size(2000).Do(context.TODO()) //查询
+			searchResult, err := client.Scroll("1m").Index("bidding").ScrollId(scrollId).Size(2000).Do(context.TODO()) //查询
 			if err != nil {
 				util.Debug("Es Search Data Error:", err.Error())
 				break