@@ -0,0 +1,51 @@
|
|||||||
|
# 278 Admin:修复档口入库码回写 t 参数溢出 Integer
|
||||||
|
|
||||||
|
- 类型:缺陷
|
||||||
|
- 父级大工单:#14
|
||||||
|
- 所属 MVP / 版本:#224 / 档口入库码回写 MVP
|
||||||
|
- 状态:已完成,用户验收通过
|
||||||
|
- 日期:2026-08-19
|
||||||
|
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/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)
|
||||||
Reference in New Issue
Block a user