# Data Model: 線下轉賬支付 **日期**:2026-09-03 | **结论**:零数据库变更,全部复用现有字段 ## 字段语义(现有,不变) ### PosOrder.pay_type(支付方式) | 值 | 含义 | 本功能关系 | |---|---|---| | 1 | 外送到付 | 不变 | | 2 | 信用卡(OMG 渠道) | 不变 | | 3 | LINE Pay | 不变 | | 4 | 现金(到店/当面,商家确认收款已有 confirmCashPayment) | 不变,与新接口互不影响 | | 5 | Apple Pay | 不变 | | **6** | **線下轉賬(新增语义)** | 本功能 | ### PosOrder.pay_status(支付状态) - 0=未支付,1=已支付。转账单:创建时 0,商家确认收款时 0→1(confirmTransferPayment)。 - 自取/堂食转账单:商家完成订单时现有逻辑自动置 1(completeOrder state 2→3)。 ### PosOrder.collect_payment - 到付=1;转账单不设(createOrder 只在 paymentMethod=1 时设置,透传 6 不触发)。 ## 商家收款账户(数据源,已有表) `info_user`(商家主账号): - `bank_account_name` 帳戶名稱(2026-09-03 加) - `bank_name` 銀行名稱(下拉字典 taiwan_bank_list) - `bank_account_no` 銀行帳號 查询路径:`pos_store.user_id → info_user`;商家级,连锁门店共享。任一为空 → 接口返回 null → 收银台隐藏选项。 ## 状态机(现有,不变) ``` 转账单(外送 type=0): 下单(state=0, payStatus=0, deliveryStatus=0) → 商家确认收款(payStatus→1) + notifyOrderAvailable 推骑手 → 骑手接单(deliveryStatus=1) → 商家接单(state→1)、出餐(state→2) ← requireRiderAssigned 现状约束 → 骑手取餐(deliveryStatus=2, 到店向商家收运费[线下]) → 骑手送达(deliveryStatus=3, state→3) ``` 骑手抢单池可见条件(现有查询已含):type=0 && deliveryStatus=0 && state=0 && **payStatus=1** && afterSaleStatus=0 && qsId IS NULL → 转账单确认前自动不可见。 ## 新增常量 `OrderLifecycleService.PAY_TYPE_TRANSFER = "6"`(与 PAY_TYPE_CASH 同文件同风格)。