forked from gxwebsoft/mp-10550
- 迁移配送方式选择功能从 orderConfirm 页至 user/ticket/use 页面 - orderConfirm 页面移除配送方式相关状态、UI与校验,取消配送费计算 - user/ticket/use 页面新增配送方式UI组件,支持配送费计算、楼层选择弹窗和提交校验 - 新增录入deliveryMethod、deliveryFloor、deliveryFee字段至订单模型与后端数据库 - 骑手端订单列表新增配送方式、楼层、配送费的详细展示 - 更新环境配置接口地址到正式API,修正测试及开发环境 - 用户页底部组件UI优化,新增版权icon并重构结构样式 - 使用配送方式字段校验下单逻辑,支持编辑模式配送信息回显与费用显示 - 移除orderConfirm中配送方式相关样式和组件,实现代码回滚清理
108 lines
4.3 KiB
Markdown
108 lines
4.3 KiB
Markdown
# 2026-04-10 工作日志
|
||
|
||
## 完成的功能:四种用户分级标签
|
||
|
||
### 需求
|
||
用户 ID 下方"管理员"标签改为四种分级:
|
||
- 0: 普通用户
|
||
- 1: 超级管理员
|
||
- 2: 合伙人(总店)
|
||
- 3: 合伙人(分店)
|
||
|
||
### 修改的文件
|
||
|
||
#### 后端 (JAVA)
|
||
1. `ShopDealerUser.java` - 添加 `dealerLevel` 字段
|
||
2. `ShopDealerUserMapper.xml` - 添加 dealerLevel 查询条件
|
||
|
||
#### 前端 (VUE)
|
||
1. `src/api/shop/shopDealerUser/model/index.ts` - 添加 dealerLevel 字段
|
||
2. `src/utils/userLevel.ts` - 新建用户等级配置工具文件
|
||
3. `src/pages/user/components/UserCard.tsx` - 修改角色标签显示逻辑
|
||
|
||
### 注意事项
|
||
- 需要在数据库中添加 `dealer_level` 字段
|
||
- 后端需要重启生效
|
||
- 前端通过 dealerLevel 字段判断显示对应样式
|
||
|
||
## 配送员订单通知功能
|
||
|
||
### 需求
|
||
客户下单后,配送员手机声音提示和红点提示功能
|
||
|
||
### 实现方案
|
||
1. **红点提示**:在配送员首页「配送订单」图标上显示待配送订单数量
|
||
2. **声音提示**:收到新订单时播放微信官方提示音
|
||
3. **设置功能**:支持开启/关闭声音提醒
|
||
|
||
### 新增/修改的文件
|
||
1. `src/api/glt/gltTicketOrder/index.ts` - 添加 `getRiderPendingCount` 接口
|
||
2. `src/hooks/useRiderNotification.ts` - 新建配送员通知 Hook
|
||
3. `src/rider/index.tsx` - 添加 Badge 红点和设置入口
|
||
|
||
### 技术实现
|
||
- 使用 30 秒轮询获取待配送订单数量
|
||
- 使用 NutUI 的 Badge 组件显示红点
|
||
- 使用 Taro.createInnerAudioContext 播放提示音
|
||
- 声音设置保存在本地存储 `rider_sound_enabled`
|
||
|
||
### 待后端配合
|
||
- 需要后端提供 `/glt/glt-ticket-order/rider/count` 接口(可选,使用现有 page 接口也行)
|
||
- 需要配置微信订阅消息模板(可选)
|
||
|
||
## 下单页配送方式 + 配送费功能
|
||
|
||
### 需求
|
||
1. 下单页必选配送方式:电梯 / 步梯 / 一楼商铺·其他
|
||
2. 步梯需二级选择是否送上楼,送上楼需选楼层
|
||
3. 配送费计算:每桶每层1元,第1层不收费(即 `(楼层-1) × 数量`)
|
||
4. 自提模式隐藏配送方式选择器
|
||
|
||
### 修改的文件
|
||
1. `src/api/shop/shopOrder/model/index.ts` - OrderCreateRequest 新增 deliveryMethod、deliveryFloor 字段
|
||
2. `src/utils/payment.ts` - buildSingleGoodsOrder 透传配送方式字段
|
||
3. `src/shop/orderConfirm/index.tsx` - 配送方式选择UI、配送费计算、楼层选择弹窗、支付校验
|
||
4. `src/shop/orderConfirm/index.scss` - 配送方式选择器、楼层网格样式
|
||
|
||
### 后端需配合
|
||
- 订单表新增 `delivery_method` 和 `delivery_floor` 字段
|
||
- 订单创建接口接收并存储这两个字段
|
||
- 骑手端/后台展示配送方式和楼层信息
|
||
|
||
## 配送方式功能迁移:orderConfirm → user/ticket/use
|
||
|
||
### 原因
|
||
配送方式选择功能从购买下单页(orderConfirm)迁移到水票核销/立即送水页面(user/ticket/use)。
|
||
|
||
### 修改的文件
|
||
1. `src/shop/orderConfirm/index.tsx` - 回滚:移除配送方式状态变量、UI、校验、楼层选择弹窗、配送费计算
|
||
2. `src/shop/orderConfirm/index.scss` - 回滚:移除配送方式/楼层选择相关样式
|
||
3. `src/api/glt/gltTicketOrder/model/index.ts` - GltTicketOrder 新增 deliveryMethod、deliveryFloor、deliveryFee 字段
|
||
4. `src/user/ticket/use.tsx` - 新增:配送方式选择UI、配送费计算、楼层选择弹窗、提交校验、编辑模式回显
|
||
5. `src/user/ticket/use.scss` - 新增:配送方式/楼层选择样式
|
||
|
||
### 关键差异
|
||
- orderConfirm 页面是付费购买,配送费加到实付金额中
|
||
- use 页面是水票核销(不付费),配送费以"到付"形式展示在底部栏
|
||
- use 页面同时支持新建和编辑模式,编辑时回显配送信息
|
||
|
||
## 微信订阅消息配置(补充)
|
||
|
||
### 需要做的配置
|
||
|
||
#### 后端配置
|
||
1. `GltSubscribeMessageServiceImpl.java` - 订阅消息发送服务
|
||
- 需要配置 `SUBSCRIBE_TEMPLATE_ID` 为实际模板ID
|
||
|
||
2. `GltTicketOrderController.java` - 订单创建时通知配送员
|
||
- 注入 `GltSubscribeMessageService` 和 `UserMapper`
|
||
- 添加 `notifyRidersOfNewOrder` 方法
|
||
|
||
#### 前端配置
|
||
1. `src/rider/index.tsx`
|
||
- `handleRequestSubscribeMessage` 函数需要配置实际的模板ID
|
||
|
||
### 微信后台需要申请的模板
|
||
模板名称:订单配送通知
|
||
关键词:订单状态、订单编号、配送地址、商品数量、通知时间
|