65 行
3.5 KiB
Markdown
65 行
3.5 KiB
Markdown
---
|
|
schema: "hl-changelog/v2"
|
|
ticket: "6205"
|
|
title: "供应商草稿创建响应与持久化版本时间保持一致"
|
|
consumer: "admin"
|
|
author: "lc(GIT)"
|
|
change_type: "修改接口"
|
|
backend_status: "deployed"
|
|
gateway_status: "verified"
|
|
frontend_status: "not_required"
|
|
frontend_owner: ""
|
|
frontend_ref: ""
|
|
target_release: ""
|
|
verified_at: ""
|
|
status_note: "PR #6206 已合并 dev-v3,提交 03685ac245 已部署隔离 TEST。创建响应 updateTime、立即 GET 与数据库秒级版本完全一致,并可直接用于紧随其后的提交;请求和响应结构、错误码及前端字段解析均未变化。"
|
|
updated_at: "2026-08-23"
|
|
base: "dev-v3"
|
|
---
|
|
|
|
# 供应商草稿创建版本时间一致性
|
|
|
|
本次修正供应商草稿创建响应中的并发版本时间。此前创建对象依赖插入填充和数据库时间,在跨秒边界可能出现响应 `updateTime` 比实际持久化版本早一秒,导致客户端立即提交时误报 `395014`。
|
|
|
|
## 行为变化
|
|
|
|
| 方法 | 路径 | 修改前 | 修改后 |
|
|
|------|------|--------|--------|
|
|
| POST | `/admin/supplier/items/add` | 极少数跨秒创建响应的 `updateTime` 与数据库值不同 | 创建前显式生成同一秒级 `createTime/updateTime`,响应、立即查询和数据库值一致 |
|
|
|
|
请求字段、响应字段、JSON 类型、时间格式、权限、状态机和业务错误码均未改变。`updateTime` 仍为 `yyyy-MM-dd HH:mm:ss`,客户端继续原样回传即可。
|
|
|
|
## 兼容性
|
|
|
|
- 修复向后兼容,不要求前端同步发布,也不新增字段。
|
|
- 创建后的 `updateTime` 可直接用于 `POST /admin/supplier/items/{supplierId}/submit` 或后续更新。
|
|
- 真实旧版本仍返回 `395014`;本次没有放宽乐观锁,也没有改变事务、幂等、审批或审计语义。
|
|
- 不涉及数据库 migration、配置、Redis、MQ 或其他服务。
|
|
|
|
## 验证证据
|
|
|
|
- #6205 定向回归 `5/5`;Supplier 聚焦测试 `150/150`;Resource 全量 `1906` 项零失败(38 项仓库既有条件跳过);Gateway 供应商路由与 JWT 测试 `8/8`。
|
|
- 独立审计确认仅修改 Resource 的供应商聚合创建时间初始化及对应测试,没有新增入口、绕过权限、修改状态机或跨 schema 写入。
|
|
- 当前部署提交 `03685ac24520dea5917c708cda76942dee89c2e2` 的真实 Gateway E2E 中:创建响应 `updateTime`、立即 GET 和 MySQL 值完全一致;使用创建响应版本立即提交成功并完成 `LOCAL_AUTO / APPROVED / APPLIED`;刻意使用旧版本仍返回 `395014` 且零写入。
|
|
- TEST 输出和服务日志未发现测试税号、账号或令牌;原始 Resource schema 未受影响。
|
|
- HL 仓库未配置 Gitea workflow/status context;已核对 PR 合并态、远端目标提交和文件清单,不宣称不存在的远端 CI。
|
|
|
|
## 撤回
|
|
|
|
1. 停止供应商创建流量,从最新 `dev-v3` 创建回退分支并 revert #6205 合并提交 `03685ac24520dea5917c708cda76942dee89c2e2`,经独立 PR 合入。
|
|
2. 重新构建并部署 `hl-resource-service`,无需恢复数据库、配置、Redis 或 MQ。
|
|
3. 回退会恢复旧的跨秒版本漂移风险,但响应结构保持兼容。
|
|
4. 回退后经 Gateway 重跑创建、立即查询、立即提交和真实旧版本冲突用例,并核对失败零写入。
|
|
|
|
## 关联 / 联系人
|
|
|
|
### 链接
|
|
|
|
- **Issue**: [#6205](https://git.1814.love:8443/wx/HL/issues/6205)
|
|
- **PR**: [#6206](https://git.1814.love:8443/wx/HL/pulls/6206)
|
|
- **合并提交**: [03685ac245](https://git.1814.love:8443/wx/HL/commit/03685ac24520dea5917c708cda76942dee89c2e2)
|
|
|
|
### 联系人
|
|
|
|
- **后端负责人**: @lc
|