Files
douba_shop/.trae/specs/add-jst-product-sync-by-time/tasks.md
Karlcarlo c7f85ffbda feat: 添加阿里云短信服务支持并优化验证码逻辑
- 引入 alibabacloud/dysmsapi-20170525 依赖,集成阿里云短信服务
- 将短信验证码从6位改为4位,优化用户体验
- 添加聚水潭商品按时间范围同步功能,支持分页拉取
- 增强Cron任务异常处理,添加错误日志记录
- 修复系统附件服务中图片路径处理逻辑
- 更新阿里云SDK相关组件至最新版本
- 添加think-trace调试扩展,便于问题排查
- 优化跨域中间件,使用str_contains替代strpos
2026-04-30 15:19:40 +08:00

1.2 KiB

Tasks

  • Task 1: 增加路由和控制器方法

    • SubTask 1.1: 在 route/admin.php 中增加 POST sync_jst_product_by_time 路由。
    • SubTask 1.2: 在 app/controller/admin/v1/product/StoreProduct.php 中实现 sync_jst_product_by_time 方法,验证时间参数,并根据 sync 参数决定是同步执行还是投递异步队列。
  • Task 2: 在服务类中增加 API 调用方法

    • SubTask 2.1: 在 app/haichao/HaichaoJstServices.php 中新增 getProductListByTime(string $startTime, string $endTime, int $pageIndex = 1, int $pageSize = 50) 方法。
  • Task 3: 重构同步任务类并实现时间范围同步

    • SubTask 3.1: 在 app/jobs/product/ProductSyncErp.php 中,将 productFromErp 方法内的商品列表遍历处理逻辑提取为受保护的 doProcessProductList(array $productList, int $supplierId) 方法。
    • SubTask 3.2: 修改原 productFromErp 方法以调用新抽离的 doProcessProductList。
    • SubTask 3.3: 在 ProductSyncErp.php 中新增 productFromErpByTime(string $startTime, string $endTime, int $supplierId = 0) 方法,实现分页拉取逻辑,并在每页数据返回后调用 doProcessProductList。