package common import ( "encoding/json" "fmt" "leadGeneration/util" "log" ) func (mae *MarketAnalysisEntity) AdvancedProject() map[string]interface{} { finalSql := fmt.Sprintf(mae.GetCommonQuerySqlWithAggs(), projectsNumber, mae.Size, projectsSort) log.Println("定制化分析报告sql查询:", finalSql) res, _, data := util.GetAggs("bidding", "bidding", finalSql) if res == nil || len(res) == 0 || data == nil || len(data) == 0 { return nil } var thisRow SuperProjects for name, object := range res { bArr, err := object.MarshalJSON() if len(bArr) == 0 || err != nil { continue } if name == "projects_number" { if json.Unmarshal(bArr, &thisRow.ProjectsNumber) != nil { continue } } } redisData := make(map[string]interface{}) for _, v := range thisRow.ProjectsNumber.Buckets { redisData[v.Key] = v.DocCount } resData := make([]map[string]interface{}, len(data)) for i, v := range data { if json.Unmarshal(*v.Source, &resData[i]) != nil { continue } } return nil }