docs(changelog): 6 域审核记录独立查询接口(#7801 PR-2 / PR #7814,前端)
changelog-filename-gate / validate (push) Failing after 1s

这个提交包含在:
yaosutu
2026-09-16 22:04:56 +08:00
父节点 a78bfd7e60
当前提交 46909eba8d
@@ -0,0 +1,127 @@
---
schema: "hl-changelog/v2"
ticket: "finance-review-logs-6domains"
title: "6 域审核记录独立查询接口(详情弹窗「审核记录」独立 tab 数据源)"
consumer: "admin"
author: "yst(GIT)"
change_type: "新增接口"
backend_status: "merged"
gateway_status: "verified"
frontend_status: "pending"
frontend_owner: ""
frontend_ref: ""
target_release: ""
verified_at: "2026-09-16"
status_note: "6 单据域(应付款/预付款/报账款/员工借款/费用报销/业务外收支)各新增 1 个审核流水独立查询接口 GET /admin/finance/<域>/{id}/review-logs,6 域共用 FinReviewLogRespVO 8 字段,按审核发生时间升序、无记录空数组。配套原型:单据详情弹窗拆「详情信息/审核记录」两 tab(payex-detail 通用框架),审核记录 tab 数据走本接口。报账详情旧内嵌 reviewLogs 字段标 @Deprecated(保留向后兼容不回删,新接入走 §报账独立接口)。已合并 dev-v3(PR #7814)+ 部署测试服行为级验证 PASS(Flyway 6 表建齐、6 接口 200、approve 落痕可回放)。"
updated_at: "2026-09-16"
base: "dev-v3"
---
# 6 域审核记录独立查询接口
> **服务**: hl-order-service-v3(hl-finance 模块)
> **类型**: 🆕 新增接口(6 个只读端点;另:报账详情出参 `reviewLogs` 字段标 @Deprecated,向后兼容不回删)
> **日期**: 2026-09-16
> **关联**: Issue #7801(PR-2)/ PR #7814 · 原型 #7805 / #7808
---
## 🔴 一句话给前端
6 类单据(应付款/预付款/报账款/员工借款/费用报销/业务外收支)的**审核记录**,从「详情接口内嵌字段」抽成**独立的审核流水接口**。单据详情弹窗拆成「**详情信息 / 审核记录**」两个 tab:详情信息仍走原详情接口,审核记录 tab 调本新接口。
| | 之前 | 现在 |
|---|---|---|
| 审核记录来源 | 仅报账款有(内嵌详情出参 `reviewLogs`),其余 5 域无 | 6 域统一独立接口 `GET .../review-logs` |
| 详情弹窗 | 审核记录混在详情里 | 「详情信息 / 审核记录」两 tab 分离 |
| 报账 `reviewLogs` | 详情出参内嵌数组 | 标 @Deprecated(仍返回、不回删),新接入走独立接口 |
---
## 接口清单(6 个,结构完全一致)
| # | 方法 | 路径 | 域 | 单据不存在错误码 |
|---|---|---|---|---|
| 1 | GET | `/admin/finance/payments/{id}/review-logs` | 应付款付款单 | `598801` |
| 2 | GET | `/admin/finance/prepays/{id}/review-logs` | 预付款申请单 | `599001` |
| 3 | GET | `/admin/finance/reimburses/{id}/review-logs` | 报账执行单 | `599201` |
| 4 | GET | `/admin/finance/staff-loans/{id}/review-logs` | 员工借款单 | `599101` |
| 5 | GET | `/admin/finance/expenses/{id}/review-logs` | 费用报销单 | `598701` |
| 6 | GET | `/admin/finance/nonbiz-flows/{id}/review-logs` | 业务外收支单 | `598504` |
**统一规格**:
- 路径占位 `{id}` = 单据主键(Long,string 序列化)
- 返回 `Result<List<FinReviewLogRespVO>>`,按审核发生时间 **升序**,无记录返回 **空数组 `[]`**(非 null、非 404)
- 单据不存在/已软删 → 抛各域既有 NOT_FOUND 错误码(见上表),**零新增错误码**
---
## 出参(FinReviewLogRespVO,6 域共用)
| 字段 | 类型 | 说明 |
|---|---|---|
| `logId` | String | 流水 ID(Long,string 序列化防 JS 精度丢失) |
| `action` | String | 审核动作(词表按域,见下) |
| `operatorId` | String | 操作人 ID(Long string;无登录上下文时为 null) |
| `operatorName` | String | 操作人真名快照(AdminContextUtil 取当前登录管理员;可空) |
| `opinion` | String | 审核意见(可空) |
| `fromStatus` | String | 操作前单据状态 |
| `toStatus` | String | 操作后单据状态 |
| `createTime` | String | 审核发生时间 `yyyy-MM-dd HH:mm:ss` |
### action 词表(按域实证,前端按值渲染文案)
| 域 | action 取值 |
|---|---|
| 应付款 / 预付款 / 员工借款 / 费用报销 | `APPROVE` 批准 / `REJECT` 驳回 |
| 业务外收支 | 仅 `APPROVE` 批准(本域无驳回动作) |
| 报账款 | `APPROVE` 批准 / `RETURN` 退回 / `UN_APPROVE` 反审(反向操作也留痕) |
> 前端展示「操作」列建议:APPROVE=批准 / REJECT=驳回 / RETURN=退回 / UN_APPROVE=反审。配合 `fromStatus→toStatus` 可渲染「从 X 改为 Y」。
---
## 示例
**请求**:`GET /admin/finance/payments/1962xxxxxxxxxx/review-logs`
**典型(有记录)**:
```json
{
"code": 0,
"data": [
{ "logId": "2101...", "action": "REJECT", "operatorId": "1962...", "operatorName": "王芳", "opinion": "金额与行程不符", "fromStatus": "SUBMITTED", "toStatus": "REJECTED", "createTime": "2026-09-15 10:20:00" },
{ "logId": "2101...", "action": "APPROVE", "operatorId": "1962...", "operatorName": "王芳", "opinion": "重新核对无误", "fromStatus": "SUBMITTED", "toStatus": "APPROVED", "createTime": "2026-09-16 09:05:00" }
],
"message": "success"
}
```
**边界(无记录)**:
```json
{ "code": 0, "data": [], "message": "success" }
```
**异常(单据不存在)**:
```json
{ "code": 598801, "data": null, "message": "付款单不存在" }
```
---
## 注意事项
1. **详情两 tab 的数据分工**:详情信息 tab 仍调原详情接口;审核记录 tab 调本接口。两个接口独立,可并行/懒加载(切到审核记录 tab 再调)。
2. **报账详情 `reviewLogs` 已 @Deprecated**:字段仍返回(向后兼容不回删),但新接入请改走 `GET /admin/finance/reimburses/{id}/review-logs`。字段语义与本接口一致。
3. **追加写只增不删**:审核流水是完整历史轨迹(一张单反复审核/反审全程留痕),单据本体只留最终态。不要假设最多一条。
4. **空态**:无审核记录返回空数组,前端「审核记录」tab 显示「暂无审核记录」占位即可。
5. 审核动作在翻转单据状态的**同一事务**内落痕,状态翻转与留痕同生共死,不会出现「态已翻、痕没落」。
---
## 关联
- Issue:https://git.1814.love:8443/wx/HL/issues/7801
- PR:https://git.1814.love:8443/wx/HL/pulls/7814
- 原型对齐:PR #7805(详情两 tab)/ #7808(查看纯只读权限分离)
- 负责人:腰苏图