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" // 查询设备信息 IntegrationOperationGatewaySpeedTier = "set_speed_tier" // 设置或恢复固定限速档位 ) // Gateway 固定限速档位编码。 const ( GatewaySpeedTierRestore = -1 // 恢复不限速 GatewaySpeedTierZero = 0 // 限速为 0kbps GatewaySpeedTier128K = 1 // 限速为 128Kbps GatewaySpeedTier512K = 2 // 限速为 512Kbps GatewaySpeedTier1M = 3 // 限速为 1Mbps GatewaySpeedTier2M = 4 // 限速为 2Mbps GatewaySpeedTier10M = 5 // 限速为 10Mbps GatewaySpeedTier20M = 6 // 限速为 20Mbps GatewaySpeedTier50M = 7 // 限速为 50Mbps GatewaySpeedTier100M = 8 // 限速为 100Mbps ) // IsGatewaySpeedTier 判断编码是否为系统允许的固定限速档位。 func IsGatewaySpeedTier(code int) bool { return code >= GatewaySpeedTierRestore && code <= GatewaySpeedTier100M } // GetGatewaySpeedTierName 返回固定限速档位中文名称。 func GetGatewaySpeedTierName(code int) string { switch code { case GatewaySpeedTierRestore: return "恢复不限速" case GatewaySpeedTierZero: return "0kbps" case GatewaySpeedTier128K: return "128Kbps" case GatewaySpeedTier512K: return "512Kbps" case GatewaySpeedTier1M: return "1Mbps" case GatewaySpeedTier2M: return "2Mbps" case GatewaySpeedTier10M: return "10Mbps" case GatewaySpeedTier20M: return "20Mbps" case GatewaySpeedTier50M: return "50Mbps" case GatewaySpeedTier100M: return "100Mbps" default: return "未知" } } // GatewaySpeedTierUnknownRecoveryStrategy 表示限速超时后的人工核对策略。 const GatewaySpeedTierUnknownRecoveryStrategy = "通过 Gateway 运维侧按 ICCID 核对当前限速档位后,再决定是否重试" // 卡实名观测场景 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 // 业务成功观测序列载荷版本 )