docs: 归档任务 #278

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
chengma
2026-08-19 11:28:48 +08:00
co-authored by Cursor
parent 417cd73afa
commit 1cf0995caf
@@ -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)