docs(发票): PR #4311 收口——4份发票 changelog 勘误(amount 改 JSON number 元)
修正范围: - 23_4290_发票申请入参票种修正-修改接口-管理后台.md - 23_4290_发票申请票种修正-修改接口-小程序端.md - 23_4258_发票详情接口-新增接口-管理后台.md - 23_4265_发票列表page结构调整-修改接口-管理后台.md 主要变更(4份文件均已对齐最终线上契约): 1. amount 入参/出参全部改为 JSON number(单位元,如 986.00), 原「integer 分/字符串分/×100」描述已作废 2. 各文件顶部勘误节追加「截至 PR #4311 收口」条目, 关联 Issue #4290/#4296/#4310、PR #4292/#4302/#4311 3. 详情接口边界示例:专票 email 由 null 改为始终有值(全电子交付) 4. 列表接口:records.amount 和 stats.amount 均改为 number 类型
这个提交包含在:
@@ -9,6 +9,8 @@
|
||||
---
|
||||
|
||||
> **勘误(2026-06-23,#4292 #4302)**:`invoiceType` 枚举已删除 `ELECTRONIC`(电子发票),当前系统只有 `VAT_NORMAL`(增值税普通发票)和 `VAT_SPECIAL`(增值税专用发票)两种类型。列表行 `invoiceType` 字段不会出现 `ELECTRONIC` 值,前端发票类型筛选下拉也只保留普票/专票两项。
|
||||
>
|
||||
> **同步修正(截至 PR [#4311](https://git.1814.love:8443/wx/HL/pulls/4311) 收口)**:records 行 `amount` 及 stats `amount` 均改为 JSON number(单位**元**,如 `986.00`),原「字符串/单位分」已全部作废。关联 Issue [#4290](https://git.1814.love:8443/wx/HL/issues/4290) [#4310](https://git.1814.love:8443/wx/HL/issues/4310)。
|
||||
|
||||
## 接口背景
|
||||
|
||||
@@ -89,7 +91,7 @@
|
||||
| `invoiceType` | string / null | 发票类型;NONE tab 行为 null |
|
||||
| `invoiceTypeText` | string / null | 发票类型中文名;NONE tab 行为 null |
|
||||
| `titleName` | string / null | 发票抬头;NONE tab 行为 null |
|
||||
| `amount` | string / null | 开票金额(分),字符串;NONE tab 行为 null |
|
||||
| `amount` | number / null | 开票金额,JSON number,单位**元**(如 `986.00`);NONE tab 行为 null |
|
||||
| `status` | string | 发票状态;NONE tab 行固定为 `"NONE"` |
|
||||
| `statusText` | string | 发票状态中文名;NONE tab 行固定为 `"未申请"` |
|
||||
| `requestedAt` | string / null | 申请时间;NONE tab 行为 null |
|
||||
@@ -119,7 +121,7 @@
|
||||
| `code` | string | 统计维度枚举值 |
|
||||
| `name` | string | 统计维度中文名(直接渲染,无需前端自行拼接) |
|
||||
| `count` | integer | 该维度数量 |
|
||||
| `amount` | string | 该维度金额,单位分,字符串,保留两位小数,如 `"98600.00"` |
|
||||
| `amount` | number | 该维度金额,JSON number,单位**元**(如 `986.00`) |
|
||||
|
||||
---
|
||||
## 枚举 / 数据字典
|
||||
@@ -200,7 +202,7 @@ Authorization: Bearer <token>
|
||||
"invoiceType": "VAT_NORMAL",
|
||||
"invoiceTypeText": "增值税普通发票",
|
||||
"titleName": "呼籁科技有限公司",
|
||||
"amount": "98600",
|
||||
"amount": 986.00,
|
||||
"status": "REQUESTED",
|
||||
"statusText": "待开票",
|
||||
"requestedAt": "2026-06-20T14:30:00",
|
||||
@@ -222,10 +224,10 @@ Authorization: Bearer <token>
|
||||
{ "code": "ALL", "name": "全部", "count": 12 }
|
||||
],
|
||||
"stats": [
|
||||
{ "code": "REQUESTED", "name": "待开票", "count": 3, "amount": "1000.00" },
|
||||
{ "code": "ISSUED", "name": "已开票·待推送", "count": 2, "amount": "98600.00" },
|
||||
{ "code": "PUSHED", "name": "已推送", "count": 2, "amount": "50000.00" },
|
||||
{ "code": "CURRENT_MONTH_ISSUED", "name": "本月已开票", "count": 4, "amount": "148600.00" }
|
||||
{ "code": "REQUESTED", "name": "待开票", "count": 3, "amount": 1000.00 },
|
||||
{ "code": "ISSUED", "name": "已开票·待推送", "count": 2, "amount": 98600.00 },
|
||||
{ "code": "PUSHED", "name": "已推送", "count": 2, "amount": 50000.00 },
|
||||
{ "code": "CURRENT_MONTH_ISSUED", "name": "本月已开票", "count": 4, "amount": 148600.00 }
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -278,10 +280,10 @@ Authorization: Bearer <token>
|
||||
{ "code": "ALL", "name": "全部", "count": 12 }
|
||||
],
|
||||
"stats": [
|
||||
{ "code": "REQUESTED", "name": "待开票", "count": 3, "amount": "1000.00" },
|
||||
{ "code": "ISSUED", "name": "已开票·待推送", "count": 2, "amount": "98600.00" },
|
||||
{ "code": "PUSHED", "name": "已推送", "count": 2, "amount": "50000.00" },
|
||||
{ "code": "CURRENT_MONTH_ISSUED", "name": "本月已开票", "count": 4, "amount": "148600.00" }
|
||||
{ "code": "REQUESTED", "name": "待开票", "count": 3, "amount": 1000.00 },
|
||||
{ "code": "ISSUED", "name": "已开票·待推送", "count": 2, "amount": 98600.00 },
|
||||
{ "code": "PUSHED", "name": "已推送", "count": 2, "amount": 50000.00 },
|
||||
{ "code": "CURRENT_MONTH_ISSUED", "name": "本月已开票", "count": 4, "amount": 148600.00 }
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -318,7 +320,7 @@ Authorization: Bearer <token>
|
||||
**特殊边界**
|
||||
- NONE tab 行是订单行,不是发票行:`id` 为 null,发票字段均为 null,`status` 固定为字符串 `"NONE"`,前端需按 status 判断是否展示发票操作按钮
|
||||
- ALL tab 混合 NONE 行和发票行:遍历 records 时需按 `status === "NONE"` 区分行类型
|
||||
- `amount` 单位为分,字符串格式,前端展示时除以 100 转为元
|
||||
- `amount` 为 JSON number,单位**元**(如 `986.00`),前端直接渲染,无需除以 100
|
||||
|
||||
---
|
||||
|
||||
@@ -374,10 +376,10 @@ Authorization: Bearer <token>
|
||||
```json
|
||||
{
|
||||
"stats": [
|
||||
{ "code": "REQUESTED", "name": "待开票", "count": 3, "amount": "1000.00" },
|
||||
{ "code": "ISSUED", "name": "已开票·待推送", "count": 2, "amount": "98600.00" },
|
||||
{ "code": "PUSHED", "name": "已推送", "count": 2, "amount": "50000.00" },
|
||||
{ "code": "CURRENT_MONTH_ISSUED", "name": "本月已开票", "count": 4, "amount": "148600.00" }
|
||||
{ "code": "REQUESTED", "name": "待开票", "count": 3, "amount": 1000.00 },
|
||||
{ "code": "ISSUED", "name": "已开票·待推送", "count": 2, "amount": 98600.00 },
|
||||
{ "code": "PUSHED", "name": "已推送", "count": 2, "amount": 50000.00 },
|
||||
{ "code": "CURRENT_MONTH_ISSUED", "name": "本月已开票", "count": 4, "amount": 148600.00 }
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -430,7 +432,7 @@ Authorization: Bearer <token>
|
||||
|
||||
1. `tabCounts` 和 `stats` **均已变为数组**,旧的扁平对象键名已全部废弃,前端读取方式必须更新
|
||||
2. NONE tab 行中 `status` 是字符串 `"NONE"`,而不是 null,前端用 `status === "NONE"` 判断行类型
|
||||
3. `stats` 中的 `amount` 单位为**分**,字符串格式,保留两位小数,前端展示时除以 100 转为元
|
||||
3. `stats` 中的 `amount` 为 JSON number,单位**元**(如 `986.00`),前端直接渲染,无需除以 100
|
||||
4. `ISSUED` 在 tabCounts 和 stats 中 `name` 不同,直接渲染 `name` 字段即可,不要自行拼接
|
||||
5. `adultCount` / `childCount` / `youngChildCount` 为整数,0 的维度建议展示时省略
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户