docs(#75): archive implementation pending acceptance
@@ -0,0 +1,56 @@
|
||||
# #75 SYB 每小时自动同步并精简商品页入口
|
||||
|
||||
## 状态
|
||||
|
||||
待用户验收。
|
||||
|
||||
## 目标与范围
|
||||
|
||||
- 服务端每小时自动同步一次 SYB,默认在每小时第 5 分钟触发。
|
||||
- 按 Asia/Shanghai 计算日期范围,默认同步当天和前一天。
|
||||
- 保留手动导入 API 和同步记录页面,但移除 SYB 商品页的“导入”“同步记录”按钮及导入弹窗。
|
||||
- 商品页自动展示最近一次同步状态;同步运行中轮询,完成后刷新商品列表。
|
||||
- 不修改 Android Agent,不涉及 PDD 下单或支付。
|
||||
|
||||
## 实现
|
||||
|
||||
- 抽取手动接口与定时任务共用的 `StartImport`,复用店铺准入、凭据检查、单任务互斥、同步记录和现有导入执行链路。
|
||||
- 新增 go-admin DB-aware ExecJob 调用能力,注册 `GoAutoSYBHourlySync`。
|
||||
- 新增幂等迁移 `1786701600000_syb_hourly_sync_job.go`,首次写入启用的 `sys_job`;重复迁移及管理员修改后的 Cron/状态不会被覆盖。
|
||||
- 上一次同步仍在运行时,本次定时触发跳过;失败不立即重试,等待下一小时。
|
||||
- 调度失败不再输出误导性的成功日志。
|
||||
|
||||
## 数据库迁移
|
||||
|
||||
用户已明确确认执行本机数据库迁移。迁移首次执行新增 1 个版本,第二次执行新增 0 个、跳过 19 个,确认幂等。验证期间没有启动 Admin API,因此没有触发真实 SYB 同步。
|
||||
|
||||
## 验证
|
||||
|
||||
- `go test ./...`:通过。
|
||||
- `go build ./...`:通过。
|
||||
- `pnpm run lint`:0 errors;仅上游既有 30 个 warnings。
|
||||
- `pnpm run build:prod`:通过;仅既有 CSS/包体积提示。
|
||||
- 相关 Playwright:8 passed。
|
||||
- `python dev_scripts/harness.py sync --verify`:通过。
|
||||
- `python dev_scripts/harness.py check --strict`:通过。
|
||||
- `git diff --check`:通过。
|
||||
|
||||
## 长期文档
|
||||
|
||||
Wiki-first 已更新并回读:
|
||||
|
||||
- Architecture-and-Code-Map:`ce37cbe86bad24c38c801955e301ff8e90ec86b5`
|
||||
- Business-Rules-and-Glossary:`bb1dea3110c827ee6516f74eb440417a0551f9b8`
|
||||
- Local-Development-and-Verification:`465390216d69d28a642854fd946d2d818a834f9c`
|
||||
|
||||
对应核心镜像已同步。
|
||||
|
||||
## 提交
|
||||
|
||||
- `a2cc9a1 feat(#75): 增加 SYB 每小时自动同步`
|
||||
|
||||
## 待验收
|
||||
|
||||
- 重启 Admin API 后确认“定时任务”里存在且启用“SYB 每小时自动同步”。
|
||||
- SYB 商品页确认顶部入口已精简、同步状态可显示。
|
||||
- 到下一次每小时第 5 分钟后确认产生“系统定时同步”的同步记录并刷新商品。
|
||||
Reference in New Issue
Block a user