feat(store): 新增门店新订单提醒功能

- 新增 useNewOrderDetector Hook,实现30秒轮询检测新订单
- 订单管理页集成该 Hook,新增订单时震动+Toast提醒
- “全部”Tab 显示新订单红点,切换Tab清空未读计数
- 门店中心页增加待处理订单角标,统一待审核和待处理显示逻辑
- 底部新增“接收新订单提醒”订阅消息授权入口,调用微信接口申请授权
- 文档中补充订阅消息模板ID及字段说明,待后端配合公众号推送消息
This commit is contained in:
2026-07-04 12:12:11 +08:00
parent 5c8acfd19c
commit c58a3448ca

View File

@@ -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`