sitesAnalysisServices.go 2.4 KB

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