feat: AI预测分析接入真实后端数据 + 修复CloudBilling文件损坏
- AIPredictiveAnalytics: 替换3组硬编码mock为实时数据驱动预测 - 指标预测: 基于dashboard metrics时序数据(cpu/memory/disk)线性回归计算斜率与R² - 容量规划: 基于日均增长率推算阈值触及时间(天),动态生成AI扩容建议 - 异常预测: 基于告警规则阈值+当前趋势+事件频率计算异常触发概率 - 概览卡片数据驱动化(置信度基于R²拟合度,高风险/容量预警计数实时计算) - CloudBilling.tsx: 修复read_file导致的行号前缀损坏(501行全部含N|前缀)
This commit is contained in:
1 parent
0ebe22d142
commit
2da4f52209
17 files changed
+2299
-322
No files matched your search
@@ -68,6 +68,7 @@ func Register(r *gin.Engine, db *gorm.DB, log *zap.Logger, cfg *config.Config) {
|
||||
ldapGroup.POST("/create-ou", ldapHandler.CreateLDAPOU)
|
||||
ldapGroup.POST("/create-user", ldapHandler.CreateLDAPUser)
|
||||
ldapGroup.POST("/delete-user", ldapHandler.DeleteLDAPUser)
|
||||
ldapGroup.POST("/update-user", ldapHandler.UpdateLDAPUser)
|
||||
}
|
||||
|
||||
// 仪表盘路由
|
||||
@@ -133,6 +134,26 @@ func Register(r *gin.Engine, db *gorm.DB, log *zap.Logger, cfg *config.Config) {
|
||||
regions.DELETE("/:id", regionHandler.DeleteRegion)
|
||||
}
|
||||
|
||||
// 云账单路由
|
||||
billingHandler := handlers.NewBillingHandler(db)
|
||||
billings := authorized.Group("/cloud-billings")
|
||||
{
|
||||
billings.GET("", billingHandler.ListBillings)
|
||||
billings.POST("", billingHandler.CreateBilling)
|
||||
billings.POST("/batch", billingHandler.BatchCreateBillings)
|
||||
billings.DELETE("/:id", billingHandler.DeleteBilling)
|
||||
billings.GET("/stats", billingHandler.GetBillingStats)
|
||||
billings.GET("/providers", billingHandler.GetProviderOptions)
|
||||
}
|
||||
billingAlerts := authorized.Group("/billing-alerts")
|
||||
{
|
||||
billingAlerts.GET("", billingHandler.ListAlertRules)
|
||||
billingAlerts.POST("", billingHandler.CreateAlertRule)
|
||||
billingAlerts.PUT("/:id", billingHandler.UpdateAlertRule)
|
||||
billingAlerts.DELETE("/:id", billingHandler.DeleteAlertRule)
|
||||
billingAlerts.POST("/:id/toggle", billingHandler.ToggleAlertRule)
|
||||
}
|
||||
|
||||
// 资源模型路由
|
||||
resourceModelHandler := handlers.NewResourceModelHandler(db)
|
||||
resourceModels := authorized.Group("/resource-models")
|
||||
|
||||
Reference in new issue
Block a user