docs: update dev-log - billing.go split

This commit is contained in:
attacker committed 2026-06-15 17:04:26 +08:00
1 parent 9eaf88c8b7
commit bc5bd96aff
1 file changed
+23
+23
View File
@@ -1018,3 +1018,26 @@ cd ~/devops/aiops
- 后端 billing.go(476行)、server.go(446行)、sql_audit.go(435行)、approval.go(435行) 仍超400行限制 - 后端 billing.go(476行)、server.go(446行)、sql_audit.go(435行)、approval.go(435行) 仍超400行限制
- sidebar.tsx(689行) 接近上限可提取context/variants - sidebar.tsx(689行) 接近上限可提取context/variants
- 前端 mocks/ 目录虽标记废弃但文件仍在(组件已不导入),可考虑彻底删除或保留作开发参考 - 前端 mocks/ 目录虽标记废弃但文件仍在(组件已不导入),可考虑彻底删除或保留作开发参考
## 2026-06-15 14:00 自动推进
- **任务**: 后端 billing.go 拆分(476行超400限制 → 2文件,按 账单记录+统计/预警规则 分域)
- **修改**:
- `backend/internal/api/handlers/billing.go` — 476→307行:仅保留 BillingHandler struct + NewBillingHandler + 账单记录域(ListBillings/CreateBilling/BatchCreateBillings/DeleteBilling)+ GetBillingStats + checkBillingAlerts(被 stats 调用,随账单域保留);移除未使用的 strings import
- `backend/internal/api/handlers/billing_alert.go` — **新建**(168行):预警规则域 CRUD(ListAlertRules/CreateAlertRule/UpdateAlertRule/DeleteAlertRule/ToggleAlertRule)+ GetProviderOptions + formatProvider
- 附带小优化:GetProviderOptions 原内联 switch 厂商标签改为复用 formatProvider(),消除重复代码(行为不变)
- **结果**:
- `go build -o aiops-server ./cmd/` 编译通过 ✅
- `go vet ./...` 零错误 ✅
- `./run.sh restart` 后健康检查 /health 正常 ✅
- Python 脚本端到端验证(admin token):
- GET /cloud-billings → code 200, total 479 ✅(ListBillings)
- GET /cloud-billings/stats → code 200, month_cost 33776.14, provider_dist 4, alerts 1 ✅(GetBillingStats + checkBillingAlerts)
- GET /billing-alerts → code 200, total 3 ✅(ListAlertRules,已迁移)
- GET /cloud-billings/providers → code 200, 4厂商中文标签正确 ✅(GetProviderOptions + formatProvider 复用验证)
- POST /billing-alerts/3/toggle → "已禁用" → 再 toggle "已启用" ✅(ToggleAlertRule,已迁移)
- 纯后端文件重组+小优化,无业务逻辑变更,前端零改动,routes.go 零改动
- git push 成功 (commit 9eaf88c)
- **下一步建议**:
- 后端仍超400行: server.go(446)、sql_audit.go(435)、approval.go(435)、navigation.go(428,但属已移除菜单的死代码后端,保留不拆)
- 前端 sidebar.tsx(689行) 接近上限可提取 context/variants;ServerManager.tsx(681)、AgentMonitor.tsx(671) 接近700行限制