code-status.md 3.6 KB

Code Status: 订单/支付代码现状(废弃与在用)

Date: 2026-06-25 Scope: 全局项目现状笔记(挂在 012-im-user-integration 目录下,供后续开发参考)

排查问题或新增功能时,务必区分"已废弃代码"与"在用入口"。仓库里有一批支付/订单类代码还在但已不再使用,参考它们的逻辑或在其上做增量改动都会改到死代码。

已废弃(勿参考、勿在其上改动)

文件 状态 备注
ZaloPayController.java 整体废弃 ZaloPay 支付已下线
PayController.java VNPay 回调及多数方法废弃 特例sendAcceptRiderPush(...) 仍被 PosOrderController 货到付款路径与 NewebpayPayController(未启用)引用;迁移推迟到接入新支付时
TestTask.java 定时任务全部废弃 含 refundProcessing / 抽成返还 / 自动开店 / 超时退款;相关推送当前均不存在
OrderAppealController.java 取消/申诉逻辑整片注释 仅留 parseLocale;取消/申诉推送全部失效

订单操作在用入口(状态流转/推送以此为准)

  • PosOrderShOprateController — 商家操作:出餐 chuCan(推用户+骑手)、商家取消
  • PosOrderQsOprateController — 骑手操作:接单/取餐/送达,按 deliveryStatus 1/2/3(推用户,接单时推商家)
  • UserOrderController — 用户操作:下单(推商家"新订单")、用户取消
  • PosOrderController — 仅 /addorder(下单,含货到付款 sendHdfkMessage)、/setorderuzt(平台改状态)及各类 list 查询在用;订单状态流转操作已迁出至上列三个 Controller
  • NewebpayPayController — 蓝新金流支付,代码就绪但尚未真正启用;启用前支付成功推送不触发,sendAcceptRiderPush 迁移等接入新支付时再做

推送通道现状

  • PayPush 封装 userPush / shPush / qsPush(及 *HandleLocal 带 i18n 版)。
  • 无 Android FCM 通道(cte_server 有 FCMPush + channelId qsRing/sjRing/yhRing,本项目已砍掉);仅 iOS uni 云函数(msduser/msdrider/msdstore)+ 入库(PushEventpush_message 表,App 内消息中心)。
  • cidType 参数目前形同虚设,调用处一律传 ""
  • 异步推送用 AsyncManager.me().execute(TimerTask)(cte 用 @Async + TransactionSynchronization.afterCommit)。

订单推送覆盖度(基于在用代码)

已实现(代码定稿,均走 uniapp 云函数 + 入库,无 FCM;2026-06-25 确认范围):

  • 用户下单 → 商家(UserOrderController:274
  • 货到付款下单 → 商家+骑手(PosOrderController.sendHdfkMessage:1180
  • 商家出餐 → 用户+骑手(PosOrderShOprateController.chuCan:341
  • 骑手接单/取餐/送达 → 用户,接单时同时推商家(PosOrderQsOprateController:204-241
  • 平台改订单状态 → 用户,state=3 时同时推商家(PosOrderController:326-363

接单/改状态时推商家:业务合理,已确认保留。代码侧无待办,仅剩端到端验证(启动服务→触发各动作→查 push_message 表 + 真机收推送)。

缺口:

  • 取消/申诉类通知(用户取消、商家取消、骑手取餐失败/取消、到付解冻)—— OrderAppealController 整片注释,全部缺失
  • 定时任务类通知(超时无骑手退款、抽成返还、自动恢复营业)—— TestTask 废弃,全部缺失
  • 管理员改派骑手通知(无 assignRider 推送)
  • Android FCM 通道未接入,Android 端无系统通知栏推送