fix(changelog): #6397 响应 contracts[].amount Number→String 同日修正 (PR #6450)

后端每日审查红线修复: 合同金额 BigDecimal 补 ToStringSerializer,输出字符串化与全站金额对齐;
frontend_status 回退 pending 待 mmg 按字符串重新集成,请求侧 Number 不变。
这个提交包含在:
API Changelog Bot
2026-08-26 23:53:04 +08:00
父节点 ca11783f72
当前提交 4f81ef1cf9
@@ -7,12 +7,12 @@ author: "lc(GIT)"
change_type: "修改接口" change_type: "修改接口"
backend_status: "deployed" backend_status: "deployed"
gateway_status: "verified" gateway_status: "verified"
frontend_status: "verified" frontend_status: "pending"
frontend_owner: "mmg" frontend_owner: "mmg"
frontend_ref: "f2a4200d" frontend_ref: "f2a4200d"
target_release: "" target_release: ""
verified_at: "2026-08-26" verified_at: "2026-08-26"
status_note: "PR #6405 已合并 dev-v3;Deploy Panel 任务 af3f205b 成功发布 Resource 双实例,合同接口已完成 23 项真实 Gateway 验收。TEST 工作副本存在服务器本地提交导致精确提交回读仍被阻塞,后端工单保持开启;本条只交接已经实测存在的接口契约。" status_note: "PR #6405 已合并 dev-v3;Deploy Panel 任务 af3f205b 成功发布 Resource 双实例,合同接口已完成 23 项真实 Gateway 验收。TEST 工作副本存在服务器本地提交导致精确提交回读仍被阻塞,后端工单保持开启;本条只交接已经实测存在的接口契约。2026-08-26 晚 PR #6450 修正:响应 contracts[].amount 由 Number 改为 String(金额全站统一字符串输出),前端 f2a4200d 按 Number 集成处需改为按字符串解析,改完请回填 frontend_status。"
updated_at: "2026-08-26" updated_at: "2026-08-26"
base: "dev-v3" base: "dev-v3"
--- ---
@@ -33,6 +33,12 @@ base: "dev-v3"
统一响应均为 `Result<T>`。业务失败可能仍为 HTTP 200,调用方必须同时判断 `code`、`success`、`message` 和 `data`。 统一响应均为 `Result<T>`。业务失败可能仍为 HTTP 200,调用方必须同时判断 `code`、`success`、`message` 和 `data`。
## ⚠️ 关键变化(2026-08-26 晚,PR #6450 同日修正)
- **响应 `contracts[].amount` 由 Number 改为 String**:此前(f2a4200d 验收时)响应示例为 `"amount": 1200.50`,现实际输出 `"amount": "1200.50"`,与全站金额字段(`contractId` 之外的金额一律字符串)对齐,防 JavaScript 浮点精度丢失。
- **请求侧不变**:`contracts[].amount` 请求仍按 Number 传(字符串同值也可被兼容解析),无需改表单提交。
- 前端处理:详情/列表展示处把 amount 当字符串渲染即可,参与运算前 `Number(...)` 转换。
## 公共合同字段 ## 公共合同字段
### 请求字段 `contracts[]` ### 请求字段 `contracts[]`
@@ -62,6 +68,8 @@ base: "dev-v3"
| `contractId` | String | 合同 ID,始终按字符串处理,不得转 JavaScript Number | | `contractId` | String | 合同 ID,始终按字符串处理,不得转 JavaScript Number |
| `updateTime` | String | 合同当前版本,格式 `yyyy-MM-dd HH:mm:ss` | | `updateTime` | String | 合同当前版本,格式 `yyyy-MM-dd HH:mm:ss` |
响应中的 `amount` 为 String(如 `"1200.50"`,PR #6450 起),请求中的 `amount` 仍按 Number 传。
历史数据可能返回只读状态 `TERMINATED`;创建和提交请求不得发送该状态。 历史数据可能返回只读状态 `TERMINATED`;创建和提交请求不得发送该状态。
## 1. 创建供应商注册草稿 ## 1. 创建供应商注册草稿
@@ -204,7 +212,7 @@ Content-Type: application/json
"signDate": "2026-08-26", "signDate": "2026-08-26",
"startDate": "2026-09-01", "startDate": "2026-09-01",
"endDate": "2027-08-31", "endDate": "2027-08-31",
"amount": 1200.50, "amount": "1200.50",
"pricingMode": "按团结算", "pricingMode": "按团结算",
"settleCycle": "MONTHLY", "settleCycle": "MONTHLY",
"status": "ACTIVE", "status": "ACTIVE",
@@ -322,7 +330,7 @@ Authorization: Bearer <admin-token>
"signDate": "2026-08-26", "signDate": "2026-08-26",
"startDate": "2026-09-01", "startDate": "2026-09-01",
"endDate": "2027-08-31", "endDate": "2027-08-31",
"amount": 1200.50, "amount": "1200.50",
"pricingMode": "按团结算", "pricingMode": "按团结算",
"settleCycle": "MONTHLY", "settleCycle": "MONTHLY",
"status": "DRAFT", "status": "DRAFT",