文件
xionggeshop/addons/shopro_huifu/install.sql
可乐加冰 fa8d57693b ```
feat(shopro_huifu): 添加汇付进件自动提交功能

- 新增自动提交开关配置项,支持定时自动提交汇付进件
- 添加失败重提间隔配置,支持失败后指定时间自动重试
- 创建OnboardAutoSubmit命令类,实现自动提交逻辑
- 在进件页面更新提示信息,说明自动提交流程
- 同步更新数据库配置表结构和升级脚本
```
2026-10-08 13:40:52 +08:00

112 行
5.1 KiB
SQL

-- 汇付支付插件表结构
CREATE TABLE IF NOT EXISTS `__PREFIX__shopro_huifu_config` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`value` text,
`group` varchar(50) DEFAULT 'basic',
`description` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='汇付支付配置';
CREATE TABLE IF NOT EXISTS `__PREFIX__shopro_huifu_pay_ext` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`order_id` int(11) NOT NULL,
`order_sn` varchar(64) NOT NULL,
`req_date` varchar(8) DEFAULT NULL,
`req_seq_id` varchar(64) DEFAULT NULL,
`hf_seq_id` varchar(64) DEFAULT NULL,
`trans_stat` varchar(4) DEFAULT NULL,
`delay_acct_flag` char(1) DEFAULT 'N',
`confirm_hf_seq_id` varchar(64) DEFAULT NULL,
`confirm_status` varchar(4) DEFAULT NULL,
`split_timing_at_pay` varchar(16) DEFAULT NULL,
`extra` text,
`createtime` int(10) NOT NULL,
`updatetime` int(10) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `order_id` (`order_id`),
KEY `order_sn` (`order_sn`),
KEY `req_seq_id` (`req_seq_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='汇付订单支付扩展';
CREATE TABLE IF NOT EXISTS `__PREFIX__shopro_huifu_notify_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`huifu_id` varchar(32) DEFAULT NULL,
`req_seq_id` varchar(64) DEFAULT NULL,
`hf_seq_id` varchar(64) DEFAULT NULL,
`event_type` varchar(32) DEFAULT NULL,
`payload` text,
`status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0=待处理,1=已处理',
`createtime` int(10) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_event` (`huifu_id`,`req_seq_id`,`event_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='汇付通知幂等日志';
INSERT IGNORE INTO `__PREFIX__shopro_huifu_config` (`name`, `value`, `group`, `description`) VALUES
('env', 'test', 'basic', '环境 test/prod'),
('gateway_url', 'https://api.huifu.com', 'basic', 'API网关'),
('sys_id', '', 'credential', '系统号'),
('product_id', '', 'credential', '产品号'),
('huifu_id', '', 'credential', '商户号'),
('upper_huifu_id', '', 'credential', '上级商户号'),
('merchant_private_key', '', 'credential', '商户RSA私钥'),
('huifu_public_key', '', 'credential', '汇付RSA公钥'),
('skill_source', 'hfps/1.3.5', 'basic', 'Skill来源头'),
('miniprogram_channel', 'yansongda', 'channel', '小程序通道 yansongda/huifu'),
('status', '1', 'basic', '汇付通道开关'),
('time_expire', '', 'pay', '交易超时分钟'),
('pay_scene', '', 'pay', '微信业务场景'),
('channel_no', '', 'pay', '渠道号'),
('fee_sign', '', 'pay', '手续费场景'),
('goods_desc_tpl', '商城订单{order_sn}', 'pay', '商品描述模板'),
('limit_pay_type', '', 'pay', '禁用支付方式'),
('site_base_url', '', 'basic', '站点公网HTTPS根地址(如 https://xgsc.gynhc.com)'),
('pay_notify_url', '', 'pay', '支付通知URL(留空则 https://域名/addons/shopro/pay/notifyhuifu)'),
('refund_notify_url', '', 'pay', '退款通知URL');
-- 分账配置扩展
INSERT IGNORE INTO `__PREFIX__shopro_split_config` (`name`, `value`, `group`, `description`) VALUES
('split_provider', 'auto', 'basic', '分账通道 auto/wechat/huifu'),
('delay_acct_enable', '0', 'basic', '延时分账开关'),
('platform_huifu_id', '', 'platform', '平台汇付商户号'),
('platform_acct_id', '', 'platform', '平台分账子账户'),
('term_div_coupon_type', '3', 'basic', '优惠时分账规则'),
('split_amount_source', 'mixed', 'basic', '分账金额来源 commission/rule/mixed');
CREATE TABLE IF NOT EXISTS `__PREFIX__shopro_huifu_onboard` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL COMMENT '商城用户ID',
`role_type` varchar(32) NOT NULL COMMENT 'promoter/regional_agent',
`role_ref_id` int(11) NOT NULL DEFAULT 0,
`onboard_status` varchar(20) NOT NULL DEFAULT 'draft',
`huifu_id` varchar(32) DEFAULT NULL,
`apply_no` varchar(64) DEFAULT NULL,
`req_seq_id` varchar(64) DEFAULT NULL,
`req_date` char(8) DEFAULT NULL,
`basic_req_seq_id` varchar(64) DEFAULT NULL,
`busi_req_seq_id` varchar(64) DEFAULT NULL,
`reject_reason` varchar(500) DEFAULT NULL,
`payload` text,
`file_map` text,
`resp_snapshot` text,
`createtime` int(10) NOT NULL,
`updatetime` int(10) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_role` (`user_id`,`role_type`,`role_ref_id`),
KEY `onboard_status` (`onboard_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='汇付个人进件';
INSERT IGNORE INTO `__PREFIX__shopro_huifu_config` (`name`, `value`, `group`, `description`) VALUES
('onboard_required', '1', 'onboard', '汇付分账模式下强制个人进件'),
('onboard_settle_cycle', 'D1', 'onboard', '个人入驻默认结算周期'),
('onboard_settle_batch_no', '300', 'onboard', '结算批次号'),
('onboard_cash_type', 'D1', 'onboard', '取现类型'),
('onboard_cash_fix_amt', '0.03', 'onboard', '取现固定手续费'),
('onboard_cash_fee_rate', '0', 'onboard', '取现费率'),
('onboard_skill_source', 'hfps/1.3.5;hfms/1.0.2', 'onboard', '进件SDK skill_source'),
('onboard_auto_submit', '1', 'onboard', '定时自动提交汇付进件(0关1开)'),
('onboard_auto_retry_hours', '24', 'onboard', '进件失败后自动重提间隔(小时)');