feat(收口): 补齐 8 月迭代缺口并同步 Spec 与证据链
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled

- 新增六对成对迁移 000232–000237:H5 弹窗类型、退款结算标识与申请人备注、优先轮询事实字段与两个新终态、通道阈值命中留痕、手机号最近解绑人、提现资格校验留痕
- 退款:原因必填与申请人备注、来源支付与渠道流水冻结、线下处理流水号补录审计、按订单查询可选退款方式、企微审批材料补齐且新增字段缺失映射即明确失败
- 优先轮询:人工关闭、有效期到期独立周期任务、失败与过期人工重触发、事实字段与异常重试查询、资产解析端点只读投影
- 通道阈值:命中事实同事务留痕与命中记录查询;员工账单:列表筛选与详情投影;商户池:列表投影与统计周期语义;H5:弹窗类型与类别排序
- 手机号:有效关联数量与最近解绑人、短信验证码失败次数限制;导出:佣金明细十五列与报表序号列
- 时间筛选:三处新增筛选纳入统一严格解析契约,员工账单产生时间参数改名
- 同步 12 份主 Spec 需求、两端点与异步任务证据链,门禁 context-health 与 OpenSpec 校验通过
This commit is contained in:
2026-09-18 15:34:29 +08:00
parent 5e78809b93
commit 5ed6b39deb
142 changed files with 7878 additions and 964 deletions

View File

@@ -71,9 +71,23 @@ type AssetResolveResponse struct {
GatewayExtend string `json:"gateway_extend" description:"Gateway 卡状态扩展字段,原样返回上游 extend用于展示运营商侧实际停机原因"`
GatewayCardIMEI string `json:"gateway_card_imei" description:"插拔卡业务 IMEI由 Gateway 卡状态接口同步,非设备自身 IMEI无业务含义仅供查看"`
// 流量汇总字段(仅在 ?include_usage_summary=true 时返回非 null 值)
TotalVirtualUsedMB *float64 `json:"total_virtual_used_mb" description:"当前世代所有套餐虚已用之和MB未请求时为 null"`
TotalVirtualRemainingMB *float64 `json:"total_virtual_remaining_mb" description:"当前世代所有套餐虚剩余之和MB未请求时为 null"`
ExchangeTrace *AssetExchangeTrace `json:"exchange_trace" description:"换货链路;对象始终存在,前代或后代不存在时对应字段为 null"`
TotalVirtualUsedMB *float64 `json:"total_virtual_used_mb" description:"当前世代所有套餐虚已用之和MB未请求时为 null"`
TotalVirtualRemainingMB *float64 `json:"total_virtual_remaining_mb" description:"当前世代所有套餐虚剩余之和MB未请求时为 null"`
ExchangeTrace *AssetExchangeTrace `json:"exchange_trace" description:"换货链路;对象始终存在,前代或后代不存在时对应字段为 null"`
PriorityPolling *AssetPriorityPollingProjection `json:"priority_polling" description:"优先轮询状态只读投影;对象始终存在,无任何优先轮询事实时字段以否或空值返回,不使用普通轮询结果填充"`
}
// AssetPriorityPollingProjection 是资产解析响应中的优先轮询状态只读投影。
// 口径与该卡(设备取其在用卡)在优先轮询事实表中的未完成活动项一致;
// 读取不创建、不合并、不推进、不出队任何优先项,也不触发上游调用。
type AssetPriorityPollingProjection struct {
InPriorityPolling bool `json:"in_priority_polling" description:"是否处于优先轮询中:存在待执行或执行中的优先轮询项"`
LastTriggerType string `json:"last_trigger_type,omitempty" description:"最近触发场景触发类型purchase_activated-主套餐购买后立即生效 renewal_activated-续购套餐生效 queue_activated-排队主套餐顺延生效 addon_activated-加油包生效 no_valid_package-资产无有效套餐 manual_trigger-人工入队"`
LastTriggerName string `json:"last_trigger_name,omitempty" description:"最近触发场景名称"`
LastResult string `json:"last_result,omitempty" description:"最近轮询结果processing-处理中 success-执行成功 failed-轮询失败 closed-已关闭 expired-已过期"`
LastResultName string `json:"last_result_name,omitempty" description:"最近轮询结果名称"`
LastPollingAt *time.Time `json:"last_polling_at" description:"最近轮询时间:最近一次优先执行时间,未执行过时取最近触发时间;无优先轮询事实时为 null"`
FailureReason string `json:"failure_reason,omitempty" description:"最近一次可安全展示的失败原因;无失败时为 empty"`
}
// AssetExchangeTrace 资产单节点双向换货链路。