Explorar o código

fix:pdf下载调整

duxin hai 1 mes
pai
achega
1278de8c8c

+ 1 - 1
src/jfw/modules/bigmember/src/entity/marketAnalysis/analysisPdf.go

@@ -204,7 +204,7 @@ func (this *AnalysisReportPdf) GetPdfDetail() {
 					TimeRange:  qutil.InterfaceToStr(getQueryMap["timeRange"]),
 					HasPower:   true,
 					UserLevel:  1,
-				}, "")
+				}, "pdf")
 				if err != nil {
 					log.Println("GetPdfDetail BuyerPortraitData===", err)
 				}

+ 6 - 2
src/jfw/modules/bigmember/src/entity/portrait.go

@@ -471,10 +471,14 @@ func (this *Portrait) BuyerPortraitData(screen *PortraitScreen, flag string) (ma
 	}
 	buyerPortraitData := map[string]interface{}{}
 	if screen.IsEmptySearch() { //空查询读缓存
-		buyerPortraitData = TryFunc(GetPortraitCache, screen.Ent, "buyer", qutil.If(screen.UserLevel == 3, 2, 5).(int), screen.UserLevel)
+		buyer := "buyer"
+		if flag == "pdf" { //pdf下载缓存区分
+			buyer = fmt.Sprintf("%s%s", buyer, flag)
+		}
+		buyerPortraitData = TryFunc(GetPortraitCache, screen.Ent, buyer, qutil.If(screen.UserLevel == 3, 2, 5).(int), screen.UserLevel)
 	} else if screen.UserLevel != 3 { //3:未登录用户不能使用条件查询,只能进行空搜索
 		Screen_Thread <- true
-		res, err := GetBuyerPortraitData(screen)
+		res, err := GetBuyerPortraitData(screen, flag)
 		<-Screen_Thread
 		if err != nil {
 			return nil, err

+ 11 - 4
src/jfw/modules/bigmember/src/entity/portraitBuyerSearch.go

@@ -16,7 +16,7 @@ import (
 
 const (
 	buyer_query_address    = `{"query":{"bool":{"must":[{"term":{"buyer_name":"%s"}}]}},"size":1,"_source":["city","province","buyerclass"]}`
-	buyerPortraitSearchSql = `{"query":{"bool":{"must":[%s]}},"aggs":{"year_bidamount":{"range":{"field":"jgtime","ranges":[%s]},"aggs":{"count":{"sum":{"field":"bidamount"}}}},"fail_count":{"filter":{"bool":{"must":[{"term":{"bidstatus":"流标"}}]}}},"winner_count":{"cardinality":{"field":"entidlist"}},"bidamount_count":{"sum":{"field":"bidamount"}},"moneyRange":{"filter":{"bool":{"must":{"range":{"project_rate":{"gte":0,"lte":0.6}}}}},"aggs":{"moneyRangeValue":{"range":{"field":"bidamount","ranges":[%s]},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"budget_count":{"sum":{"field":"budget"}}}}}},"bidtypeData":{"filter":{"bool":{"must":{"terms":{"bidtype":["招标","邀标","询价","单一","竞价","竞谈"]}}}},"aggs":{"bidtype_group":{"terms":{"field":"bidtype"},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}}}},"bidamount_count":{"sum":{"field":"bidamount"}}}},"topScopeclassData":{"terms":{"field":"topscopeclass","size":12,"order":[{"bidamount_count":"desc"}]},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"top_scopeclass_rate_time_avg":` + YearRate + `}},"allScopeclassData":` + YearRate + `,"topAgencyData":{"terms":{"field":"agency","size":10,"order":[{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"jgtime"}}}},"topWinner":{"terms":{"field":"entidlist","size":50,"order":[{"count_bidamount":"desc"},{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"jgtime"}},"count_bidamount":{"sum":{"field":"bidamount"}},"avg_data":{"filter":{"bool":{"must":{"range":{"project_rate":{"gte":0,"lte":0.6}}}}},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"budget_count":{"sum":{"field":"budget"}}}}}},"firstWinner":{"terms":{"field":"first_cooperation","size":50}},"allWinnerList":{"terms":{"field":"entidlist","size":10000},"aggs":{"count_bidamount":{"sum":{"field":"bidamount"}},"avg_data":` + BaseRate + `}}},"size":0}`
+	buyerPortraitSearchSql = `{"query":{"bool":{"must":[%s]}},"aggs":{"year_bidamount":{"range":{"field":"jgtime","ranges":[%s]},"aggs":{"count":{"sum":{"field":"bidamount"}}}},"fail_count":{"filter":{"bool":{"must":[{"term":{"bidstatus":"流标"}}]}}},"winner_count":{"cardinality":{"field":"entidlist"}},"bidamount_count":{"sum":{"field":"bidamount"}},"moneyRange":{"filter":{"bool":{"must":{"range":{"project_rate":{"gte":0,"lte":0.6}}}}},"aggs":{"moneyRangeValue":{"range":{"field":"bidamount","ranges":[%s]},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"budget_count":{"sum":{"field":"budget"}}}}}},"bidtypeData":{"filter":{"bool":{"must":{"terms":{"bidtype":["招标","邀标","询价","单一","竞价","竞谈"]}}}},"aggs":{"bidtype_group":{"terms":{"field":"bidtype"},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}}}},"bidamount_count":{"sum":{"field":"bidamount"}}}},"topScopeclassData":{"terms":{"field":"topscopeclass","size":12,"order":[{"bidamount_count":"desc"}]},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"top_scopeclass_rate_time_avg":` + YearRate + `}},"allScopeclassData":` + YearRate + `,"topAgencyData":{"terms":{"field":"agency","size":10,"order":[{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"jgtime"}}}},"topWinner":{"terms":{"field":"entidlist","size":200,"order":[{"count_bidamount":"desc"},{"_count":"desc"},{"last_with_time":"desc"}]},"aggs":{"last_with_time":{"max":{"field":"jgtime"}},"count_bidamount":{"sum":{"field":"bidamount"}},"avg_data":{"filter":{"bool":{"must":{"range":{"project_rate":{"gte":0,"lte":0.6}}}}},"aggs":{"bidamount_count":{"sum":{"field":"bidamount"}},"budget_count":{"sum":{"field":"budget"}}}}}},"firstWinner":{"terms":{"field":"first_cooperation","size":200}},"allWinnerList":{"terms":{"field":"entidlist","size":10000},"aggs":{"count_bidamount":{"sum":{"field":"bidamount"}},"avg_data":` + BaseRate + `}}},"size":0}`
 	queryTermByIdSql       = `{"terms":{"_id":[%s]}}`
 
 	queryMustSql                = `{"query":{"bool":{"must":[%s]}}}`
@@ -38,8 +38,12 @@ func GetBuyerMsg(entName string) (city, province, buyerclass string) {
 }
 
 // GetBuyerPortraitData 采购单位画像
-func GetBuyerPortraitData(screen *PortraitScreen) (map[string]interface{}, error) {
-	buyerPortraitData, err := BuyerPortraitSearch(screen) //查询采购单位画像
+func GetBuyerPortraitData(screen *PortraitScreen, isPdf ...string) (map[string]interface{}, error) {
+	var pdfStr string
+	if len(isPdf) > 0 {
+		pdfStr = isPdf[0]
+	}
+	buyerPortraitData, err := BuyerPortraitSearch(screen, pdfStr) //查询采购单位画像
 	if err != nil {
 		return nil, err
 	}
@@ -64,7 +68,7 @@ func GetBuyerPortraitData(screen *PortraitScreen) (map[string]interface{}, error
 }
 
 // BuyerPortraitSearch 采购单位画像查询
-func BuyerPortraitSearch(screen *PortraitScreen) (map[string]interface{}, error) {
+func BuyerPortraitSearch(screen *PortraitScreen, isPdf ...string) (map[string]interface{}, error) {
 	defer qutil.Catch()
 
 	startTime, endTime := screen.PareTimeSelect(false)
@@ -390,6 +394,9 @@ func BuyerPortraitSearch(screen *PortraitScreen) (map[string]interface{}, error)
 			//allWinnerIdsMap 需要返回的企业id,需要根据词id查询企业名称
 			//showLimit 重点合作企业及首次合作企业展示数量限制
 			allWinnerIdsMap, showLimit := map[string]bool{}, 20
+			if len(isPdf) > 0 && isPdf[0] == "pdf" { //pdf分析报告
+				showLimit = 100
+			}
 			//topWinnerListData 重点合作企业数据
 			//firstWinnerListData 首次合作企业数据
 			topWinnerListData, firstWinnerListData := &customWinnerList{}, &customWinnerList{}