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

@@ -47,3 +47,45 @@
#### Scenario: 换运营商后周期归属
- **WHEN** 持锁卡更换运营商后到达新计费周期
- **THEN** 旧周期锁保留,新周期按新运营商的上游流量重置日计算并处理
### Requirement: 通道阈值命中事实留痕与查询
系统 SHALL 在创建通道阈值停机锁的同一事务内持久化该次命中事实,至少包含:触发时该卡当前计费周期的累计流量读数、本次判定的阈值数值与单位、计费周期起点、判定时间与触发来源(自动判定或重放)。累计流量 MUST 取与停机判定相同的网关累计读数换算值MUST NOT 使用本地用量统计或套餐真流量;阈值 MUST 取该次判定实际生效的通道配置值(含改阈值前的历史值),使历史命中在配置变更后仍可解释。
周期恢复 SHALL 同步记录解锁时间与复机结果未发起复机时的跳过原因、发起后的确认结果或转人工标记MUST NOT 覆盖停机时的命中事实。本次上线前已存在的锁行 SHALL 保留其创建时间作为判定时间,命中数值与阈值 MAY 为空(历史读数不可重建),读侧 MUST 按「无」展示而不阻断查询。系统 MUST 提供受既有权限控制的命中记录查询,支持按运营商通道、卡、计费周期与判定时间范围筛选,并返回上述字段;查询 MUST 受数据范围约束,越权与不存在 MUST 不可区分MUST NOT 返回凭证或上游响应原文。留痕与查询 MUST NOT 改变既有达量判定、停机调用、持锁拒绝复机与新周期解锁语义MUST NOT 因留痕失败而放行或延迟停机。
#### Scenario: 达量命中留下数字证据
- **WHEN** 某卡当前周期累计流量达到通道阈值并创建停机锁
- **THEN** 命中事实保存该次判定的累计流量、阈值、单位、周期起点与判定时间,可按卡与周期查询
#### Scenario: 改阈值后历史命中仍可解释
- **GIVEN** 某卡已按旧阈值命中并持锁
- **WHEN** 通道阈值随后被修改
- **THEN** 该次命中事实仍返回命中时的阈值与单位,不被新配置改写
#### Scenario: 新周期恢复留痕
- **WHEN** 新计费周期处理持锁卡并按其条件解锁或复机
- **THEN** 记录解锁时间与复机结果或跳过原因,停机命中事实保持不变
#### Scenario: 越权查询命中记录
- **WHEN** 调用者查询其数据范围外卡的命中记录
- **THEN** 响应与记录不存在不可区分
#### Scenario: 留痕不影响停机语义
- **GIVEN** 命中事实写入遇到异常
- **WHEN** 达量判定与停机任务执行
- **THEN** 系统按既有可靠机制处理停机MUST NOT 因留痕失败而放行或延迟停机
## 可达操作索引
本节只用于入口导航,不是行为 Requirement业务义务以上述 Requirements 为准。
### 运营商通道阈值命中
`GET /api/admin/carrier-traffic-threshold-hits`(查询通道阈值命中记录)。