日期:2026-09-03 | 风格:沿用项目规范(@RequestHeader String token、@RequestParam/@RequestBody 显式注解、DTO 承载)
GET /chanting/store/bankInfo?id={storeId}
@Anonymous,同 getstore 风格)pos_store.id=storeId → user_id → info_user,取 bankAccountName / bankName / bankAccountNo返回:
// 三项齐全
{ "code": 200, "data": { "accountName": "AMAZEWAY LIMITED", "bankName": "國泰世華銀行", "accountNo": "1234567890" } }
// 任一为空 → 收银台隐藏「線下支付」选项
{ "code": 200, "data": null }
App 用法:选项显示条件 = data != null;展开卡片显示三字段(参考原型),建议账号行带复制按钮。
GET /system/orderShOprate/confirmTransferPayment?id={orderId}
Header: token(商家,须有该店权限 requireMerchantOrderAccess)
payType == 6,否则 no.order.paytype.not.transferstate != 4(已取消),否则 no.order.transfer.cancelledpayStatus != 1,否则 no.order.transfer.already.paidpayStatus 0→1;orderLogHelper 记「商家{名}确认转账收款」deliveryOrderNotificationService.notifyOrderAvailable(order) 推送附近骑手{ "code": 200 } 或国际化错误GET /system/orderQsOprate/acceptOrder(现有)增加校验:
payType == 6 && payStatus != 1 → 拒绝,no.order.transfer.not.paid(「商家确认收款后骑手才能接单」)| 接口 | 用途 |
|---|---|
POST /infouser/user/../createOrder(paymentMethod="6") |
转账单创建,透传 payType=6,无需后端改动 |
骑手 orderList(tab=newTask) |
已过滤 payStatus=1,转账单确认前不可见(零改动) |
GET /chanting/store/bankList |
026 已交付,银行名称字典(商家资料侧用) |
ruoyi-admin/src/main/resources/i18n/messages{,_zh_CN,_zh_TW,_en_US,_vi}.properties:
| key | zh_CN 文案 |
|---|---|
| no.order.paytype.not.transfer | 该订单不是转账支付订单 |
| no.order.transfer.cancelled | 订单已取消,不能确认收款 |
| no.order.transfer.already.paid | 该订单已确认收款 |
| no.order.transfer.not.paid | 商家确认收款后骑手才能接单 |
index.vue paymentTypeLabel 映射加 6: 'OfflineTransfer';i18n index 命名空间四语言:
bankInfo,data != null 才显示「線下支付」选项(副标题「轉賬後請聯繫客服確認」);选中展开红色提示(轉帳完成後,請透過即時通訊客服發送憑證…)+ 灰底卡片三行(帳戶名稱/銀行名稱/銀行帳戶);提交下单 paymentMethod=6。confirmTransferPayment;确认后订单进入正常接单/出餐流程。