Files
junhong_cmp_fiber/pkg/constants/card_observation.go
break 5c4d17e9fc
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
收口七月卡状态回调与系列授权兼容契约
完成运营商实名回调、业务事件观测序列与受控配置装配,同时恢复 UR43 已交付的 packages[].remove 字段及旧响应兼容,统一更新 OpenSpec、OpenAPI 和交付文档。

Constraint: 七月测试环境里程碑不新增或运行自动化测试

Rejected: 以必填 operation_type 替换 packages[].remove | 会破坏已交付前端契约

Confidence: high

Scope-risk: broad

Directive: 后续修改系列套餐管理接口必须保持 packages[].remove 和 ShopSeriesGrantResponse 兼容

Tested: go run ./cmd/gendocs;go build -buildvcs=false ./...;openspec validate complete-july-iteration-test-release --strict;git diff --check

Not-tested: 按本 Change 约定未运行 go test,真实运营商与 Gateway 联调延期
2026-07-24 19:59:24 +08:00

110 lines
5.6 KiB
Go

package constants
import "time"
// 卡实名观测来源
const (
CardObservationSourcePolling = "polling" // 周期轮询
CardObservationSourceManualSync = "manual_sync" // 手动同步
CardObservationSourceManualOverride = "manual_override" // 人工纠偏
CardObservationSourceCarrierCallback = "carrier_callback" // 运营商回调
CardObservationSourceBusinessEvent = "business_event" // 业务成功后的观测
)
// 卡观测事件序列同步类型。
const (
CardObservationSyncTypeRealname = "realname" // 实名状态
CardObservationSyncTypeTraffic = "traffic" // 流量读数
CardObservationSyncTypeNetwork = "network" // 网络状态
CardObservationSyncTypeDeviceInfo = "device_info" // 设备信息
)
// 卡观测事件序列资源类型。
const (
CardObservationResourceTypeCard = "iot_card" // IoT 卡
CardObservationResourceTypeDevice = "device" // 设备
)
// 卡观测事件序列执行参数。
const (
CardObservationSeriesAttemptCount = 3 // 每个序列固定尝试次数
CardObservationSeriesTTL = 7 * time.Minute // 活跃序列覆盖最后一次任务及缓冲
CardObservationSeriesResultTTL = 24 * time.Hour // 尝试幂等与提前完成结果保留时间
CardObservationGatewayLockTTL = 16 * time.Minute // 覆盖 300 秒超时、两次网络重试及安全余量
CardObservationGatewayMinInterval = 10 * time.Second // 未配置时的运营商最小请求间隔
)
// CardObservationAttemptDelay 返回固定的立即、3 分钟、5 分钟阶梯延迟。
func CardObservationAttemptDelay(attempt int) time.Duration {
switch attempt {
case 1:
return 0
case 2:
return 3 * time.Minute
case 3:
return 5 * time.Minute
default:
return 0
}
}
// 卡观测副作用消费状态
const (
CardObservationEffectStatusPending = 0 // 等待处理
CardObservationEffectStatusProcessing = 1 // 正在处理或结果未知
CardObservationEffectStatusDailySaved = 2 // 日流量缓冲已记录
CardObservationEffectStatusDeducted = 3 // 套餐流量已扣减
CardObservationEffectStatusCompleted = 4 // 全部副作用已完成
)
// 卡观测副作用类型
const (
CardObservationEffectTypeTrafficIncrement = "traffic_increment" // 流量正增量副作用
)
// Gateway 轮询 Integration Log 操作编码。
const (
IntegrationProviderGateway = "gateway" // Gateway 外部系统
IntegrationOperationGatewayRealname = "query_realname_status" // 查询实名状态
IntegrationOperationGatewayTraffic = "query_flow" // 查询流量
IntegrationOperationGatewayNetwork = "query_card_status" // 查询网络状态
IntegrationOperationGatewayDeviceInfo = "query_device_info" // 查询设备信息
)
// 卡实名观测场景
const (
CardObservationSceneRealnamePolling = "realname_polling" // 实名轮询
CardObservationSceneTrafficPolling = "traffic_polling" // 流量轮询
CardObservationSceneNetworkPolling = "network_polling" // 网络状态轮询
CardObservationSceneManualRefresh = "manual_refresh" // 手动刷新
CardObservationSceneCarrierCallback = "carrier_realname_callback" // 运营商实名回调
CardObservationSceneClientAssetRead = "client_asset_read" // C 端资产详情读取
CardObservationSceneAdminAssetRead = "admin_asset_realtime" // 后台资产实时状态读取
CardObservationSceneOpenCardTraffic = "openapi_card_traffic" // OpenAPI 卡流量读取
CardObservationSceneOpenCardNetwork = "openapi_card_network" // OpenAPI 卡网络读取
CardObservationSceneOpenCardRealname = "openapi_card_realname" // OpenAPI 卡实名读取
CardObservationSceneOpenDeviceTraffic = "openapi_device_traffic" // OpenAPI 设备流量读取
CardObservationSceneClientRealnameLink = "client_realname_link" // C 端获取实名链接
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 设置成功
)
// 卡实名状态变更 Outbox 事件
const (
OutboxEventTypeCardRealnameChanged = "card.realname.changed" // 卡实名状态变化
CardRealnameChangedPayloadVersionV1 = 1 // 卡实名状态变化载荷版本
OutboxEventTypeCardTrafficIncremented = "card.traffic.incremented" // 卡流量正增量
CardTrafficIncrementedPayloadVersionV1 = 1 // 卡流量正增量载荷版本
OutboxEventTypeCardNetworkChanged = "card.network.changed" // 卡网络状态变化
CardNetworkChangedPayloadVersionV1 = 1 // 卡网络状态变化载荷版本
OutboxEventTypeCardSeriesRequested = "card.observation.series.requested" // 业务成功请求卡观测序列
CardSeriesRequestedPayloadVersionV1 = 1 // 业务成功观测序列载荷版本
)