shutdownStatisticsTest.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package main
  2. import (
  3. "fmt"
  4. "fwh-toolbox-server/database"
  5. "fwh-toolbox-server/domain"
  6. "fwh-toolbox-server/jobs"
  7. "fwh-toolbox-server/logger"
  8. "fwh-toolbox-server/repositories"
  9. "go.mongodb.org/mongo-driver/bson/primitive"
  10. "go.uber.org/zap"
  11. )
  12. func main() {
  13. err := logger.Init("dev")
  14. if err != nil {
  15. panic(err)
  16. }
  17. defer logger.Log.Sync() // 退出前同步zap缓冲区
  18. if _, err := database.InitMongo("mongodb://127.0.0.1:27017/FwhToolboxDbDev"); err != nil {
  19. panic(err)
  20. }
  21. records, err := repositories.QuerySiteShutdownList("2025-10-16", 0) // 请求所有设备
  22. if err != nil {
  23. panic(err)
  24. }
  25. // 分析告警统计数据,并将结果写入数据库
  26. fmt.Println("分析告警统计数据,并将结果写入数据库")
  27. err = jobs.StatisticsShutdown("2025-10-16", records, analysisShutdownSite)
  28. if err != nil {
  29. zap.L().Error("告警统计数据分析失败", zap.String("date", "2025-10-16"))
  30. panic(err)
  31. }
  32. fmt.Println("分析成功")
  33. }
  34. func analysisShutdownSite(sn string, date string) (*primitive.ObjectID, error) {
  35. writeConfig := domain.SiteAnalysisConfigWrite{
  36. Sn: sn,
  37. Description: fmt.Sprintf("Shutdown站点分析 %s", date),
  38. TimePeriod: [2]string{date, date},
  39. Options: domain.SiteAnalysisOptions{
  40. EnableTimeline: true,
  41. EnableRuntime: true,
  42. },
  43. }
  44. id, err := repositories.InsertSiteAnalysisConfig(writeConfig, true)
  45. if err != nil {
  46. return nil, err
  47. }
  48. return &id, nil
  49. }