feat(收口): 补齐 8 月迭代缺口并同步 Spec 与证据链
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
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:
@@ -123,7 +123,13 @@
|
||||
|
||||
### Requirement: 优先项尝试次数与出队
|
||||
|
||||
优先轮询项 SHALL 使用自身固定的最大尝试次数常量(3),MUST NOT 新增可维护的参数配置项,MUST NOT 改变普通轮询的失败重试策略。尝试次数 MUST 只在真正发起执行后累加。未达上限的可恢复失败 MUST 回到活动状态并沿用既有轮询间隔重新排期;达到上限 MUST 记录失败终态与可安全展示的失败原因后出队。卡不存在等业务校验类失败 MUST 直接进入失败终态且不重试。执行成功 MUST 记录完成终态并出队,资产继续按普通轮询运行。本能力 MUST NOT 引入有效期字段,MUST NOT 建立独立异常记录表。
|
||||
优先轮询项 SHALL 使用自身固定的最大尝试次数常量(3),MUST NOT 新增可维护的参数配置项,MUST NOT 改变普通轮询的失败重试策略。尝试次数 MUST 只在真正发起执行后累加。未达上限的可恢复失败 MUST 回到活动状态并沿用既有轮询间隔重新排期;达到上限 MUST 记录失败终态与可安全展示的失败原因后出队。卡不存在等业务校验类失败 MUST 直接进入失败终态且不重试。执行成功 MUST 记录完成终态并出队,资产继续按普通轮询运行。
|
||||
|
||||
优先项 SHALL 支持人工关闭:具备卡数据权限的超级管理员与平台账号可对未完成(待执行或执行中)的项执行关闭,关闭 MUST 填写原因并 MUST 记录操作者、时间与原因审计;关闭后该项进入已关闭终态并出队,MUST NOT 再发起任何上游调用,MUST NOT 删除既有执行结果与失败原因。
|
||||
|
||||
优先项 SHALL 具备有效期:有效期取值 MUST 为固定常量(本能力不新增可维护配置项),长度与尝试上限常量一并由服务端固定。入队时间起超过有效期的未完成项 MUST 转入已过期终态并出队,MUST 保留触发类型、尝试次数与最近失败原因,MUST NOT 自动删除事实。既有未完成项 SHALL 自本次上线时刻起算有效期,MUST NOT 在上线后被批量判定为已过期。到期处理 MUST 由独立的周期任务承载,MUST NOT 依赖查询或读侧隐式触发。已过期与已失败的项 SHALL 支持人工重新触发:重新触发 MUST 复用人工优先入队入口为该卡该任务类型建立新的活动项并将尝试次数置零,MUST 记录操作者与原因,MUST NOT 绕过既有并发上限、停复机持锁拒绝与任务类型范围。
|
||||
|
||||
本能力 MUST NOT 建立独立异常记录表:异常、超限与重试事实由优先项自身状态、尝试次数与执行结果承载。
|
||||
|
||||
#### Scenario: 可恢复失败未达上限
|
||||
|
||||
@@ -145,9 +151,36 @@
|
||||
- **WHEN** 优先执行按既有轮询内容完成
|
||||
- **THEN** 该项记录完成终态并出队,资产继续存在于普通轮询
|
||||
|
||||
#### Scenario: 人工关闭
|
||||
|
||||
- **WHEN** 授权账号对一项待执行或执行中的优先项填写原因后执行关闭
|
||||
- **THEN** 该项进入已关闭终态并出队,不再发起上游调用,原因与操作者写入审计
|
||||
|
||||
#### Scenario: 有效期到期
|
||||
|
||||
- **GIVEN** 一项优先项自入队起已超过固定有效期且仍未完成
|
||||
- **WHEN** 调度或维护流程处理该项
|
||||
- **THEN** 该项转入已过期终态并出队,触发类型、尝试次数与最近失败原因被保留
|
||||
|
||||
#### Scenario: 失败项人工重触发
|
||||
|
||||
- **GIVEN** 一项优先项已因达到尝试上限失败或因超期出队
|
||||
- **WHEN** 授权账号填写原因后重新触发
|
||||
- **THEN** 系统为该卡该任务类型建立新的活动项且尝试次数从零开始,并记录操作者与原因
|
||||
|
||||
#### Scenario: 重触发不绕过既有边界
|
||||
|
||||
- **GIVEN** 目标卡持运营商通道阈值停机锁
|
||||
- **WHEN** 授权账号对该卡重新触发优先轮询
|
||||
- **THEN** 系统按既有持锁拒绝语义处理,不发起复机
|
||||
|
||||
### Requirement: 优先轮询事实与查询的可追溯
|
||||
|
||||
系统 SHALL 记录入队(含合并)、领取、每次失败、重试、完成与失败出队的触发类型、触发来源、操作来源、时间与结果。人工入队 MUST 填写原因,并与入队事实一同保存。系统 MUST 提供最小可读接口(列表与详情,支持筛选与分页),其权限 MUST 与人工入队一致:超级管理员与平台账号可查询全部,代理账号仅可查询其自身及下级店铺资产,企业账号 MUST 被拒绝;查询 MUST 按数据权限下推,越权与不存在 MUST 不可区分。查询 MUST NOT 提供优先级分级、有效期或人工重触发入口。
|
||||
系统 SHALL 记录入队(含合并)、领取、每次失败、重试、完成、人工关闭、超期、人工重触发与失败出队的触发类型、触发来源、操作来源、时间与结果。人工入队与人工重触发 MUST 填写原因,并与事实一同保存。
|
||||
|
||||
优先项事实 SHALL 持久化并可查询下列字段:资产类型与资产标识、设备号(资产绑定设备时)、卡 ICCID、店铺标识与代理归属、任务类型、触发类型与触发来源集合、触发次数与最近触发时间、尝试次数与最大尝试次数、执行开始时间、执行结束时间与执行耗时、下一次计划执行时间、入队时间、出队时间、执行结果与失败原因、接口请求与响应摘要引用(复用既有集成交互日志标识,MUST NOT 复制凭证或响应原文)。
|
||||
|
||||
系统 MUST 提供最小可读接口(列表与详情,支持筛选与分页),筛选至少支持状态、任务类型、触发类型、时间范围,以及「异常与重试」视图所需的条件(失败终态、已过期、尝试次数达到上限、存在失败原因)。该视图 MUST 复用同一事实表与同一权限,MUST NOT 新增独立异常事实表。权限 MUST 与人工入队一致:超级管理员与平台账号可查询全部,代理账号仅可查询其自身及下级店铺资产,企业账号 MUST 被拒绝;查询 MUST 按数据权限下推,越权与不存在 MUST 不可区分。查询 MUST NOT 提供优先级分级;有效期、出队时间与最大尝试次数 SHALL 作为只读字段返回;人工关闭与人工重触发 SHALL 为独立受权限控制的写入口,MUST NOT 由查询接口隐式触发。
|
||||
|
||||
#### Scenario: 代理查询范围外资产
|
||||
|
||||
@@ -162,7 +195,17 @@
|
||||
#### Scenario: 查询结果字段
|
||||
|
||||
- **WHEN** 授权账号查询优先轮询项列表或详情
|
||||
- **THEN** 响应给出触发类型、触发来源、次数、最近触发时间与执行结果,不含优先级分级、有效期或人工重触发入口
|
||||
- **THEN** 响应给出资产标识、设备号(适用时)、店铺与代理归属、任务类型、触发类型与来源、触发次数、尝试次数与最大尝试次数、最近与下一次执行时间、执行结果与失败原因、入队与出队时间,且不含优先级分级
|
||||
|
||||
#### Scenario: 异常与重试视图
|
||||
|
||||
- **WHEN** 授权账号以失败终态或尝试次数达到上限作为筛选条件查询优先轮询项
|
||||
- **THEN** 系统返回对应项及其失败原因与尝试次数,数据来源于同一事实表
|
||||
|
||||
#### Scenario: 执行耗时与摘要引用
|
||||
|
||||
- **WHEN** 一项优先执行完成并产生上游交互
|
||||
- **THEN** 该项返回执行开始与结束时间、耗时以及集成交互日志标识,且不返回上游响应原文
|
||||
|
||||
### Requirement: 人工优先入队不受人工触发防滥用配额约束
|
||||
|
||||
|
||||
Reference in New Issue
Block a user