Переглянути джерело

chore: sql.md 补登记 031 全套 DDL(payment_method_config/info_bank_card/info_user 两列/闪送 payment_status,已执行测试库含 027 存量卡迁移)

qmj 3 тижнів тому
батько
коміт
1aa27f770f
1 змінених файлів з 44 додано та 0 видалено
  1. 44 0
      updatesql/sql.md

+ 44 - 0
updatesql/sql.md

@@ -1793,3 +1793,47 @@ SELECT '支付方式设置', @payConfigParent, 3, 'methodConfig', 'pay/methodCon
        'system:payMethodConfig:list', '#', 'admin', NOW(), '支付方式×业务维度开关(商家餐饮单/骑手闪送,031 闸门)'
 WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE component='pay/methodConfig/index');
 ```
+
+```sql
+-- 2026-09-28 补登记 031 支付方式配置全套 DDL(031 于 2026-09-11 实施时 DDL 误只写在
+-- specs/031-pay-method-config/data-model.md,未登记进本文件导致从未执行;
+-- 2026-09-28 v2 线上 /infouser/user/lodeing 报 Unknown column 'pay_methods' 即此因)
+CREATE TABLE payment_method_config (
+  id           BIGINT AUTO_INCREMENT PRIMARY KEY,
+  method_code  VARCHAR(32) NOT NULL COMMENT '支付方式组代码 COD/CARD_OMG/LINE_PAY/OFFLINE_TRANSFER(现金不建行)',
+  scope        VARCHAR(32) NOT NULL COMMENT '维度 MERCHANT=商家餐饮单 RIDER_FLASH=骑手闪送',
+  enabled      TINYINT NOT NULL DEFAULT 1 COMMENT '1=开 0=关;缺行=开启',
+  sort         INT NOT NULL DEFAULT 0 COMMENT '平台设置页展示排序',
+  update_by    BIGINT DEFAULT NULL COMMENT '最后操作管理员',
+  create_time  DATETIME DEFAULT NULL,
+  update_time  DATETIME DEFAULT NULL,
+  UNIQUE KEY uk_method_scope (method_code, scope)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='平台支付方式开关(031 闸门,缺行=开)';
+
+ALTER TABLE info_user
+  ADD COLUMN pay_methods       VARCHAR(128) DEFAULT NULL COMMENT '商家接受的支付方式组代码CSV,NULL=全部启用',
+  ADD COLUMN flash_pay_methods VARCHAR(128) DEFAULT NULL COMMENT '骑手接受的闪送收款方式组代码CSV,NULL=平台开放全部';
+
+CREATE TABLE info_bank_card (
+  id           BIGINT AUTO_INCREMENT PRIMARY KEY,
+  user_id      BIGINT      NOT NULL COMMENT '归属用户(商家主账号/骑手)',
+  bank_name    VARCHAR(64) NOT NULL COMMENT '银行名称(字典taiwan_bank_list)',
+  account_no   VARCHAR(64) NOT NULL COMMENT '银行账号',
+  account_name VARCHAR(64) NOT NULL COMMENT '户名',
+  is_active    TINYINT NOT NULL DEFAULT 0 COMMENT '1=启用;同一user仅一张启用(服务层保证)',
+  create_time  DATETIME DEFAULT NULL,
+  update_time  DATETIME DEFAULT NULL,
+  KEY idx_bank_card_user (user_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收款银行卡(031,多卡单启用)';
+
+ALTER TABLE flash_delivery_order
+  ADD COLUMN payment_status TINYINT NOT NULL DEFAULT 0 COMMENT '0=未收款 1=骑手已确认收款';
+
+-- 031 027银行三字段迁移为启用卡(一次性;info_user 旧三字段保留不删,App 审核资料仍引用)
+INSERT INTO info_bank_card (user_id, bank_name, account_no, account_name, is_active, create_time)
+SELECT user_id, bank_name, bank_account_no, bank_account_name, 1, NOW()
+FROM info_user
+WHERE user_id IS NOT NULL AND bank_name IS NOT NULL AND bank_name <> ''
+  AND bank_account_no IS NOT NULL AND bank_account_no <> ''
+  AND bank_account_name IS NOT NULL AND bank_account_name <> '';
+```