advancedProject.go 1022 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package common
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "leadGeneration/util"
  6. "log"
  7. )
  8. func (mae *MarketAnalysisEntity) AdvancedProject() map[string]interface{} {
  9. finalSql := fmt.Sprintf(mae.GetCommonQuerySqlWithAggs(), projectsNumber, mae.Size, projectsSort)
  10. log.Println("定制化分析报告sql查询:", finalSql)
  11. res, _, data := util.GetAggs("bidding", "bidding", finalSql)
  12. if res == nil || len(res) == 0 || data == nil || len(data) == 0 {
  13. return nil
  14. }
  15. var thisRow SuperProjects
  16. for name, object := range res {
  17. bArr, err := object.MarshalJSON()
  18. if len(bArr) == 0 || err != nil {
  19. continue
  20. }
  21. if name == "projects_number" {
  22. if json.Unmarshal(bArr, &thisRow.ProjectsNumber) != nil {
  23. continue
  24. }
  25. }
  26. }
  27. redisData := make(map[string]interface{})
  28. for _, v := range thisRow.ProjectsNumber.Buckets {
  29. redisData[v.Key] = v.DocCount
  30. }
  31. resData := make([]map[string]interface{}, len(data))
  32. for i, v := range data {
  33. if json.Unmarshal(*v.Source, &resData[i]) != nil {
  34. continue
  35. }
  36. }
  37. return nil
  38. }