# Code Status: 订单/支付代码现状（废弃与在用）

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

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

## 已废弃（勿参考、勿在其上改动）

| 文件 | 状态 | 备注 |
|------|------|------|
| `ZaloPayController.java` | 整体废弃 | ZaloPay 支付已下线 |
| `NewebpayPayController.java` / `PosStoreNewebpayController.java` | 蓝新支付已废弃（2026-09-02 确认） | 从未在生产启用；代码保留备查，不要参考或增量修改 |
| `PayController.java` | VNPay 回调及多数方法废弃 | **特例**：`sendAcceptRiderPush(...)` 仍被 `PosOrderController` 货到付款路径引用；迁移推迟到接入新支付时 |
| `TestTask.java` | 定时任务全部废弃 | 含 refundProcessing / 抽成返还 / 自动开店 / 超时退款；相关推送当前均不存在 |
| `OrderAppealController.java` | 取消/申诉逻辑整片注释 | 仅留 `parseLocale`；取消/申诉推送全部失效 |

## 订单操作在用入口（状态流转/推送以此为准）

- **`PosOrderShOprateController`** — 商家操作：出餐 `chuCan`（推用户+骑手）、商家取消
- **`PosOrderQsOprateController`** — 骑手操作：接单/取餐/送达，按 `deliveryStatus` 1/2/3（推用户，接单时推商家）
- **`UserOrderController`** — 用户操作：下单（推商家"新订单"）、用户取消
- **`PosOrderController`** — 仅 `/addorder`（下单，含货到付款 `sendHdfkMessage`）、`/setorderuzt`（平台改状态）及各类 list 查询在用；订单状态流转操作已迁出至上列三个 Controller

## 推送通道现状

- `PayPush` 封装 `userPush / shPush / qsPush`（及 `*HandleLocal` 带 i18n 版）。
- **无 Android FCM 通道**（cte_server 有 `FCMPush` + channelId qsRing/sjRing/yhRing，本项目已砍掉）；仅 iOS uni 云函数（`msduser/msdrider/msdstore`）+ 入库（`PushEvent`→`push_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 端无系统通知栏推送
