feat: 统一顺运宝日期同步并记录历史 (#59)
This commit is contained in:
@@ -97,6 +97,7 @@ SQLite 同一时刻只允许一个写事务,连接放太开会互相抢锁、
|
||||
| v5 | 顺运宝货运单同步(工单 #46):新增 `syb_session`(会话缓存)、`syb_sync_state`(同步进度)两张表;`syb_orders` 增加可空的 `product_spec`(规格原文)。三条都是新增,v1–v4 一个字节没改。 |
|
||||
| v6(#50) | Admin 网页登录:新增 `users` 和 `web_sessions`,只在迁移末尾追加,未改写 v1–v5。 |
|
||||
| v7(#54) | 客户端负责人:新增 `client_user_assignments` 和当前归属唯一索引,保留绑定、转交、解绑历史;未改写 v1–v6。 |
|
||||
| v8(#59) | 顺运宝同步记录:新增 `syb_sync_runs` 和开始时间倒序索引;未改写 v1–v7。 |
|
||||
|
||||
**v3 为什么丢弃旧 `sku_mappings` 数据(见 #20):** 新主键需要 `pdd_option_key`,
|
||||
这是 Go 的 `service.OptionKey()` 用 `json.Marshal` 算出来的规范化键,SQL 语句
|
||||
@@ -498,6 +499,16 @@ CREATE TABLE syb_sync_state (
|
||||
- `[必须]` 只有一次同步**全部成功**才更新 `last_synced_at`;中途失败不更新,
|
||||
否则下次同步会跳过这段区间,漏掉的单永远补不回来。
|
||||
|
||||
### 5.2 `syb_sync_runs` 同步记录(v8)
|
||||
|
||||
每次从页面发起同步时,先写一条 `running` 记录,再启动后台任务。记录保存操作
|
||||
账号、日期范围、开始/完成时间、结果统计、是否推进覆盖游标以及必要的失败原因。
|
||||
状态只能是 `running`、`succeeded`、`failed`、`interrupted`;Admin 启动时把上次
|
||||
进程遗留的 `running` 记录改成 `interrupted`。
|
||||
|
||||
`[必须]` 本表不保存顺运宝 Cookie、token、密码、验证码、收件信息或原始响应。
|
||||
失败原因最多保留 500 个字符,并在页面输出时由模板转义。
|
||||
|
||||
## 6. `sku_mappings` 规格映射
|
||||
|
||||
"蝦皮的这个规格 = 拼多多的那个规格",**匹配一次,以后复用**。
|
||||
|
||||
Reference in New Issue
Block a user