From 4f81ef1cf909bb2770995e2d0899030986c53c1a Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Wed, 26 Aug 2026 23:53:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(changelog):=20#6397=20=E5=93=8D=E5=BA=94=20?= =?UTF-8?q?contracts[].amount=20Number=E2=86=92String=20=E5=90=8C=E6=97=A5?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20(PR=20#6450)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 后端每日审查红线修复: 合同金额 BigDecimal 补 ToStringSerializer,输出字符串化与全站金额对齐; frontend_status 回退 pending 待 mmg 按字符串重新集成,请求侧 Number 不变。 --- ...7_供应商注册合同聚合信息-修改接口-管理后台.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/changelogs-v2/2026-08/26_6397_供应商注册合同聚合信息-修改接口-管理后台.md b/changelogs-v2/2026-08/26_6397_供应商注册合同聚合信息-修改接口-管理后台.md index 66a7ab59..7b1a141d 100644 --- a/changelogs-v2/2026-08/26_6397_供应商注册合同聚合信息-修改接口-管理后台.md +++ b/changelogs-v2/2026-08/26_6397_供应商注册合同聚合信息-修改接口-管理后台.md @@ -7,12 +7,12 @@ author: "lc(GIT)" change_type: "修改接口" backend_status: "deployed" gateway_status: "verified" -frontend_status: "verified" +frontend_status: "pending" frontend_owner: "mmg" frontend_ref: "f2a4200d" target_release: "" 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" base: "dev-v3" --- @@ -33,6 +33,12 @@ base: "dev-v3" 统一响应均为 `Result`。业务失败可能仍为 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[]` @@ -62,6 +68,8 @@ base: "dev-v3" | `contractId` | String | 合同 ID,始终按字符串处理,不得转 JavaScript Number | | `updateTime` | String | 合同当前版本,格式 `yyyy-MM-dd HH:mm:ss` | +响应中的 `amount` 为 String(如 `"1200.50"`,PR #6450 起),请求中的 `amount` 仍按 Number 传。 + 历史数据可能返回只读状态 `TERMINATED`;创建和提交请求不得发送该状态。 ## 1. 创建供应商注册草稿 @@ -204,7 +212,7 @@ Content-Type: application/json "signDate": "2026-08-26", "startDate": "2026-09-01", "endDate": "2027-08-31", - "amount": 1200.50, + "amount": "1200.50", "pricingMode": "按团结算", "settleCycle": "MONTHLY", "status": "ACTIVE", @@ -322,7 +330,7 @@ Authorization: Bearer "signDate": "2026-08-26", "startDate": "2026-09-01", "endDate": "2027-08-31", - "amount": 1200.50, + "amount": "1200.50", "pricingMode": "按团结算", "settleCycle": "MONTHLY", "status": "DRAFT",