本文供 /speckit.tasks 和实现阶段使用。当前阶段不执行数据库写入,也不创建分支。
system:order:list/query/edit;mvn -pl ruoyi-admin -am `
-Dtest=OrderLifecycleServiceTest,PosOrderAdminStatusControllerTest,OmgPayControllerTest `
-Dsurefire.failIfNoSpecifiedTests=false test
mvn -pl ruoyi-system `
-Dtest=PosOrderOmgPaymentServiceImplTest,PosOrderOmgRefundServiceImplTest test
mvn -pl ruoyi-admin -am -DskipTests compile
在 E:\QtwCode\foodie\foodie-admin-vue 执行:
npm run lint
npm run build:prod
如果全库 lint 存在与本功能无关的历史错误,必须同时记录:全库结果、仅本次修改文件的 ESLint 结果,以及确认未新增错误的证据;不得顺手改无关文件。
0→1→2→3 和未支付的 0/1→4;afterSaleStatus>0 拒绝普通调整;0→1→2→3,无骑手不能进入 1/2/3;deliveryStatus=3, state=3, sdTime;payType=1, payStatus=0 可确认收款;payType=7 或历史在线支付类型不能确认线下收款;system:order:edit 返回无权限;PUT /system/order 不能再写五个受保护状态/时间字段。测试前准备可恢复的测试订单,不直接在生产库执行 SQL 写入。
| Scenario | Initial state/delivery/pay/afterSale |
Action | Expected |
|---|---|---|---|
| 外送配送中→送达 | 2/2/1/0 |
修改配送为 3 | 3/3/1/0,有 sdTime、账单、管理员日志 |
| 自取线下收款 | 2/NULL/0/0, payType=1 |
确认收款 | 2/NULL/1/0,无 OMG 流水 |
| 自取完成 | 2/NULL/1/0 |
订单改为 3 | 3/NULL/1/0,商家账单一次 |
| 线下退款 | 1/NULL/1/0, payType=1 |
二次确认退款 | 4/NULL/2/3,积分幂等返还 |
| OMG 漏单 | 0/NULL/0/0, payType=7 |
查询 OMG | 仅 OMG 实付时变 pay=1 |
| OMG 信用卡退款 | 1/NULL/1/0, payType=7 |
发起退款 | 网关成功后 4/NULL/2/3 |
| OMG 延期支付退款 | 1/NULL/1/0, payType=7 |
发起退款 | 状态不变,显示人工待办 |
| OMG 人工退款完成 | 1/NULL/1/0, payType=7,已有待办 |
二次确认人工退款完成 | 4/NULL/2/3,待办关闭并记录管理员 |
| 陈旧页面 | 任意 | 其他链路先改状态后提交 | 提示刷新,最新数据不被覆盖 |
| 已完成退款 | 3/*/1/0 |
任一退款 | 拒绝并说明需结算冲正 |
对 zh_CN、zh_TW、en_US、vi 逐一检查:
不得出现原始 i18n key、空白按钮或新增中文硬编码。
仅在测试/预发布环境进行只读核对:
SELECT id, dd_id, type, pay_type, state, delivery_status,
pay_status, after_sale_status, qs_id, sd_time
FROM pos_order
WHERE id = ?;
SELECT operator_type, operator_id, operator_name, content, create_time
FROM pos_order_log
WHERE dd_id = ?
ORDER BY id DESC;
SELECT id, dd_id, trade_no, pay_type, amount, pay_status, update_time
FROM pos_order_omg_payment
WHERE dd_id = ?
ORDER BY id DESC;
SELECT payment_id, action, amount, rtn_code, rtn_msg, create_time
FROM pos_order_omg_refund
WHERE dd_id = ?
ORDER BY id DESC;
git diff --check 通过;test,未创建新分支;