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>
133 lines
4.9 KiB
Go
133 lines
4.9 KiB
Go
package constants
|
||
|
||
// 不轮询清单(tb_card_polling_pause,add-polling-pause-list-and-batch-toggle)。
|
||
|
||
// 不轮询清单状态。
|
||
const (
|
||
PollingPauseStatusClosed = 1 // 已关闭
|
||
PollingPauseStatusRestored = 2 // 已恢复
|
||
)
|
||
|
||
// PollingPauseStatusName 返回不轮询清单状态名称。
|
||
func PollingPauseStatusName(status int) string {
|
||
switch status {
|
||
case PollingPauseStatusClosed:
|
||
return "已关闭"
|
||
case PollingPauseStatusRestored:
|
||
return "已恢复"
|
||
default:
|
||
return ""
|
||
}
|
||
}
|
||
|
||
// 轮询开关来源(关闭来源与恢复来源共用)。
|
||
const (
|
||
PollingToggleSourceSingle = "single" // 单资产接口
|
||
PollingToggleSourceBatch = "batch" // 勾选批量
|
||
PollingToggleSourceImport = "import" // 文件导入
|
||
PollingToggleSourceRiskAuto = "risk_auto" // 风险停机或已销户自动关闭
|
||
PollingToggleSourceCascade = "cascade" // 设备级联
|
||
PollingToggleSourceOrder = "order" // 支付或下单生效
|
||
PollingToggleSourceExpiryChange = "expiry_change" // 改有效期
|
||
PollingToggleSourceAlert = "alert" // 停机被拒告警处理
|
||
PollingToggleSourceHistory = "history" // 历史数据(上线时补写)
|
||
)
|
||
|
||
// PollingToggleSources 返回全部轮询开关来源(筛选校验用)。返回新切片。
|
||
func PollingToggleSources() []string {
|
||
return []string{PollingToggleSourceSingle, PollingToggleSourceBatch, PollingToggleSourceImport, PollingToggleSourceRiskAuto,
|
||
PollingToggleSourceCascade, PollingToggleSourceOrder, PollingToggleSourceExpiryChange, PollingToggleSourceAlert, PollingToggleSourceHistory}
|
||
}
|
||
|
||
// PollingToggleSourceName 返回轮询开关来源名称。
|
||
func PollingToggleSourceName(source string) string {
|
||
switch source {
|
||
case PollingToggleSourceSingle:
|
||
return "单资产接口"
|
||
case PollingToggleSourceBatch:
|
||
return "勾选批量"
|
||
case PollingToggleSourceImport:
|
||
return "文件导入"
|
||
case PollingToggleSourceRiskAuto:
|
||
return "风险停机或已销户自动关闭"
|
||
case PollingToggleSourceCascade:
|
||
return "设备级联"
|
||
case PollingToggleSourceOrder:
|
||
return "支付或下单生效"
|
||
case PollingToggleSourceExpiryChange:
|
||
return "改有效期"
|
||
case PollingToggleSourceAlert:
|
||
return "停机被拒告警处理"
|
||
case PollingToggleSourceHistory:
|
||
return "历史数据"
|
||
default:
|
||
return ""
|
||
}
|
||
}
|
||
|
||
// PollingBatchMaxSize 是勾选批量开关轮询的单次上限。
|
||
const PollingBatchMaxSize = 500
|
||
|
||
// 批量与导入逐项结果状态。
|
||
const (
|
||
PollingToggleItemSuccess = 1 // 成功
|
||
PollingToggleItemSkipped = 2 // 跳过(已是目标状态、风险停机或已销户不能开启)
|
||
PollingToggleItemFailed = 3 // 失败
|
||
PollingToggleItemForbidden = 4 // 无权限或资产不存在
|
||
)
|
||
|
||
// PollingToggleItemStatusName 返回逐项结果状态名称。
|
||
func PollingToggleItemStatusName(status int) string {
|
||
switch status {
|
||
case PollingToggleItemSuccess:
|
||
return "成功"
|
||
case PollingToggleItemSkipped:
|
||
return "跳过"
|
||
case PollingToggleItemFailed:
|
||
return "失败"
|
||
case PollingToggleItemForbidden:
|
||
return "无权限或资产不存在"
|
||
default:
|
||
return ""
|
||
}
|
||
}
|
||
|
||
// PollingToggleImpactDisable 关闭轮询的影响说明(供前端确认框展示)。
|
||
var PollingToggleImpactDisable = []string{
|
||
"关闭后不再查询上游卡状态、流量与实名",
|
||
"流量用完、实名不满足时不自动停机;套餐激活、流量重置后不自动复机",
|
||
"套餐到期、退款后无可用套餐时仍会自动停机",
|
||
"订单套餐生效、后台修改有效期后资产有生效套餐时,会自动恢复轮询并按规则复机",
|
||
"人工停机与人工复机照常可用",
|
||
"设备关闭时,设备下所有卡同样适用",
|
||
}
|
||
|
||
// PollingToggleImpactEnable 开启轮询的影响说明。
|
||
var PollingToggleImpactEnable = []string{
|
||
"开启后按轮询配置查询上游卡状态、流量与实名",
|
||
"满足停机或复机条件时按规则自动停复机,人工停机不享有豁免",
|
||
"网关扩展状态为风险停机或已销户的卡不能开启轮询",
|
||
"设备开启时,设备下非风险停机、非已销户的卡同样开启",
|
||
}
|
||
|
||
// 轮询开关文件导入。
|
||
const (
|
||
// StoragePurposePollingStatusImport 轮询开关导入 CSV 上传用途。
|
||
StoragePurposePollingStatusImport = "polling_status_import"
|
||
// PollingStatusImportStoragePrefix 导入文件对象存储 Key 前缀。
|
||
PollingStatusImportStoragePrefix = "polling-status-imports"
|
||
// TaskTypePollingStatusImport 轮询开关文件导入 Worker 任务类型。
|
||
TaskTypePollingStatusImport = "polling:status_import"
|
||
// PollingStatusImportMaxRows 单个导入文件最大数据行数。
|
||
PollingStatusImportMaxRows = 50000
|
||
)
|
||
|
||
// 导出场景。
|
||
const (
|
||
ExportTaskScenePollingPause = "polling_pause"
|
||
ExportTaskScenePollingStopRefusedAlert = "polling_stop_refused_alert"
|
||
)
|
||
|
||
// PollingAlertViewStopRefused 是失败告警列表的"停机被拒"视图。
|
||
const PollingAlertViewStopRefused = "stop_refused"
|