Files
cmautobuy/docs/task/278-修复档口入库码回写t参数溢出Integer.md
T
2026-08-19 11:28:48 +08:00

2.1 KiB

278 Admin:修复档口入库码回写 t 参数溢出 Integer

  • 类型:缺陷
  • 父级大工单:#14
  • 所属 MVP / 版本:#224 / 档口入库码回写 MVP
  • 状态:已完成,用户验收通过
  • 日期:2026-08-19
  • Gitea 工单:#278

背景与目标

2026-08-19 档口入库码回写全部失败。顺运宝返回 Can not parse the parameter "1787108752485" to Integer value。该数字是请求发出时的 毫秒时间戳。目标是让 updateDetailCode 的 t 重新能被 Java Integer 解析,并保住 #250 的 POST 与单次发送门禁。

最终方案

  • UpdateDetailCode 的 t 改回 #234 的固定 "0",保留 POST。
  • 测试断言 t=="0",不再只检查非空,避免毫秒时间戳再次漏过。
  • 接口文档写明 t 必须能进 Java Integer,不得再传毫秒或 Unix 秒。
  • 与建单方案无出入。未改 createDetail、deleteInnerCode、匹配、数据库或页面。

改了哪些

  • admin/syb/client.go:写码请求 t 改回 "0",注释写清 Integer 溢出原因。
  • admin/syb/client_test.go:断言 t 必须等于 "0"。
  • docs/admin/08-顺运宝接口.md:契约改回 t=0,并记录 #250 回归。

验收结果

验收标准 结果
t 固定为 "0",不再调用 UnixMilli 或 Unix 通过
测试断言 t=="0",只断言非空不算通过 通过
POST、id/detailId/code 和单次发送不变 通过
08 文档写明 t=0 及不得再传毫秒的理由 通过
Go 1.23.0 测试、构建、vet 通过 通过
未向真实顺运宝发送写请求;未改 19 号失败记录 通过

测试

  • 执行的命令:在 admin/ 使用 GOTOOLCHAIN=go1.23.0 执行 go test ./syb -run InnerCodeWrite -count=1、go test ./... -count=1、 go build ./...、go vet ./...。
  • 结果:全部通过。
  • 没验证到的部分:未向真实顺运宝发送写请求;未在生产重新勾选 19 号失败记录回写。

相关提交

  • 417cd73 fix: 回写档口入库码时 t 固定为 0 (#278)