根据本地 HAR(仅作脱敏结构分析,不提交抓包内容)核对,现有日期查询协议正确,但真实的短日期范围总量已经明显超过当前默认 max_matches=500。接口筛选粒度只有日期,单日数据也可能超过 500,“缩小日期范围”不一定可执行。
max_matches=500
同时,现有同步存在两个可能静默漏单的完整性缺口:
listTotal
复现:
last_synced_at
t_stock.created
max_matches
list
total
httptest
service/syb.go
ListTotal
config.example.yaml
config.yaml
syb.Client.ListPage
data.total
预计修改:
admin/service/syb.go
admin/service/syb_test.go
admin/syb/client.go
admin/syb/client_test.go
admin/config.example.yaml
docs/admin/05-ui-specification.md
docs/admin/08-顺运宝接口.md
不修改数据库结构和 Client API。
list.data.total
shopee_sku_id
go vet ./...
go test ./...
从 admin/ 执行:
admin/
gofmt -w service/syb.go service/syb_test.go syb/client.go syb/client_test.go go vet ./... go test ./... -count=1 $env:GOTOOLCHAIN="go1.23.0" go build ./... go test ./... -count=1 Remove-Item Env:GOTOOLCHAIN
本地 HAR 只读结构比对:
已开始实施。#58 已同步到父级 #14 和 MVP #15。HAR 仅在本地做脱敏结构比对,不读取或回写 headers、Cookie、Token、收件人和完整响应;现有 Client 与脚本改动保持不动。
已按确认方案完成,工单保持开启。
admin/config.yaml
max_matches: 10000
go build ./...
go test ./... -count=1
type=3
op=0
optType=0
4b5cd13
fix: 增强顺运宝同步完整性保护 (#58)
ea7932d
docs: 归档任务 #58
docs/task/58-顺运宝日期同步容量与完整性保护.md
用户已于 2026-08-09 明确通过全部 Admin 待验收工单。本工单验收通过,现关闭,并同步父级 #15、#14 的任务清单。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
根据本地 HAR(仅作脱敏结构分析,不提交抓包内容)核对,现有日期查询协议正确,但真实的短日期范围总量已经明显超过当前默认
max_matches=500。接口筛选粒度只有日期,单日数据也可能超过 500,“缩小日期范围”不一定可执行。同时,现有同步存在两个可能静默漏单的完整性缺口:
listTotal返回总数后,分页结束没有核对唯一货运单 ID 数是否等于总数;短页、空页、重复页或并发位移可能少拉数据,流程仍会推进游标。复现:
last_synced_at。做什么 / 不做什么
t_stock.created、UTC+8、两端包含和每页 20 条的 HAR 已验证协议。max_matches配置调整。listTotal并汇总;总量超过熔断上限时不拉列表、不写数据、不推进游标。list响应内的total;每天分页结束后唯一 ID 数必须等于预检总数。last_synced_at;已写入内容保留,重试依靠 upsert。httptest,HAR 只本地读取。怎么做
service/syb.go增加日期范围按天展开和人工范围 31 天校验。ListTotal,得到日分段计划和全范围总数;总数超过max_matches时在任何列表/明细写入前失败。max_matches改为 10000,并同步config.example.yaml与接口文档。现有本地config.yaml的非凭据配置需要同步为 10000,但不得读取、输出或提交其中凭据。syb.Client.ListPage返回data.total,要求格式合法;Service 每页核对 total 不漂移,并在当日分页结束核对唯一 ID 总数。预计修改:
admin/service/syb.goadmin/service/syb_test.goadmin/syb/client.goadmin/syb/client_test.goadmin/config.example.yamldocs/admin/05-ui-specification.mddocs/admin/08-顺运宝接口.md不修改数据库结构和 Client API。
验收标准
max_matches为 10000;全范围总量超限时列表和明细接口均不调用,数据库和游标不变。list.data.total缺失、格式错误、与预检不一致或分页过程中漂移时同步失败且不推进游标。shopee_sku_id。go vet ./...、go test ./...及 Go 1.23.0 构建和无缓存测试通过。怎么验证
从
admin/执行:本地 HAR 只读结构比对:
风险和回退
已开始实施。#58 已同步到父级 #14 和 MVP #15。HAR 仅在本地做脱敏结构比对,不读取或回写 headers、Cookie、Token、收件人和完整响应;现有 Client 与脚本改动保持不动。
实施完成,待用户验收
已按确认方案完成,工单保持开启。
实现结果
max_matches为 10000;超限时不会调用列表/明细接口,也不写数据库或游标。list.data.total与唯一货运单 ID 数;明细批次核对请求/响应 ID 一一对应且非空。last_synced_at;全部成功后沿用原游标规则。admin/config.yaml只调整了非凭据字段max_matches: 10000,未读取、输出或提交凭据。验证结果
go vet ./...:通过。go build ./...、go test ./... -count=1:全部通过。type=3、op=0、optType=0、每页 20 条保持一致;未输出或提交请求头、Cookie、Token、个人信息和业务明细。提交与归档
4b5cd13fix: 增强顺运宝同步完整性保护 (#58)ea7932ddocs: 归档任务 #58docs/task/58-顺运宝日期同步容量与完整性保护.md用户已于 2026-08-09 明确通过全部 Admin 待验收工单。本工单验收通过,现关闭,并同步父级 #15、#14 的任务清单。