文件
hl-api-changelog/changelogs-v2/2026-08/23_6205_供应商草稿创建版本时间一致性-修改接口-管理后台.md
T
lc 1c5badc7b4
changelog-filename-gate / validate (push) Successful in 2s
docs(changelog): 发布供应商注册与账户接口说明
2026-08-23 15:04:51 +08:00

3.5 KiB

schema, ticket, title, consumer, author, change_type, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
schema ticket title consumer author change_type backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base
hl-changelog/v2 6205 供应商草稿创建响应与持久化版本时间保持一致 admin lc(GIT) 修改接口 deployed verified not_required PR #6206 已合并 dev-v3,提交 03685ac245 已部署隔离 TEST。创建响应 updateTime、立即 GET 与数据库秒级版本完全一致,并可直接用于紧随其后的提交;请求和响应结构、错误码及前端字段解析均未变化。 2026-08-23 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 重跑创建、立即查询、立即提交和真实旧版本冲突用例,并核对失败零写入。

关联 / 联系人

链接

联系人

  • 后端负责人: @lc