Browse Source

fix:增加定制化项目上线限制

duxin 2 năm trước cách đây
mục cha
commit
d06759e36b

+ 2 - 4
config.json

@@ -19,9 +19,7 @@
     }
   },
   "testUid": [
-    "61f3a3c746af8f8a5c513175",
-    "5e8eb60ae138234b4f91aacf",
-    "63240cabad4f0bc633c47224"
   ],
-  "contextOldVipLimit": 1664553600
+  "contextOldVipLimit": 1664553600,
+  "projectNumLimit": 10000000
 }

+ 1 - 0
entity/search/advancedProject.go

@@ -140,6 +140,7 @@ func (mae *MarketAnalysisEntity) KeyWordFormat(userid, keyWord string) (ret bool
 		}
 	}
 	if ret {
+		log.Printf("user:%s 关键词信息%v", userid, aItems)
 		//匹配到关键词 进行格式化处理
 		dataType, _ := json.Marshal(aItems)
 		key := string(dataType)

+ 14 - 2
entity/search/customizedAnalysis.go

@@ -5,6 +5,7 @@ import (
 	"encoding/json"
 	"fmt"
 	"leadGeneration/public"
+	"leadGeneration/vars"
 	"log"
 	"strings"
 	"sync"
@@ -21,13 +22,12 @@ func PotentialCustomizeAnalysis(userid, keyWord string) map[string]interface{} {
 	aggs = append(aggs, aggs_buyerclass, buyer_procurement_scale, winner_procurement_scale)
 	mae.Types = 1
 	mae.FormatParam.STime = time.Now().AddDate(-1, 0, 0).Unix()
-	log.Println("[SEARCH-INFO]定制化分析报告数据参数:", userid)
 	if !mae.KeyWordFormat(userid, keyWord) {
 		log.Printf("[SEARCH-ERR]关键词格式化化失败 userid:%s,keyWord:%s", userid, keyWord)
 		return nil
 	}
 	finalSql := fmt.Sprintf(mae.GetCommonQuerySqlWithAggs(), strings.Join(aggs, ","), mae.Size, "")
-	log.Println("[SEARCH-INFO]定制化分析报告es查询:", finalSql)
+	log.Printf("[SEARCH-INFO]定制化分析报告userid:%s,es查询:%s", userid, finalSql)
 	res, _, _ := public.GetAggs("projectset", "projectset", finalSql)
 	if res == nil || len(res) == 0 {
 		return nil
@@ -42,6 +42,10 @@ func PotentialCustomizeAnalysis(userid, keyWord string) map[string]interface{} {
 			if json.Unmarshal(bArr, &thisRow.ProjectAmount) != nil {
 				continue
 			}
+		} else if name == "project_count" {
+			if json.Unmarshal(bArr, &thisRow.ProjectCount) != nil {
+				continue
+			}
 		} else if name == "buyer_amount_distribution" {
 			if json.Unmarshal(bArr, &thisRow.BuyerAmountDistribution) != nil {
 				continue
@@ -56,6 +60,14 @@ func PotentialCustomizeAnalysis(userid, keyWord string) map[string]interface{} {
 			}
 		}
 	}
+	if thisRow.ProjectCount.DocCount == 0 {
+		log.Println("未查询到项目数据", userid)
+		return nil
+	}
+	if thisRow.ProjectCount.DocCount > vars.Config.ProjectNumLimit {
+		log.Println("项目数量超出上限", userid, vars.Config.ProjectNumLimit)
+		return nil
+	}
 	var rMap = sync.Map{}
 	sy := sync.WaitGroup{}
 	sy.Add(3)

+ 2 - 2
entity/search/marketAnalysisEntity.go

@@ -2,8 +2,8 @@ package search
 
 const (
 	//客户分布
-	aggs_buyerclass = `"buyerclass_scale":{"terms":{"field":"buyerclass","exclude":["其它",""]},"aggs":{"buyerclass_amount":{"sum":{"field":"sortprice"}},"buyerclass_total":{"filter":{}}}}`
-	//超前项目数量
+	aggs_buyerclass = `"project_count":{"filter": {}},"buyerclass_scale":{"terms":{"field":"buyerclass","exclude":["其它",""]},"aggs":{"buyerclass_amount":{"sum":{"field":"sortprice"}},"buyerclass_total":{"filter":{}}}}`
+	//超前项目数量s
 	projectsNumber     = `"projects_number":{"terms":{"field":"subtype"}}`
 	projectsSortSource = `,"sort": [{"publishtime":"desc"}],"_source": ["_id","title"]`
 

+ 1 - 0
vars/config.go

@@ -12,6 +12,7 @@ type config struct {
 	Custom             CustomConfig `json:"custom"`             //定制化报告配置
 	TestUid            []string     `json:"testUid"`            //测试用户id
 	ContextOldVipLimit int64        `json:"contextOldVipLimit"` //旧版超级订阅超前订阅时间
+	ProjectNumLimit    int          `json:"projectNumLimit"`    //自定义报告限制项目个数
 }
 
 type AheadConfig struct {