sitesAnalysisServices.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package services
  2. import (
  3. "fwh-toolbox-server/domain"
  4. "fwh-toolbox-server/dto"
  5. "fwh-toolbox-server/repositories"
  6. "fwh-toolbox-server/task/queue/fwhQueue"
  7. "go.mongodb.org/mongo-driver/bson/primitive"
  8. )
  9. // 从数据库获取站点分析列表
  10. func GetSiteAnalysisManageList(page uint, size uint, sn *string, timePeriod *[2]string, progress *string, trigger *domain.Trigger) (*dto.ResPage[domain.SiteAnalysisInfo], error) {
  11. return repositories.GetSiteAnalysisManageList(page, size, sn, timePeriod, progress, trigger)
  12. }
  13. // 从数据库获取一条站点分析配置
  14. func GetSiteAnalysisConfig(id primitive.ObjectID) (*domain.SiteAnalysisConfig, error) {
  15. return repositories.GetSiteAnalysisConfig(id)
  16. }
  17. // 插入一条站点分析配置到数据库
  18. func InsertSiteAnalysisConfig(writeConfig domain.SiteAnalysisConfigWrite) error {
  19. id, err := repositories.InsertSiteAnalysisConfig(writeConfig, false)
  20. if err != nil {
  21. return err
  22. }
  23. fwhQueue.EnqueueSiteAnalysisTask(domain.TaskSiteAnalysis{
  24. Id: id,
  25. Sn: writeConfig.Sn,
  26. TimePeriod: writeConfig.TimePeriod,
  27. Options: domain.SiteAnalysisOptions{
  28. EnableTimeline: writeConfig.Options.EnableTimeline,
  29. EnableRuntime: writeConfig.Options.EnableRuntime,
  30. },
  31. })
  32. return nil
  33. }
  34. // 更新一条站点分析配置到数据库
  35. func UpdateSiteAnalysisConfig(id primitive.ObjectID, writeConfig domain.SiteAnalysisConfigWrite) error {
  36. err := repositories.UpdateSiteAnalysisConfig(id, writeConfig)
  37. if err != nil {
  38. return err
  39. }
  40. fwhQueue.EnqueueSiteAnalysisTask(domain.TaskSiteAnalysis{
  41. Id: writeConfig.Id,
  42. Sn: writeConfig.Sn,
  43. TimePeriod: writeConfig.TimePeriod,
  44. Options: domain.SiteAnalysisOptions{
  45. EnableTimeline: writeConfig.Options.EnableTimeline,
  46. EnableRuntime: writeConfig.Options.EnableRuntime,
  47. },
  48. })
  49. return nil
  50. }
  51. // 更新一条站点分析配置到数据库
  52. func UpdateSiteAnalysisDescription(id primitive.ObjectID, desc string) error {
  53. err := repositories.UpdateSiteAnalysisDescription(id, desc)
  54. if err != nil {
  55. return err
  56. }
  57. return nil
  58. }
  59. // 删除一条站点分析配置
  60. func DeleteSiteAnalysisConfig(id primitive.ObjectID) error {
  61. err := repositories.DeleteSiteAnalysisConfig(id)
  62. if err != nil {
  63. return err
  64. }
  65. // TODO 需删除相关数据
  66. return nil
  67. }
  68. // 从数据库获取站点分析数据
  69. func GetSiteAnalysisData(id primitive.ObjectID) (*dto.SiteAnalysisDataInfo, error) {
  70. cfg, err := repositories.GetSiteAnalysisConfig(id)
  71. if err != nil {
  72. return nil, err
  73. }
  74. data := dto.SiteAnalysisDataInfo{
  75. Id: cfg.Id,
  76. Sn: cfg.Sn,
  77. Progress: cfg.Progress,
  78. Data: cfg.Data,
  79. }
  80. return &data, nil
  81. }