docs: add rev005 verification execution kit

This commit is contained in:
tangweijie 2026-03-18 18:04:33 +08:00
parent 20afae2255
commit b29a5660e3

View File

@ -354,6 +354,133 @@ curl -X POST "${BASE_URL}/business/invoice/red-ink" \
- **日志抽样补充要求**:若运行态日志需经 Kibana、数据库表或应用日志文件检索取得应在样本记录中额外注明检索入口、检索条件与截图/导出附件位置。
### 当天联调最小执行卡片
适用场景:当天已经拿到可用环境、鉴权信息和最小样本,目标不是重新梳理设计,而是直接补 `T060``T061``T062``T063``T055` 的真实证据。
#### 开始前只确认 6 件事
| 检查项 | 最低要求 |
|------|------|
| `BASE_URL` | 已确认实际网关地址和前缀 |
| `TOKEN` | 已确认可访问 `/business/invoice/*` 的鉴权信息 |
| 正常申请样本 | 至少 1 组可成功申请的 `custId + chargeIds` |
| 规则拦截样本 | 至少 2 组,如未缴费、已开票、限额超限或重复申请 |
| 成功发票样本 | 至少 1 组能进入 `SUCCESS + fileUrl` |
| 日志入口 | 已确认日志查询入口或数据库检索方式 |
#### 当天最小执行顺序
| 顺序 | 动作 | 目标待办 | 最少产出 |
|------|------|------|------|
| 1 | 执行 `/business/invoice/apply` 正常样本和拦截样本 | `T060``T061` | 响应时间、`applicationNo`、成功/拦截分类 |
| 2 | 对成功申请样本执行 `/business/invoice/query` | `T062` | `sysRequestNo`、当前状态、查询结果 |
| 3 | 执行 `/business/invoice/write-back`,至少覆盖 `SUCCESS` 和 1 类失败 | `T062` | 回写结果、失败分类、是否命中成功终态保护 |
| 4 | 对兜底样本执行 `/business/invoice/query/compensate` | `T062` | 补偿查询结果 |
| 5 | 对 `SUCCESS + fileUrl` 样本执行客户侧查询/下载/推送 | `T063` | 查询结果、下载结果、推送结果 |
| 6 | 对成功样本执行作废或红冲,并立即抽取日志 | `T055` | 后处理结果、状态前后值、日志样本 |
#### 当天必须回填的 5 个位置
| 待办 | 回填位置 | 最低回填要求 |
|------|------|------|
| `T060` | `SC-001` 响应时延表 | 样本量、平均值、P95、最大值 |
| `T061` | `SC-002` 申请通过率表 | 正常样本与拦截样本分组统计 |
| `T062` | `SC-003` 回写成功率表 | 成功量、失败量、失败分类、保护量 |
| `T063` | `SC-004` 客户侧消费表 | 查询/下载/推送三类统计 |
| `T055` | `SC-005` 日志抽样表 | 至少 1 条关键动作日志样本 |
#### 当天结束前的收口判断
- 若已拿到真实样本,但还没回填正式表格:不要关闭 `tasks.md` 中对应待办。
- 若已回填表格,但没有请求报文、响应报文或日志截图:仍视为证据不完整。
- 只有“样本已拿到 + 表格已回填 + 附件已留存”同时满足,才建议勾掉对应任务。
#### 当天可直接复制的变量模板
```bash
export BASE_URL="https://your-host"
export TOKEN="replace-with-real-token"
export CUST_ID="1024"
export CHARGE_ID="10001"
export INVOICE_ID="2048"
export APPLICATION_NO="APP-REV005-001"
export SYS_REQUEST_NO="SYS008-APP-REV005-001"
export PUSH_EMAIL="test@example.com"
export PUSH_MOBILE="13800000000"
```
#### 当天可直接复制的最小命令组
```bash
# 1. 申请
curl -X POST "${BASE_URL}/business/invoice/apply" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"chargeIds\":[${CHARGE_ID}],\"custId\":${CUST_ID},\"invoiceType\":\"ELECTRONIC\",\"invoiceTitle\":\"福建水务测试客户\",\"sourceChannel\":\"COUNTER\"}"
# 2. 查询
curl -X POST "${BASE_URL}/business/invoice/query" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"applicationNo\":\"${APPLICATION_NO}\",\"querySource\":\"MANUAL\"}"
# 3. 回写成功
curl -X POST "${BASE_URL}/business/invoice/write-back" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"applicationNo\":\"${APPLICATION_NO}\",\"sysRequestNo\":\"${SYS_REQUEST_NO}\",\"invoiceStatus\":\"SUCCESS\",\"invoiceCode\":\"FPDM001\",\"invoiceNumber\":\"FPHM001\",\"fileUrl\":\"https://example.com/invoice.pdf\"}"
# 4. 补偿查询
curl -X POST "${BASE_URL}/business/invoice/query/compensate" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"applicationNo\":\"${APPLICATION_NO}\",\"querySource\":\"AUTO_COMPENSATE\"}"
# 5. 客户侧查询 / 下载 / 推送
curl -X POST "${BASE_URL}/business/invoice/customer/query" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"custId\":${CUST_ID},\"invoiceId\":${INVOICE_ID}}"
curl -X POST "${BASE_URL}/business/invoice/customer/download" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"custId\":${CUST_ID},\"invoiceId\":${INVOICE_ID}}"
curl -X POST "${BASE_URL}/business/invoice/customer/push" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"custId\":${CUST_ID},\"invoiceId\":${INVOICE_ID},\"pushChannel\":\"EMAIL\",\"pushEmail\":\"${PUSH_EMAIL}\"}"
# 6. 作废 / 红冲
curl -X POST "${BASE_URL}/business/invoice/invalidate" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"invoiceId\":${INVOICE_ID},\"invalidReason\":\"测试作废样本\"}"
curl -X POST "${BASE_URL}/business/invoice/red-ink" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"invoiceId\":${INVOICE_ID},\"redInkReason\":\"测试红冲样本\"}"
```
#### 单日执行记录表
| 时间 | 执行动作 | 样本主键 | 响应摘要 | 日志是否已取到 | 已回填位置 |
|------|------|------|------|------|------|
| 待补 | apply | `applicationNo` / `chargeId` | 待补 | 待补 | `T060/T061` |
| 待补 | query | `applicationNo` / `sysRequestNo` | 待补 | 待补 | `T062` |
| 待补 | write-back | `applicationNo` / `sysRequestNo` | 待补 | 待补 | `T062` |
| 待补 | compensate | `applicationNo` / `sysRequestNo` | 待补 | 待补 | `T062` |
| 待补 | customer query | `invoiceId` / `custId` | 待补 | 待补 | `T063` |
| 待补 | download | `invoiceId` / `custId` | 待补 | 待补 | `T063` |
| 待补 | push | `invoiceId` / `custId` | 待补 | 待补 | `T063` |
| 待补 | invalidate / red-ink | `invoiceId` | 待补 | 待补 | `T055` |
### 联调补录清单(按顺序执行)
| 步骤 | 对应待办 | 执行动作 | 主要输入 | 预期产出 | 回填位置 |