fix(#145): stabilize SYB daily pagination

This commit is contained in:
QiuSW
2026-08-29 18:08:42 +08:00
parent 8afbdbc8ff
commit 7afe5ae9ce
7 changed files with 158 additions and 18 deletions
+5 -3
View File
@@ -198,8 +198,10 @@ POST /am/stock/list → data.list 是数组,data.total 是当前页条
### 4.3 分页
`[必须]` 一个跨日范围要拆成逐日查询。先逐日调用 `listTotal` 做全范围容量
预检,确认合计不超限后,再按天以 `length = 20` 翻页调用 `list`。明细仍按
最多 100 个货运单 ID 一批读取。
预检,确认合计不超限后,再按天以配置的 `length` 翻页调用 `list`。2026-08-29
对稳定历史日(753 张)只读验证:20 条在第 38 页超时;50 条 16 页用时 24.242 秒;
100 条 8 页用时 2 分 34.751 秒;200 条 4 页用时 22.183 秒。三种大页均满足总数、
页长、唯一 ID 和尾页完整性,生产采用保守的 50;明细仍按最多 100 个 ID 一批读取。
`[必须]` **必须有单次同步的条数上限**,超了报错而不是硬拉。
Admin 默认 `max_matches = 10000`,可以在配置中调整;上限针对整个日期范围的
@@ -514,7 +516,7 @@ GoAuto 已有的做法见 `server/config/extend.go` 的 `ApplyEnvironment()`:
| `GOAUTO_SYB_USERNAME` | 环境变量 | 顺云宝账号 |
| `GOAUTO_SYB_PASSWORD` | 环境变量 | 顺云宝密码 |
| `extend.syb.base_url` | settings.yml | 默认 `https://www.shunyunbaoerp.com` |
| `extend.syb.page_size` | settings.yml | 列表每页条数,抓包里网页用 20 |
| `extend.syb.page_size` | settings.yml | 列表每页条数;2026-08-29 只读实验验证 50/100/200 完整,生产默认采用保守值 50 |
| `extend.syb.max_matches` | settings.yml | 单次同步货运单数上限,超过即停止 |
| `extend.syb.ocr_url` | settings.yml | 验证码识别服务;留空 = 禁用,只走手工输入 |
| `extend.syb.ocr_max_attempts` | settings.yml | OCR 重试次数,默认 5 |