feat(store): 新增门店新订单提醒功能
- 新增 useNewOrderDetector Hook,实现30秒轮询检测新订单 - 订单管理页集成该 Hook,新增订单时震动+Toast提醒 - “全部”Tab 显示新订单红点,切换Tab清空未读计数 - 门店中心页增加待处理订单角标,统一待审核和待处理显示逻辑 - 底部新增“接收新订单提醒”订阅消息授权入口,调用微信接口申请授权 - 文档中补充订阅消息模板ID及字段说明,待后端配合公众号推送消息
This commit is contained in:
@@ -115,3 +115,33 @@
|
||||
- 修改:`src/hooks/index.ts`
|
||||
- 修改:`src/pages/store/orders/index.tsx`
|
||||
- 修改:`src/pages/store/center/index.tsx`
|
||||
|
||||
---
|
||||
|
||||
### 11. 后端订阅消息发送服务
|
||||
|
||||
#### 11.1 新建 WxSubscribeMessageService
|
||||
- 接口:`/JAVA/shop-api/src/main/java/com/gxwebsoft/shop/service/WxSubscribeMessageService.java`
|
||||
- 实现:`/JAVA/shop-api/src/main/java/com/gxwebsoft/shop/service/impl/WxSubscribeMessageServiceImpl.java`
|
||||
- 功能:客户下单后自动推送微信小程序订阅消息给门店所有店员
|
||||
- 流程:
|
||||
1. 根据 `storeId` 查询 `shop_store_user` 表获取店员 userId 列表
|
||||
2. 批量查询 `sys_user` 表获取店员小程序 openid
|
||||
3. 调用 `WxMiniappAccessTokenService` 获取 access_token
|
||||
4. 调用微信 `subscribeMessage.send` API 逐个发送
|
||||
- 容错设计:
|
||||
- 订单无 storeId 跳过
|
||||
- 门店无店员/店员无 openid 跳过
|
||||
- access_token 获取失败跳过
|
||||
- errcode 43101(用户未授权订阅)正常跳过不报错
|
||||
- 所有异常不向上抛出,不影响订单创建
|
||||
|
||||
#### 11.2 集成到 OrderBusinessService
|
||||
- 修改 `OrderBusinessService.createOrder()` 方法
|
||||
- 在保存订单和商品后、创建微信支付订单前,调用 `sendNewOrderNotification`
|
||||
- 外层 try-catch 确保通知失败不影响主流程
|
||||
|
||||
#### 涉及文件
|
||||
- 新建:`JAVA/shop-api/.../service/WxSubscribeMessageService.java`
|
||||
- 新建:`JAVA/shop-api/.../service/impl/WxSubscribeMessageServiceImpl.java`
|
||||
- 修改:`JAVA/shop-api/.../service/OrderBusinessService.java`
|
||||
|
||||
Reference in New Issue
Block a user