#58 将顺运宝 /am/stock/list 响应的 data.total 当成筛选范围总数,并逐页与 /am/stock/listTotal 的预检总数比较。
/am/stock/list
data.total
/am/stock/listTotal
真实 HAR 已确认:
data
data.total = 20
874 != 20
因此每天超过一页(默认 20 条)都会确定性失败,并非顺运宝数据真的漂移。
list.data.total
listTotal
httptest
admin/syb/client.go
ListPage
list
admin/service/syb.go
ListTotal
admin/syb/client_test.go
admin/service/syb_test.go
docs/admin/08-顺运宝接口.md
go build ./...
go test ./... -count=1
go vet ./...
从 admin/ 执行:
admin/
$env:GOTOOLCHAIN="go1.23.0" go build ./... go test ./... -count=1 go vet ./... Remove-Item Env:GOTOOLCHAIN
测试使用 httptest,不连接真实顺运宝接口。
已开始实施。将只修改 Admin 顺运宝分页解析、同步编排、测试和接口文档;保留工作区现有 Client、.gitignore 和脚本改动,自动化不访问真实顺运宝。
.gitignore
919522f
59d70b2
docs/task/60-修复顺运宝分页总数误判.md
最终校验:
git diff --check
回归覆盖:假服务端按 HAR 返回“当前页 total”,501 张货运单以 20 条分页可成功同步;页内数量不一致、短页、分页前后总数变化、重复 ID、唯一 ID 不足及明细缺失继续失败且不推进游标。
未验证:没有连接真实顺运宝账号重跑 2026-08-07 的 874 张货运单。工单保持打开,待用户验收后关闭并同步 #14/#15。
用户已于 2026-08-09 明确通过全部 Admin 待验收工单。本工单验收通过,现关闭,并同步父级 #15、#14 的任务清单。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
#58 将顺运宝
/am/stock/list响应的data.total当成筛选范围总数,并逐页与/am/stock/listTotal的预检总数比较。真实 HAR 已确认:
/am/stock/listTotal的data是筛选范围总数;/am/stock/list第一页返回 20 行时,data.total = 20,表示当前页返回条数;874 != 20,报告“分页期间从 874 变为 20”并停止同步。因此每天超过一页(默认 20 条)都会确定性失败,并非顺运宝数据真的漂移。
做什么 / 不做什么
list.data.total。listTotal,与分页前预检总数比较。httptest假服务端,使其按 HAR 返回当前页数量。怎么做
admin/syb/client.go将ListPage返回值明确为当前页报告条数,并要求它与实际list长度一致。admin/service/syb.go删除“页内 total 等于当日总数”的错误比较;按预检总数计算每页预期条数,拒绝短页、超长页。ListTotal,前后总数不同则失败;随后继续核对唯一 ID 总数。admin/syb/client_test.go、admin/service/syb_test.go的假响应及回归用例,覆盖 874/20 同类多页场景、短页、前后总数变化、重复 ID。docs/admin/08-顺运宝接口.md,纠正字段语义和完整性策略。验收标准
data.total为当前页条数时可以完整翻页,不再误报总数从 N 变为 20。list.data.total与实际list长度不一致时失败且不推进游标。listTotal变化时失败且不推进游标。go build ./...、go test ./... -count=1、go vet ./...通过。怎么验证
从
admin/执行:测试使用
httptest,不连接真实顺运宝接口。风险和回退
已开始实施。将只修改 Admin 顺运宝分页解析、同步编排、测试和接口文档;保留工作区现有 Client、
.gitignore和脚本改动,自动化不访问真实顺运宝。实施完成,等待用户验收
919522f59d70b2docs/task/60-修复顺运宝分页总数误判.md最终校验:
go build ./...:通过go test ./... -count=1:通过go vet ./...:通过git diff --check:通过回归覆盖:假服务端按 HAR 返回“当前页 total”,501 张货运单以 20 条分页可成功同步;页内数量不一致、短页、分页前后总数变化、重复 ID、唯一 ID 不足及明细缺失继续失败且不推进游标。
未验证:没有连接真实顺运宝账号重跑 2026-08-07 的 874 张货运单。工单保持打开,待用户验收后关闭并同步 #14/#15。
用户已于 2026-08-09 明确通过全部 Admin 待验收工单。本工单验收通过,现关闭,并同步父级 #15、#14 的任务清单。