feat: 不轮询清单与批量开关轮询
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m35s

- 新增不轮询清单 tb_card_polling_pause(迁移 000256 补写存量),所有改 enable_polling 的入口同事务写清单
- 卡、设备勾选批量开关轮询(单次 500,逐项结果,开启跳过风险停机与已销户)与 CSV 文件导入
- 订单套餐生效、改有效期后自动恢复轮询并按规则评估复机
- 不轮询清单查询与导出;卡、设备列表与导出增加是否轮询
- 失败告警停机被拒视图、导出与批量关闭轮询;开关轮询影响说明

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
邹进
2026-10-26 03:07:20 +09:00
parent a4e3fe4d8f
commit 7ddb9312e3
45 changed files with 2250 additions and 50 deletions

View File

@@ -2,6 +2,7 @@ package queue
import (
"context"
iotCardSvc "github.com/break/junhong_cmp_fiber/internal/service/iot_card"
agentrechargeApp "github.com/break/junhong_cmp_fiber/internal/application/agentrecharge"
assetautorenewalApp "github.com/break/junhong_cmp_fiber/internal/application/assetautorenewal"
@@ -86,6 +87,10 @@ type WorkerServices struct {
OrderExpirer OrderExpirer // 订单超时取消服务(接口类型,避免循环依赖)
AssetPackageOrderCreator task.AssetPackageBatchOrderCreator // 批量订购复用后台单笔订单规则
DeviceBatchAllocator task.DeviceBatchAllocationExecutor // 设备CSV批量分配复用现有业务规则
// AssetPolling 是资产轮询开关服务:轮询开关文件导入与订单套餐生效后自动恢复轮询共用。
AssetPolling *pollingSvc.AssetPollingService
// IotCardPolling 是 AssetPolling 使用的卡服务,Worker 启动时注入轮询生命周期回调。
IotCardPolling *iotCardSvc.Service
}
// WorkerBootstrapResult Worker Bootstrap 结果