feat(通道流量阈值): AUG26-011 运营商通道流量阈值达量停机与周期复机
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 12m59s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 12m59s
This commit is contained in:
@@ -70,6 +70,8 @@ func AgentOpenAPIStopReasonName(reason string) string {
|
||||
return "未完成实名认证"
|
||||
case StopReasonCarrierStopped:
|
||||
return "运营商侧停机"
|
||||
case StopReasonChannelThreshold:
|
||||
return "通道流量阈值停机"
|
||||
case "":
|
||||
return ""
|
||||
default:
|
||||
|
||||
@@ -155,12 +155,14 @@ const (
|
||||
CardObservationSceneAdminRealnameLink = "admin_realname_link" // 后台获取实名链接
|
||||
CardObservationSceneBusinessStop = "business_stop" // 业务停机成功
|
||||
CardObservationSceneBusinessResume = "business_resume" // 业务复机成功
|
||||
CardObservationScenePackageChanged = "package_changed" // 购包或套餐激活成功
|
||||
CardObservationSceneDeviceSwitchCard = "device_switch_card" // 设备切卡成功
|
||||
CardObservationSceneDeviceSwitchMode = "device_switch_mode" // 设备切卡模式成功
|
||||
CardObservationSceneDeviceReboot = "device_reboot" // 设备重启成功
|
||||
CardObservationSceneDeviceReset = "device_reset" // 设备恢复出厂成功
|
||||
CardObservationSceneDeviceSetWiFi = "device_set_wifi" // 设备 WiFi 设置成功
|
||||
// CardObservationSceneCarrierThresholdRecovery 是通道阈值恢复扫描的只读状态查询场景。
|
||||
CardObservationSceneCarrierThresholdRecovery = "carrier_threshold_recovery"
|
||||
CardObservationScenePackageChanged = "package_changed" // 购包或套餐激活成功
|
||||
CardObservationSceneDeviceSwitchCard = "device_switch_card" // 设备切卡成功
|
||||
CardObservationSceneDeviceSwitchMode = "device_switch_mode" // 设备切卡模式成功
|
||||
CardObservationSceneDeviceReboot = "device_reboot" // 设备重启成功
|
||||
CardObservationSceneDeviceReset = "device_reset" // 设备恢复出厂成功
|
||||
CardObservationSceneDeviceSetWiFi = "device_set_wifi" // 设备 WiFi 设置成功
|
||||
)
|
||||
|
||||
// 卡实名状态变更 Outbox 事件
|
||||
|
||||
@@ -96,6 +96,10 @@ const (
|
||||
TaskTypeAgentRechargeRecovery = "agent_recharge:payment:recovery" // 代理在线充值支付恢复与查单
|
||||
TaskTypeRefundChannelRecovery = "refund:channel:recovery" // 渠道原路退款结果恢复与查询
|
||||
TaskTypeRefundCommissionRecovery = "refund:commission:recovery" // 退款佣金回溯后处理补偿
|
||||
|
||||
// 运营商通道流量阈值任务类型(由 Asynq Scheduler 调度)
|
||||
TaskTypeCarrierThresholdCycle = "carrier_threshold:cycle" // 通道阈值周期处理:跨期解锁与条件复机
|
||||
TaskTypeCarrierThresholdRecovery = "carrier_threshold:recovery" // 通道阈值停复机结果恢复扫描
|
||||
)
|
||||
|
||||
// 用户状态常量
|
||||
@@ -319,6 +323,9 @@ func QueueForTaskType(taskType string) string {
|
||||
return QueueWeComApproval
|
||||
case TaskTypeAgentRechargeRecovery, TaskTypeRefundChannelRecovery, TaskTypeRefundCommissionRecovery:
|
||||
return QueueDefault
|
||||
case TaskTypeCarrierThresholdCycle, TaskTypeCarrierThresholdRecovery:
|
||||
// 与退款恢复同队列:每分钟轻量扫描,复用既有已监听队列,不新增队列与权重。
|
||||
return QueueDefault
|
||||
default:
|
||||
return QueueDefault
|
||||
}
|
||||
|
||||
@@ -76,6 +76,10 @@ const (
|
||||
StopReasonNoPackage = "no_package" // 停机原因:无有效套餐
|
||||
StopReasonNotRealname = "not_realname" // 停机原因:非行业卡且未完成实名认证
|
||||
StopReasonCarrierStopped = "carrier_stopped" // 停机原因:运营商/Gateway 侧主动停机
|
||||
// StopReasonChannelThreshold 是运营商通道流量阈值达量停机的停因。
|
||||
// 它既不属于轮询停因(isPollingStopReason),也不参与设备维度扩散(isDeviceScopeReason):
|
||||
// 周期内必须拒绝一切复机,复机只由通道阈值的周期处理发起。
|
||||
StopReasonChannelThreshold = "channel_threshold"
|
||||
)
|
||||
|
||||
// 套餐流量类型
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
agentrechargeApp "github.com/break/junhong_cmp_fiber/internal/application/agentrecharge"
|
||||
cardObservationApp "github.com/break/junhong_cmp_fiber/internal/application/cardobservation"
|
||||
carrierthresholdApp "github.com/break/junhong_cmp_fiber/internal/application/carrierthreshold"
|
||||
"github.com/break/junhong_cmp_fiber/internal/service/commission_calculation"
|
||||
"github.com/break/junhong_cmp_fiber/internal/service/commission_stats"
|
||||
packagepkg "github.com/break/junhong_cmp_fiber/internal/service/package"
|
||||
@@ -60,19 +61,22 @@ type WorkerStores struct {
|
||||
|
||||
// WorkerServices Worker 侧所有 Service 的集合
|
||||
type WorkerServices struct {
|
||||
PaymentAudit agentrechargeApp.PaymentAuditWriter
|
||||
RechargeAudit agentrechargeApp.RechargeAuditWriter
|
||||
CardObservation *cardObservationApp.Service
|
||||
CardObservationSeries *cardObservationApp.SeriesAttemptService
|
||||
ObservationSeriesEvents cardObservationApp.SeriesEventWriter
|
||||
CommissionCalculation *commission_calculation.Service
|
||||
CommissionStats *commission_stats.Service
|
||||
UsageService *packagepkg.UsageService
|
||||
ActivationService *packagepkg.ActivationService
|
||||
ResetService *packagepkg.ResetService
|
||||
AlertService *pollingSvc.AlertService
|
||||
CleanupService *pollingSvc.CleanupService
|
||||
StopResumeService packagepkg.StopResumeCallback // 停复机服务,用于注入 Scheduler
|
||||
PaymentAudit agentrechargeApp.PaymentAuditWriter
|
||||
RechargeAudit agentrechargeApp.RechargeAuditWriter
|
||||
CardObservation *cardObservationApp.Service
|
||||
CardObservationSeries *cardObservationApp.SeriesAttemptService
|
||||
ObservationSeriesEvents cardObservationApp.SeriesEventWriter
|
||||
CommissionCalculation *commission_calculation.Service
|
||||
CommissionStats *commission_stats.Service
|
||||
UsageService *packagepkg.UsageService
|
||||
ActivationService *packagepkg.ActivationService
|
||||
ResetService *packagepkg.ResetService
|
||||
AlertService *pollingSvc.AlertService
|
||||
CleanupService *pollingSvc.CleanupService
|
||||
StopResumeService packagepkg.StopResumeCallback // 停复机服务,用于注入 Scheduler
|
||||
// CarrierThreshold 是运营商通道流量阈值的唯一用例实例:达量判定、持锁拒绝、停复机消费者与
|
||||
// 两个计划任务共用它,使直接执行的成功与恢复确认的成功走同一回写路径。
|
||||
CarrierThreshold *carrierthresholdApp.Service
|
||||
OrderExpirer OrderExpirer // 订单超时取消服务(接口类型,避免循环依赖)
|
||||
AssetPackageOrderCreator task.AssetPackageBatchOrderCreator // 批量订购复用后台单笔订单规则
|
||||
DeviceBatchAllocator task.DeviceBatchAllocationExecutor // 设备CSV批量分配复用现有业务规则
|
||||
|
||||
Reference in New Issue
Block a user