本文件是 Codex 在仓库根目录直接加载的项目指令。遵循用户最新要求,并按以下规则进行分析、修改和验证。CLAUDE.md 保留更完整的背景说明;本文件已包含日常开发必须遵守的关键约束。
vi、简体中文 zh、繁体中文 tw、英文 en。E:\QtwCode\foodie\foodie-admin-vue。E:\QtwCode\foodie\foodie-store。以下代码仍在仓库中但已经废弃,不要参考其业务逻辑,也不要在其上做增量修改:
ZaloPayController.java:整体废弃,ZaloPay 已下线。PayController.java:VNPay 回调和多数方法废弃。仅 sendAcceptRiderPush(...) 仍被 PosOrderController 的货到付款路径及尚未启用的 NewebpayPayController 引用;等接入新支付时再迁移。TestTask.java:其中定时任务全部废弃,包括退款处理、抽成返还、自动开店和超时退款。OrderAppealController.java:取消/申诉逻辑已失效,仅剩 parseLocale 可用。当前有效的订单操作入口:
PosOrderShOprateController:商家出餐和取消。PosOrderQsOprateController:骑手接单、取餐、送达,使用 deliveryStatus 1/2/3。UserOrderController:用户下单和取消。NewebpayPayController:蓝新金流代码已就绪但尚未启用。PosOrderController:仅 /addorder、/setorderuzt 和 list 查询仍在使用,主要订单状态流转已经迁出。推送以当前真实通道为准:PayPush 没有 Android FCM;本项目仅有 iOS uni 云函数 msduser、msdrider、msdstore,以及 PushEvent -> push_message 入库。cidType 当前没有实际区分作用。相关状态见 specs/012-im-user-integration/code-status.md。
@RequestHeader String token。不要为了读取 token 注入或使用 HttpServletRequest。@RequestBody;禁止未标注注解的隐式绑定。@RequestParam;token 使用 @RequestHeader,路径参数使用 @PathVariable。Map 作为 Controller 请求方法入参。form-urlencoded 回调也用 DTO(如 @ModelAttribute)接收。签名 SDK 必须用 Map 时,只能在 Controller 边界之后由 DTO 转换,不能把 Map 暴露为接口入参。@Valid / @Validated 返回业务校验错误。MessageUtils.message(...) 等项目国际化机制返回错误,禁止硬编码单一语言错误信息。C:\Users\qmj\.jdks\graalvm-jdk-21.0.7;只在当前命令环境临时设置 JAVA_HOME 和 PATH,不要修改用户全局 Java 配置。ruoyi-admin -> ruoyi-system。禁止 ruoyi-system 反向依赖或导入 com.ruoyi.app.*。ruoyi-admin,不要放入 ruoyi-system。*/。描述 ATM_*、CVS_* 等通配值时,写成“ATM 系列”“CVS 系列”,避免提前关闭注释。ALTER TABLE、数据迁移等 SQL 写入 updatesql/sql.md,标注日期和用途,由开发者统一手动执行。$t(),不得硬编码中文。src/lang/zh.js、tw.js、en.js、vi.js;新增 key 必须四个文件同时添加,名称完全一致。text1、text2 等无意义编号。$t('foots.AddCategoryFirst') 对应的 key 必须位于 foots 对象内部。foodie-store 和 foodie-admin-vue 时保留 CRLF。先确认原始换行风格,避免字符串替换失败或造成整文件换行变化。InfoUser.userType = 1(普通商家):使用 PosOrder.shId = userId。InfoUser.userType = 3(夜市商家):使用 PosOrder.shId = userId。InfoUser.storeId,再使用 PosOrder.mdId = InfoUser.storeId。InfoUser.userType 为 0 用户、1 商家、2 骑手、3 夜市;PosOrder.shId 是商家 ID,PosOrder.mdId 是门店 ID。spec kit、spec-kit 或 speckit 时,指 GitHub github/spec-kit;项目配置在 .specify/,规格在 specs/。specify -> plan -> tasks -> implement。spec.md、plan.md、tasks.md 并顺延任务;除非用户明确要求,不重新启动完整流程。specs/016-omg-payment/plan.md。git diff,确认没有无关文件、整文件格式化、编码或换行变化。