feat: 实名即生效套餐沉默期、延期办理与资产出库时间
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 8m39s
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 8m39s
- 迁移 000259~000265:套餐记录沉默期字段与扫描索引、套餐默认沉默期、延期政策/流水/订单/批次/明细 5 张表、默认政策与系统配置(总开关默认关闭)、企微审批白名单、卡与设备出库时间及出库记录 - 沉默期设置(订单发放、自动购包、钱包续费)、后台购买时调整(超默认值按政策免审或企微审批)、统一判定与激活闸门、排队与孤儿扫描跳过过期套餐、过期套餐禁止退款、每 10 分钟扫描 - 总开关专用接口与打开前 4 项检查;延期政策;延期资格与计费;H5 自助与后台二维码在线支付(商户池路由)、支付回调与查单恢复、线下登记、特殊/批量延期、异常重试与原路退款;沉默期审批场景与终态处理 - 换货沉默期流水与出库时间;卡/设备列表、详情、导出与出库记录接口;延期订单与即将过期套餐列表及导出;财务流水纳入延期支付 - 沉默期与出库时间回填工具 cmd/silence-backfill;前端接口变更说明 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -197,6 +197,24 @@ const (
|
||||
CodeH5PopupConfigurationNotFound = 1250 // 运营弹窗配置不存在
|
||||
CodeH5PopupRiskNotEligible = 1251 // 当前资产不满足风险换卡条件
|
||||
|
||||
// 实名即生效套餐沉默期相关错误 (1260-1279)
|
||||
CodeSilencePeriodOutOfRange = 1260 // silence_period_out_of_range:沉默期天数不在允许范围(购买时至少 1 天,套餐默认值 1~90 天)
|
||||
CodeSilenceOverrideForbidden = 1261 // silence_override_forbidden:无权限调整沉默期
|
||||
CodePackageExpiryBaseChangeForbidden = 1262 // package_expiry_base_change_forbidden:不允许变更该套餐的生效条件
|
||||
CodeSilenceExtensionNotExpired = 1263 // silence_extension_not_expired:套餐沉默期未过期,不能延期
|
||||
CodeSilenceExtensionDisabled = 1264 // silence_extension_disabled:该套餐不支持付费延期,可申请特殊延期
|
||||
CodeSilenceExtensionExceedsLimit = 1265 // silence_extension_exceeds_limit:已超过可延期期限
|
||||
CodeSilenceExtensionMonthsInvalid = 1266 // silence_extension_months_invalid:延期天数不在允许范围
|
||||
CodeSilenceFreeExtensionUsedUp = 1267 // silence_free_extension_used_up:免费延期次数已用完,需付费延期
|
||||
CodeSilenceExpiredNotRefundable = 1268 // silence_expired_not_refundable:沉默期已过期的套餐不能退款
|
||||
CodeSilencePolicyOverlap = 1269 // silence_policy_overlap:同一优先级的延期政策适用范围与生效时间重叠
|
||||
CodeSilenceExtensionNoPolicy = 1270 // silence_extension_no_policy:未匹配到延期政策,不能付费延期
|
||||
CodeSilenceExtensionOrderPending = 1271 // silence_extension_order_pending:该套餐已有未结束的延期订单或申请
|
||||
CodeSilenceOfflineTradeNoDuplicate = 1272 // silence_offline_trade_no_duplicate:线下交易单号已登记
|
||||
CodeSilenceOfflineAmountMismatch = 1273 // silence_offline_amount_mismatch:实收金额与系统计算金额不一致
|
||||
CodeSilenceFeatureDisabled = 1274 // silence_feature_disabled:沉默期功能未开启
|
||||
CodeSilenceSwitchPrecheckFailed = 1275 // silence_switch_precheck_failed:沉默期总开关打开前检查未通过
|
||||
|
||||
// 服务端错误 (2000-2999) -> 5xx HTTP 状态码
|
||||
CodeInternalError = 2001 // 内部服务器错误
|
||||
CodeDatabaseError = 2002 // 数据库错误
|
||||
@@ -358,6 +376,22 @@ var allErrorCodes = []int{
|
||||
CodeEmployeeCollectionVoucherInvalid,
|
||||
CodeH5PopupConfigurationNotFound,
|
||||
CodeH5PopupRiskNotEligible,
|
||||
CodeSilencePeriodOutOfRange,
|
||||
CodeSilenceOverrideForbidden,
|
||||
CodePackageExpiryBaseChangeForbidden,
|
||||
CodeSilenceExtensionNotExpired,
|
||||
CodeSilenceExtensionDisabled,
|
||||
CodeSilenceExtensionExceedsLimit,
|
||||
CodeSilenceExtensionMonthsInvalid,
|
||||
CodeSilenceFreeExtensionUsedUp,
|
||||
CodeSilenceExpiredNotRefundable,
|
||||
CodeSilencePolicyOverlap,
|
||||
CodeSilenceExtensionNoPolicy,
|
||||
CodeSilenceExtensionOrderPending,
|
||||
CodeSilenceOfflineTradeNoDuplicate,
|
||||
CodeSilenceOfflineAmountMismatch,
|
||||
CodeSilenceFeatureDisabled,
|
||||
CodeSilenceSwitchPrecheckFailed,
|
||||
CodeInternalError,
|
||||
CodeDatabaseError,
|
||||
CodeRedisError,
|
||||
@@ -513,6 +547,22 @@ var errorMessages = map[int]string{
|
||||
CodeEmployeeCollectionVoucherInvalid: "支付凭证数量或内容不符合要求",
|
||||
CodeH5PopupConfigurationNotFound: "运营弹窗配置不存在",
|
||||
CodeH5PopupRiskNotEligible: "当前资产不满足风险换卡条件",
|
||||
CodeSilencePeriodOutOfRange: "沉默期天数不在允许范围(购买时至少 1 天,套餐默认值 1~90 天)",
|
||||
CodeSilenceOverrideForbidden: "无权限调整沉默期",
|
||||
CodePackageExpiryBaseChangeForbidden: "不允许变更该套餐的生效条件",
|
||||
CodeSilenceExtensionNotExpired: "套餐沉默期未过期,不能延期",
|
||||
CodeSilenceExtensionDisabled: "该套餐不支持付费延期,可申请特殊延期",
|
||||
CodeSilenceExtensionExceedsLimit: "已超过可延期期限",
|
||||
CodeSilenceExtensionMonthsInvalid: "延期天数不在允许范围",
|
||||
CodeSilenceFreeExtensionUsedUp: "免费延期次数已用完,需付费延期",
|
||||
CodeSilenceExpiredNotRefundable: "沉默期已过期的套餐不能退款",
|
||||
CodeSilencePolicyOverlap: "同一优先级的延期政策适用范围与生效时间重叠",
|
||||
CodeSilenceExtensionNoPolicy: "未匹配到延期政策,不能付费延期",
|
||||
CodeSilenceExtensionOrderPending: "该套餐已有未结束的延期订单或申请",
|
||||
CodeSilenceOfflineTradeNoDuplicate: "线下交易单号已登记",
|
||||
CodeSilenceOfflineAmountMismatch: "实收金额与系统计算金额不一致",
|
||||
CodeSilenceFeatureDisabled: "沉默期功能未开启",
|
||||
CodeSilenceSwitchPrecheckFailed: "沉默期总开关打开前检查未通过",
|
||||
CodeInvalidCredentials: "用户名或密码错误",
|
||||
CodeAccountLocked: "账号已锁定",
|
||||
CodePasswordExpired: "密码已过期",
|
||||
@@ -580,6 +630,8 @@ func GetHTTPStatus(code int) int {
|
||||
CodeEmployeeCollectionApplicationStatusInvalid,
|
||||
CodeEmployeeCollectionApplicationPending,
|
||||
CodeEmployeeCollectionBillClosed,
|
||||
CodeSilenceExtensionOrderPending,
|
||||
CodeSilenceOfflineTradeNoDuplicate,
|
||||
CodeOpenAPINonceReplay:
|
||||
return 409 // Conflict
|
||||
case CodeTooManyRequests:
|
||||
|
||||
Reference in New Issue
Block a user