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