first commit
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
-- ----------------------------
|
||||
-- 支付应用表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pay_app`;
|
||||
CREATE TABLE `pay_app` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '应用ID',
|
||||
`name` varchar(64) NOT NULL COMMENT '应用名',
|
||||
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0开启 1关闭)',
|
||||
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
|
||||
`pay_notify_url` varchar(1024) NOT NULL COMMENT '支付结果回调地址',
|
||||
`refund_notify_url` varchar(1024) NOT NULL COMMENT '退款结果回调地址',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB COMMENT='支付应用信息';
|
||||
|
||||
-- ----------------------------
|
||||
-- 支付渠道表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pay_channel`;
|
||||
CREATE TABLE `pay_channel` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '渠道ID',
|
||||
`code` varchar(32) NOT NULL COMMENT '渠道编码(alipay_pc, wx_pub)',
|
||||
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0开启 1关闭)',
|
||||
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
|
||||
`fee_rate` double NOT NULL DEFAULT '0' COMMENT '渠道费率(%)',
|
||||
`app_id` bigint NOT NULL COMMENT '应用ID',
|
||||
`config` text NOT NULL COMMENT '支付渠道配置(JSON)',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB COMMENT='支付渠道';
|
||||
|
||||
-- ----------------------------
|
||||
-- 支付订单表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pay_order`;
|
||||
CREATE TABLE `pay_order` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '订单ID',
|
||||
`app_id` bigint NOT NULL COMMENT '应用ID',
|
||||
`channel_id` bigint DEFAULT NULL COMMENT '渠道ID',
|
||||
`channel_code` varchar(32) DEFAULT NULL COMMENT '渠道编码',
|
||||
`merchant_order_id` varchar(64) NOT NULL COMMENT '商户订单编号',
|
||||
`subject` varchar(32) NOT NULL COMMENT '商品标题',
|
||||
`body` varchar(128) DEFAULT NULL COMMENT '商品描述',
|
||||
`notify_url` varchar(1024) NOT NULL COMMENT '异步通知地址',
|
||||
`price` int NOT NULL COMMENT '支付金额(分)',
|
||||
`channel_fee_rate` double DEFAULT '0' COMMENT '渠道费率',
|
||||
`channel_fee_price` int DEFAULT '0' COMMENT '渠道手续费(分)',
|
||||
`status` tinyint NOT NULL COMMENT '状态(0未支付 10已支付 20已退款 30已关闭)',
|
||||
`user_ip` varchar(50) NOT NULL COMMENT '用户IP',
|
||||
`expire_time` datetime NOT NULL COMMENT '订单失效时间',
|
||||
`success_time` datetime DEFAULT NULL COMMENT '支付成功时间',
|
||||
`extension_id` bigint DEFAULT NULL COMMENT '拓展业务ID (如扫码支付的记录ID)',
|
||||
`no` varchar(32) DEFAULT NULL COMMENT '支付单号(内部生成)',
|
||||
`channel_order_no` varchar(64) DEFAULT NULL COMMENT '渠道订单号(微信/支付宝)',
|
||||
`channel_user_id` varchar(64) DEFAULT NULL COMMENT '渠道用户OpenId',
|
||||
`channel_extras` varchar(1024) DEFAULT NULL COMMENT '渠道额外参数(JSON)',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_merchant_order_id` (`merchant_order_id`)
|
||||
) ENGINE=InnoDB COMMENT='支付订单';
|
||||
|
||||
-- ----------------------------
|
||||
-- 退款订单表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pay_refund`;
|
||||
CREATE TABLE `pay_refund` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '退款ID',
|
||||
`no` varchar(32) NOT NULL COMMENT '退款单号',
|
||||
`app_id` bigint NOT NULL COMMENT '应用ID',
|
||||
`channel_id` bigint NOT NULL COMMENT '渠道ID',
|
||||
`channel_code` varchar(32) NOT NULL COMMENT '渠道编码',
|
||||
`order_id` bigint NOT NULL COMMENT '支付订单ID',
|
||||
`order_no` varchar(32) NOT NULL COMMENT '支付订单no',
|
||||
`merchant_order_id` varchar(64) NOT NULL COMMENT '商户订单编号',
|
||||
`merchant_refund_id` varchar(64) NOT NULL COMMENT '商户退款编号',
|
||||
`notify_url` varchar(1024) NOT NULL COMMENT '回调地址',
|
||||
`status` tinyint NOT NULL COMMENT '状态(0等待 10成功 20失败)',
|
||||
`pay_price` int NOT NULL COMMENT '支付金额(分)',
|
||||
`refund_price` int NOT NULL COMMENT '退款金额(分)',
|
||||
`reason` varchar(256) NOT NULL COMMENT '退款原因',
|
||||
`user_ip` varchar(50) DEFAULT NULL COMMENT '用户IP',
|
||||
`channel_order_no` varchar(64) NOT NULL COMMENT '渠道订单号',
|
||||
`channel_refund_no` varchar(64) DEFAULT NULL COMMENT '渠道退款单号',
|
||||
`success_time` datetime DEFAULT NULL COMMENT '退款成功时间',
|
||||
`error_code` varchar(32) DEFAULT NULL COMMENT '渠道错误码',
|
||||
`error_msg` varchar(128) DEFAULT NULL COMMENT '渠道错误描述',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB COMMENT='退款订单';
|
||||
|
||||
-- ----------------------------
|
||||
-- 支付通知日志表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pay_notify_log`;
|
||||
CREATE TABLE `pay_notify_log` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID',
|
||||
`app_id` bigint NOT NULL COMMENT '应用ID',
|
||||
`channel_id` bigint NOT NULL COMMENT '渠道ID',
|
||||
`order_id` bigint NOT NULL COMMENT '支付订单ID',
|
||||
`notify_type` varchar(32) NOT NULL COMMENT '通知类型(pay, refund)',
|
||||
`status` tinyint NOT NULL COMMENT '处理状态(0处理中 10成功 20失败)',
|
||||
`request_params` text COMMENT '请求参数',
|
||||
`response_body` text COMMENT '响应结果',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_order_id` (`order_id`)
|
||||
) ENGINE=InnoDB COMMENT='支付通知日志';
|
||||
|
||||
-- ----------------------------
|
||||
-- 支付通知任务表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `pay_notify_task`;
|
||||
CREATE TABLE `pay_notify_task` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID',
|
||||
`order_id` bigint NOT NULL COMMENT '订单ID',
|
||||
`order_no` varchar(32) NOT NULL COMMENT '订单号',
|
||||
`notify_url` varchar(1024) NOT NULL COMMENT '通知地址',
|
||||
`notify_body` text COMMENT '通知内容',
|
||||
`retry_count` int NOT NULL DEFAULT '0' COMMENT '重试次数',
|
||||
`max_retry` int NOT NULL DEFAULT '5' COMMENT '最大重试次数',
|
||||
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态(0进行中 1成功 2失败)',
|
||||
`next_notify_time` datetime NOT NULL COMMENT '下次通知时间',
|
||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_next_notify_time` (`next_notify_time`)
|
||||
) ENGINE=InnoDB COMMENT='支付通知任务';
|
||||
|
||||
Reference in New Issue
Block a user