feat: 停复机规则演练与终态自动关闭轮询
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m26s

统一停复机规则转正的第一次发布:总开关仍关闭,现有停复机行为不变。

- 新增停复机规则演练:GET /stop-resume-rule/dry-run 按新规则对开机与停机卡只判断不执行,返回运营商账户 × 停机原因 × 判断结果汇总与分页明细,可假设通道实名管控配置;POST /stop-resume-rule/dry-run/export 导出明细(场景 stop_resume_rule_dry_run);仅超级管理员与平台账号
- 风险停机、已销户关闭轮询不再限于独立卡,只关该卡自身轮询,不级联设备
- 错误分类规则增加 auto_disable_polling,仅终态类别可勾选;停复机(含设备停复机)命中该规则时不重试、关闭该卡轮询、回写网关扩展状态并写审计 iot_card.terminal_disable_polling
- 迁移 000250 加列与约束,并为"已销户""仅支持风险复机"置位
This commit is contained in:
邹进
2026-10-25 17:52:40 +09:00
parent fad7dbfdff
commit af8249158d
33 changed files with 1227 additions and 56 deletions

View File

@@ -139,6 +139,8 @@ const (
AuditActionIotCardDeactivated = "iot_card.deactivate"
// AuditActionIotCardPollingStatusUpdated 表示更新 IoT 卡轮询开关。
AuditActionIotCardPollingStatusUpdated = "iot_card.update_polling_status"
// AuditActionIotCardTerminalPollingDisabled 表示停复机调用命中"自动关闭轮询"终态规则后系统关闭该卡轮询。
AuditActionIotCardTerminalPollingDisabled = "iot_card.terminal_disable_polling"
// AuditActionIotCardPollingStatusBatchUpdated 表示批量更新 IoT 卡轮询开关。
AuditActionIotCardPollingStatusBatchUpdated = "iot_card.batch_update_polling_status"
// AuditActionIotCardBatchDeleted 表示批量删除 IoT 卡根事件。

View File

@@ -409,6 +409,8 @@ const (
ExportTaskSceneOperationsActivation = "operations_activation"
// ExportTaskSceneOperationsRenewal 表示套餐续费情况报表导出场景,导出行与页面分组行同口径并含合计行。
ExportTaskSceneOperationsRenewal = "operations_renewal"
// ExportTaskSceneStopResumeRuleDryRun 表示停复机规则演练明细导出场景,一行对应一张卡的判断结果。
ExportTaskSceneStopResumeRuleDryRun = "stop_resume_rule_dry_run"
)
// ExportTaskInvalidTimeFilterMessage 是导出任务冻结的时间边界非法时写入 error_message 的安全失败摘要。