package main import ( "fmt" "fwh-toolbox-server/database" "fwh-toolbox-server/domain" "fwh-toolbox-server/jobs" "fwh-toolbox-server/logger" "fwh-toolbox-server/repositories" "go.mongodb.org/mongo-driver/bson/primitive" "go.uber.org/zap" ) func main() { err := logger.Init("dev") if err != nil { panic(err) } defer logger.Log.Sync() // 退出前同步zap缓冲区 if _, err := database.InitMongo("mongodb://127.0.0.1:27017/FwhToolboxDbDev"); err != nil { panic(err) } records, err := repositories.QuerySiteShutdownList("2025-10-16", 0) // 请求所有设备 if err != nil { panic(err) } // 分析告警统计数据,并将结果写入数据库 fmt.Println("分析告警统计数据,并将结果写入数据库") err = jobs.StatisticsShutdown("2025-10-16", records, analysisShutdownSite) if err != nil { zap.L().Error("告警统计数据分析失败", zap.String("date", "2025-10-16")) panic(err) } fmt.Println("分析成功") } func analysisShutdownSite(sn string, date string) (*primitive.ObjectID, error) { writeConfig := domain.SiteAnalysisConfigWrite{ Sn: sn, Description: fmt.Sprintf("Shutdown站点分析 %s", date), TimePeriod: [2]string{date, date}, Options: domain.SiteAnalysisOptions{ EnableTimeline: true, EnableRuntime: true, }, } id, err := repositories.InsertSiteAnalysisConfig(writeConfig, true) if err != nil { return nil, err } return &id, nil }