chart_service.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package media
  2. import (
  3. "encoding/json"
  4. logger "eta/eta_mini_ht_api/common/component/log"
  5. )
  6. const (
  7. ChartESColumn = "chartName"
  8. ChartESRangeColumn = "chartInfoId"
  9. )
  10. // func SearchMediaList(_ string, key string, mediaIds []int, from int, size int, max int64) (medias []MediaDTO, err error) {
  11. // //同步es
  12. // var docIds []string
  13. // for _, id := range mediaIds {
  14. // docIds = append(docIds, strconv.Itoa(id))
  15. // }
  16. // sorts := append(sortField, "publishedTime:desc")
  17. // request := matchRangeWithDocIds(key, from, size, max, sorts, docIds)
  18. // re, err := elastic().Search(request)
  19. // if err != nil {
  20. // logger.Error("es搜索失败:%v", err)
  21. // }
  22. // hits := elastic().GetSource(re.Hits)
  23. // for _, hit := range hits {
  24. // var content map[string][]string
  25. // err = json.Unmarshal(hit.Highlight, &content)
  26. // media := MediaDTO{}
  27. // err = json.Unmarshal(hit.Source, &media)
  28. // if err != nil {
  29. // logger.Error("解析媒体数据失败:%v", err)
  30. // continue
  31. // }
  32. // media.Highlight = content[ESColumn]
  33. // media.PublishedTime = media.PublishedTime[:10]
  34. // media.MediaTitle = media.Highlight[0]
  35. // medias = append(medias, media)
  36. // }
  37. // return
  38. // }
  39. type EsChartInfo struct {
  40. ChartInfoId int
  41. ChartName string
  42. ChartImage string
  43. UniqueCode string
  44. }
  45. // 同步es
  46. func AddChartToEs(esChart EsChartInfo) bool {
  47. return elastic().InsertOrUpdate(htConfig.GetChartIndex(), esChart.ChartInfoId, esChart)
  48. }
  49. func UpdateChartImage(image string, id int) bool {
  50. doc, err := elastic().Get(htConfig.GetChartIndex(), id)
  51. if err != nil {
  52. return false
  53. }
  54. var chartInfo EsChartInfo
  55. err = json.Unmarshal(doc.Source, &chartInfo)
  56. if err != nil {
  57. logger.Error("es获取图表数据失败:%v", err)
  58. return false
  59. }
  60. if chartInfo.ChartInfoId == 0 {
  61. logger.Error("es获取图表数据失败,chartInfoId:%d", id)
  62. return false
  63. }
  64. chartInfo.ChartImage = image
  65. return elastic().Update(htConfig.GetChartIndex(), chartInfo.ChartInfoId, chartInfo)
  66. }
  67. func GetChartById(id int) (chartInfo EsChartInfo, err error) {
  68. doc, err := elastic().Get(htConfig.GetChartIndex(), id)
  69. if err != nil {
  70. logger.Error("es获取图表数据失败:%v", err)
  71. return
  72. }
  73. err = json.Unmarshal(doc.Source, &chartInfo)
  74. if err != nil {
  75. logger.Error("序列化json数据失败,获取图表数据失败:%v", err)
  76. return
  77. }
  78. return
  79. }