feat: 统一顺运宝日期同步并记录历史 (#59)

This commit is contained in:
chengma
2026-08-09 18:22:58 +08:00
parent ea7932db63
commit 05a54b044d
18 changed files with 934 additions and 144 deletions
+15 -19
View File
@@ -411,10 +411,15 @@ Go 的 map 是无序的,不靠它定顺序的话,同一个商品每次刷新
### 6.1 工具条
```text
[同步] [指定日期同步] [创建采购任务] 订单号 [___] [搜索] [删除]
开始日期 [2026-08-07] 结束日期 [2026-08-09] [同步] [同步记录]
[创建采购任务] 订单号 [___] [搜索] [删除]
```
`[必须]` 「同步」按工单 #46 实现:
日期始终显示在主工具条,按 UTC+8 解释且两端都包含。通常默认最近 3 天;如果
覆盖游标更早,则从游标当天开始补齐。缺口超过 31 天时只预选最早 31 天,并明确
提示本段成功后继续下一段。
`[必须]` 「同步」是唯一同步入口:
```text
点「同步」
@@ -428,7 +433,7 @@ Go 的 map 是无序的,不靠它定顺序的话,同一个商品每次刷新
```
同步是长任务,不阻塞 HTTP 请求线程——点完立即跳转,结果异步写进内存态的
"最近一次同步报告",下次刷新页面时状态条会显示:
“最近一次同步报告”和持久化同步记录,下次刷新页面时状态条会显示:
```text
同步完成:日期范围 2026-08-09 ~ 2026-08-09,货运单 12 张,商品明细 27 条
@@ -438,25 +443,16 @@ Go 的 map 是无序的,不靠它定顺序的话,同一个商品每次刷新
有跳过/失败会在后面列出具体原因,不是只给个数字。同步中再次点「同步」会提示
"已经有一个同步任务在跑",不会并发跑两个。
`[必须]` 工单 #53 增加的「指定日期同步」是次要操作,不改变上面「同步」的
自动增量语义。点击后打开小弹窗:
```text
指定日期同步
开始日期 [2026-08-01] 结束日期 [2026-08-09]
按货运单创建日期(UTC+8)同步,开始日和结束日都包含。每次最多选择 31 天。
[取消] [开始同步]
```
- 两端都必填,结束日期不得晚于 UTC+8 下的今天,闭区间最多 31 天。
- 指定历史范围用于首次分批拉取和补数据;日常操作仍点「同步」。
- 指定范围经过自动 OCR 或手工验证码登录后必须原样保留。
- 日期校验失败时重开弹窗、保留原输入,并在字段区域显示可读错误。
- 指定历史范围默认不推进自动增量游标;游标规则见
- 日期范围经过自动 OCR 或手工验证码登录后必须原样保留。
- 日期校验失败时保留原输入,并在工具条下方显示可读错误。
- 是否推进覆盖游标的规则见
[08 顺运宝接口](08-顺运宝接口.md) §4.4。
`[必须]` 「同步记录」打开宽弹窗,按开始时间从新到旧分页显示状态、日期范围、
操作账号、开始/完成时间、同步统计、覆盖游标结果和失败原因。状态至少区分同步中、
成功、失败、已中断;不能只靠颜色表达。刷新或重启 Admin 后记录仍可查看。
`[必须]` 搜索框宽度见 [§3.1](#31-搜索框宽度)。
### 6.2 表格列