Files
qihuaiflow/migrations/009_payment_realname_fields.sql
T
qyyfw 78ff261b5a 初始提交: Qihu-AIFlow v2.0.1 完整项目
- 前端 React+TypeScript (源码+构建产物)
- 后端 Python FastAPI
- 数据库迁移 001-015
- Docker部署配置
- 微信ClawBot API频道绑定
- 项目文档 README.md
2026-07-02 14:40:46 +08:00

48 lines
3.5 KiB
SQL

-- Qihu-AIFlow 支付配置和实名认证配置字段扩展(幂等)
USE aiflow;
-- ============================================================
-- 支付配置:增加微信v3和支付宝完整字段
-- ============================================================
-- 存储过程:检查并添加列 api_v3_key
DROP PROCEDURE IF EXISTS add_col_if_missing_009;
DELIMITER $$
CREATE PROCEDURE add_col_if_missing_009()
BEGIN
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'payment_configs' AND COLUMN_NAME = 'api_v3_key') THEN
ALTER TABLE payment_configs ADD COLUMN api_v3_key VARCHAR(255) DEFAULT NULL COMMENT '微信APIv3密钥';
END IF;
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'payment_configs' AND COLUMN_NAME = 'cert_serial_no') THEN
ALTER TABLE payment_configs ADD COLUMN cert_serial_no VARCHAR(200) DEFAULT NULL COMMENT '微信证书序列号';
END IF;
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'payment_configs' AND COLUMN_NAME = 'alipay_public_key') THEN
ALTER TABLE payment_configs ADD COLUMN alipay_public_key TEXT DEFAULT NULL COMMENT '支付宝公钥';
END IF;
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'payment_configs' AND COLUMN_NAME = 'app_private_key') THEN
ALTER TABLE payment_configs ADD COLUMN app_private_key TEXT DEFAULT NULL COMMENT '支付宝应用私钥';
END IF;
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'payment_configs' AND COLUMN_NAME = 'notify_url') THEN
ALTER TABLE payment_configs ADD COLUMN notify_url VARCHAR(500) DEFAULT NULL COMMENT '支付回调通知地址';
END IF;
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'payment_configs' AND COLUMN_NAME = 'return_url') THEN
ALTER TABLE payment_configs ADD COLUMN return_url VARCHAR(500) DEFAULT NULL COMMENT '支付宝同步跳转地址';
END IF;
-- 注册设置:增加阿里云短信签名和模板字段
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'register_settings' AND COLUMN_NAME = 'sms_sign_name') THEN
ALTER TABLE register_settings ADD COLUMN sms_sign_name VARCHAR(100) DEFAULT NULL COMMENT '阿里云短信签名';
END IF;
IF NOT EXISTS (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'register_settings' AND COLUMN_NAME = 'sms_template_code') THEN
ALTER TABLE register_settings ADD COLUMN sms_template_code VARCHAR(50) DEFAULT NULL COMMENT '阿里云短信模板代码';
END IF;
END$$
DELIMITER ;
CALL add_col_if_missing_009();
DROP PROCEDURE IF EXISTS add_col_if_missing_009;
-- ============================================================
-- 幂等插入支付配置初始记录
-- ============================================================
INSERT IGNORE INTO payment_configs (id, type, app_id, merchant_id, api_key, api_v3_key, cert_path, cert_serial_no, alipay_public_key, app_private_key, gateway_url, notify_url, return_url, status) VALUES
('pc1', 'wechat', '', '', '', '', '/etc/certs/apiclient_cert.pem', '', NULL, NULL, 'https://api.mch.weixin.qq.com', '', '', 'inactive'),
('pc2', 'alipay', '', NULL, '', NULL, NULL, NULL, '', '', 'https://openapi.alipay.com/gateway.do', '', '', 'inactive');