All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 13m29s
51 lines
2.3 KiB
Go
51 lines
2.3 KiB
Go
package carrierthreshold
|
||
|
||
// 周期锁整行生命周期取值,与 tb_carrier_traffic_threshold_lock.status 的 CHECK 一致。
|
||
const (
|
||
// LockStatusLocked 表示该卡在该计费周期内持有通道阈值停机锁,周期内拒绝一切复机。
|
||
LockStatusLocked = "locked"
|
||
// LockStatusUnlocked 表示已跨期解除通道阈值锁,锁行保留为历史事实。
|
||
LockStatusUnlocked = "unlocked"
|
||
)
|
||
|
||
// 停复机子任务状态取值,与 stop_status / resume_status 的 CHECK 一致。
|
||
const (
|
||
// TaskStatusPending 表示子任务待提交,达量判定写锁时停机子任务处于该状态。
|
||
TaskStatusPending = "pending"
|
||
// TaskStatusSubmitted 表示子任务已提交待确认,认领成功后处于该状态。
|
||
TaskStatusSubmitted = "submitted"
|
||
// TaskStatusConfirmed 表示运营商调用或状态查询已明确成功。
|
||
TaskStatusConfirmed = "confirmed"
|
||
// TaskStatusFailed 表示运营商明确失败。
|
||
TaskStatusFailed = "failed"
|
||
// TaskStatusUnknown 表示结果未知,交由恢复扫描查询收敛。
|
||
TaskStatusUnknown = "unknown"
|
||
)
|
||
|
||
// 异常标记取值,与 anomaly_flag 的 CHECK 一致。
|
||
const (
|
||
// AnomalyFlagNone 表示无需人工核对。
|
||
AnomalyFlagNone = 0
|
||
// AnomalyFlagManual 表示查询窗口超期或失败无法自动确认,已转人工核对并退出自动扫描。
|
||
AnomalyFlagManual = 1
|
||
)
|
||
|
||
// UnresolvedTaskStatuses 返回仍需由恢复扫描查询运营商状态收敛的子任务状态集合。
|
||
//
|
||
// 语义:submitted 表示已提交待确认,unknown 表示结果未知,failed 表示调用明确失败但运营商侧
|
||
// 状态仍可能已生效(例如请求已到达而响应超时/异常)——三者都必须继续用只读状态查询确认,
|
||
// 因此恢复扫描的查询谓词与超期判定共用本集合,避免「失败或结果未知」的锁行退出收敛链路。
|
||
// pending 表示尚未对运营商发起过调用,confirmed 是终态,都不属于本集合。
|
||
func UnresolvedTaskStatuses() []string {
|
||
return []string{TaskStatusSubmitted, TaskStatusUnknown, TaskStatusFailed}
|
||
}
|
||
|
||
// IsUnresolvedTaskStatus 判断子任务状态是否仍需恢复扫描收敛。
|
||
func IsUnresolvedTaskStatus(status string) bool {
|
||
switch status {
|
||
case TaskStatusSubmitted, TaskStatusUnknown, TaskStatusFailed:
|
||
return true
|
||
}
|
||
return false
|
||
}
|