-- ============================================================ -- 寄售平台 · 易支付双配置 + 支付开关 + 运营资金 增量补丁 -- phpMyAdmin 直接粘贴执行 -- ============================================================ SET NAMES utf8mb4; -- ========== merchants 表加商户自有易支付 ========== DROP PROCEDURE IF EXISTS _ensure_merchants_epay_api_url; DELIMITER $$ CREATE PROCEDURE _ensure_merchants_epay_api_url() BEGIN IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='merchants' AND COLUMN_NAME='epay_api_url') THEN ALTER TABLE `merchants` ADD COLUMN `epay_api_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '商户易支付API地址' AFTER `settle_hours`; END IF; END$$ DELIMITER ; CALL _ensure_merchants_epay_api_url(); DROP PROCEDURE IF EXISTS _ensure_merchants_epay_api_url; DROP PROCEDURE IF EXISTS _ensure_merchants_epay_pid; DELIMITER $$ CREATE PROCEDURE _ensure_merchants_epay_pid() BEGIN IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='merchants' AND COLUMN_NAME='epay_pid') THEN ALTER TABLE `merchants` ADD COLUMN `epay_pid` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '商户易支付商户ID' AFTER `epay_api_url`; END IF; END$$ DELIMITER ; CALL _ensure_merchants_epay_pid(); DROP PROCEDURE IF EXISTS _ensure_merchants_epay_pid; DROP PROCEDURE IF EXISTS _ensure_merchants_epay_key; DELIMITER $$ CREATE PROCEDURE _ensure_merchants_epay_key() BEGIN IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='merchants' AND COLUMN_NAME='epay_key') THEN ALTER TABLE `merchants` ADD COLUMN `epay_key` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '商户易支付密钥' AFTER `epay_pid`; END IF; END$$ DELIMITER ; CALL _ensure_merchants_epay_key(); DROP PROCEDURE IF EXISTS _ensure_merchants_epay_key; -- ========== orders 表加 pay_source ========== DROP PROCEDURE IF EXISTS _ensure_orders_pay_source; DELIMITER $$ CREATE PROCEDURE _ensure_orders_pay_source() BEGIN IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='orders' AND COLUMN_NAME='pay_source') THEN ALTER TABLE `orders` ADD COLUMN `pay_source` ENUM('platform','merchant') NOT NULL DEFAULT 'platform' COMMENT 'platform=平台易支付 merchant=商户自有易支付' AFTER `pay_type`; END IF; END$$ DELIMITER ; CALL _ensure_orders_pay_source(); DROP PROCEDURE IF EXISTS _ensure_orders_pay_source; -- ========== settings 插入默认值(ON DUPLICATE KEY 已存在则跳过) ========== -- 支付方式开关:0=关 1=开 INSERT INTO `settings` (`k`, `v`) VALUES ('platform_wx_enabled', '1'), -- 平台易支付 - 微信 ('platform_alipay_enabled','1'), -- 平台易支付 - 支付宝 ('merchant_wx_enabled', '1'), -- 商户自有易支付 - 微信 ('merchant_alipay_enabled','1'), -- 商户自有易支付 - 支付宝 ('fee_charge_mode', '1'), -- 手续费抵扣模式:1=货款抵扣 2=运营资金抵扣 ('operation_fund', '0') -- 运营资金余额(分) ON DUPLICATE KEY UPDATE `k` = `k`; SELECT '✅ 支付配置增量补丁执行完毕' AS result; -- fee_ratio 字段(如果还没加) DROP PROCEDURE IF EXISTS _ensure_merchants_fee_ratio2; DELIMITER $$ CREATE PROCEDURE _ensure_merchants_fee_ratio2() BEGIN IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='merchants' AND COLUMN_NAME='fee_ratio') THEN ALTER TABLE `merchants` ADD COLUMN `fee_ratio` INT NOT NULL DEFAULT 100 COMMENT '手续费承担比例(0-100)' AFTER `epay_key`; END IF; END$$ DELIMITER ; CALL _ensure_merchants_fee_ratio2(); DROP PROCEDURE IF EXISTS _ensure_merchants_fee_ratio2;