|
@@ -28,7 +28,7 @@ const (
|
|
|
NewMustSearch = `{"query":{"bool":{"must":[%s]}}%s}`
|
|
|
ListSearchLimit = `,"_source":[%s],"sort":[{"%s":{"order":"desc"}}],"from":%d,"size":%d`
|
|
|
|
|
|
- newBiddingSearchShowSql = `{"query":{"bool":{"must":[%s,{"range":{"jgtime":{"gte":"%d"}}}]}},"aggs":{"group_area":{"terms":{"field":"area","size":40}},"group_scopeArr":{"terms":{"field":"subscopeclass","size":20}}}}`
|
|
|
+ newBiddingSearchShowSql = `{"query":{"bool":{"must":[%s,{"range":{"jgtime":{"gte":"%d"}}}]}},"aggs":{"group_area":{"terms":{"field":"area","size":40}},"group_scopeArr":{"terms":{"field":"subscopeclass","size":20}},"group_buyerClass":{"terms":{"field":"buyerclass","size":20}}}}`
|
|
|
)
|
|
|
|
|
|
var searchPool = make(chan bool, 3)
|
|
@@ -41,6 +41,7 @@ type PortraitScreen struct {
|
|
|
ExactMatch bool //匹配方式 true精确匹配、false模糊匹配
|
|
|
Area string //省份
|
|
|
ScopeClass string //行业
|
|
|
+ BuyerClass string //采购单位类型
|
|
|
TimeRange string //信息发布时间 以年为单位,逗号分隔、结束时间不得超过当前时间
|
|
|
HasPower bool //是否有相应权限
|
|
|
//数据导出回显
|
|
@@ -137,7 +138,7 @@ func (ps *PortraitScreen) GetProjectSelectItems(isWinner bool) (map[string]inter
|
|
|
entMatch = fmt.Sprintf(`{"term":{"buyer":"%s"}}`, ps.Ent)
|
|
|
}
|
|
|
doSearchSql := fmt.Sprintf(newBiddingSearchShowSql, entMatch, time.Date(time.Now().Year()-4, 1, 1, 0, 0, 0, 0, time.Local).Unix())
|
|
|
- //log.Println("GetProjectSelectItems doSearchSql", doSearchSql)
|
|
|
+ fmt.Println("GetProjectSelectItems doSearchSql", doSearchSql)
|
|
|
res := util.GetAggs(projectIndex, projectType, doSearchSql)
|
|
|
if res == nil {
|
|
|
return nil, fmt.Errorf("此企业无信息或获取信息列表检索条件出错")
|
|
@@ -164,7 +165,18 @@ func (ps *PortraitScreen) GetProjectSelectItems(isWinner bool) (map[string]inter
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return map[string]interface{}{"areaArr": areaArr, "scopeArr": scopeArr}, nil
|
|
|
+ //采购单位类型
|
|
|
+ var buyerClassArr []string
|
|
|
+ if g, ok := res.Children("group_buyerClass"); ok {
|
|
|
+ var sbn []SimpleStringKeyValue
|
|
|
+ bs, _ := g.Aggregations["buckets"].MarshalJSON()
|
|
|
+ if json.Unmarshal(bs, &sbn) == nil && len(sbn) > 0 {
|
|
|
+ for _, bk := range sbn {
|
|
|
+ buyerClassArr = append(buyerClassArr, bk.Key)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return map[string]interface{}{"areaArr": areaArr, "scopeArr": scopeArr, "buyerClassArr": buyerClassArr}, nil
|
|
|
}
|
|
|
|
|
|
// CommonPare 采购单位、企业画像公共筛选部分提取
|
|
@@ -202,6 +214,9 @@ func (pwp *PortraitProjectScreen) CommonPare(isWinner bool) (mustQueryArr []stri
|
|
|
mustQueryArr = append(mustQueryArr, fmt.Sprintf(`{"terms":{"s_subscopeclass":["%s"]}}`, strings.ReplaceAll(pwp.Screen.ScopeClass, ",", "\",\"")))
|
|
|
}
|
|
|
}
|
|
|
+ if pwp.Screen.BuyerClass != "" {
|
|
|
+ mustQueryArr = append(mustQueryArr, fmt.Sprintf(`{"terms":{"buyerclass":["%s"]}}`, strings.ReplaceAll(pwp.Screen.BuyerClass, ",", "\",\"")))
|
|
|
+ }
|
|
|
|
|
|
//按照当前年份,往前推4年,共5个年份可选
|
|
|
sTime, eTime := pwp.Screen.PareTimeSelect(isWinner) //采购单位不校验权限
|