会员与支付sql

This commit is contained in:
2025-08-27 10:04:19 +08:00
parent 1555739fcd
commit 52839e17cc
2 changed files with 262 additions and 0 deletions

51
sql/mysql/member.sql Normal file
View File

@@ -0,0 +1,51 @@
-- 会员用户表 (tz_member_user)
CREATE TABLE `tz_member_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`mobile` varchar(11) NOT NULL COMMENT '手机',
`password` varchar(128) NOT NULL COMMENT '加密后的密码',
`status` tinyint(4) NOT NULL COMMENT '帐号状态 (枚举 CommonStatusEnum)',
`register_ip` varchar(32) DEFAULT NULL COMMENT '注册 IP',
`register_terminal` tinyint(4) DEFAULT NULL COMMENT '注册终端 (枚举 TerminalEnum)',
`login_ip` varchar(32) DEFAULT NULL COMMENT '最后登录IP',
`login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
`nickname` varchar(64) DEFAULT NULL COMMENT '用户昵称',
`avatar` varchar(512) DEFAULT NULL COMMENT '用户头像',
`name` varchar(64) DEFAULT NULL COMMENT '真实名字',
`sex` tinyint(4) DEFAULT NULL COMMENT '性别 (枚举 SexEnum)',
`birthday` datetime DEFAULT NULL COMMENT '出生日期',
`area_id` int(11) DEFAULT NULL COMMENT '所在地 (关联 Area.id 字段)',
`mark` varchar(512) DEFAULT NULL COMMENT '用户备注',
`point` int(11) DEFAULT NULL COMMENT '积分',
`tag_ids` varchar(512) DEFAULT NULL COMMENT '会员标签列表,以逗号分隔',
`level_id` bigint(20) DEFAULT NULL COMMENT '会员级别编号 (关联 MemberLevelDO.id 字段)',
`experience` int(11) DEFAULT NULL COMMENT '会员经验',
`group_id` bigint(20) DEFAULT NULL COMMENT '用户分组编号 (关联 MemberGroupDO.id 字段)',
`tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_mobile` (`mobile`),
KEY `idx_level_id` (`level_id`),
KEY `idx_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会员用户表';
-- 用户收件地址表 (tz_member_address)
CREATE TABLE `tz_member_address` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`user_id` bigint(20) NOT NULL COMMENT '用户编号',
`name` varchar(64) NOT NULL COMMENT '收件人名称',
`mobile` varchar(11) NOT NULL COMMENT '手机号',
`area_id` bigint(20) NOT NULL COMMENT '地区编号',
`detail_address` varchar(512) NOT NULL COMMENT '收件详细地址',
`default_status` tinyint(1) DEFAULT NULL COMMENT '是否默认 (true - 默认收件地址)',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户收件地址表';

211
sql/mysql/pay.sql Normal file
View File

@@ -0,0 +1,211 @@
-- 支付应用表 (tz_pay_app)
CREATE TABLE `tz_pay_app` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '应用编号,数据库自增',
`app_key` varchar(64) NOT NULL COMMENT '应用标识',
`name` varchar(128) NOT NULL COMMENT '应用名',
`status` tinyint(4) NOT NULL COMMENT '状态 (枚举 CommonStatusEnum)',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`order_notify_url` varchar(512) DEFAULT NULL COMMENT '支付结果的回调地址',
`refund_notify_url` varchar(512) DEFAULT NULL COMMENT '退款结果的回调地址',
`transfer_notify_url` varchar(512) DEFAULT NULL COMMENT '转账结果的回调地址',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_app_key` (`app_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付应用表';
-- 支付渠道表 (tz_pay_channel)
CREATE TABLE `tz_pay_channel` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '渠道编号,数据库自增',
`code` varchar(32) NOT NULL COMMENT '渠道编码 (枚举 PayChannelEnum)',
`status` tinyint(4) NOT NULL COMMENT '状态 (枚举 CommonStatusEnum)',
`fee_rate` double DEFAULT NULL COMMENT '渠道费率,单位:百分比',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`app_id` bigint(20) NOT NULL COMMENT '应用编号 (关联 tz_pay_app.id)',
`config` json DEFAULT NULL COMMENT '支付渠道配置',
`tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_code_app_id` (`code`,`app_id`),
KEY `idx_app_id` (`app_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付渠道表';
-- 支付通知日志表 (tz_pay_notify_log)
CREATE TABLE `tz_pay_notify_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志编号,自增',
`task_id` bigint(20) NOT NULL COMMENT '通知任务编号 (关联 tz_pay_notify_task.id)',
`notify_times` int(11) NOT NULL COMMENT '第几次被通知',
`response` varchar(1024) DEFAULT NULL COMMENT 'HTTP 响应结果',
`status` tinyint(4) NOT NULL COMMENT '支付通知状态 (枚举 PayNotifyStatusEnum)',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_task_id` (`task_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付通知日志表';
-- 支付通知任务表 (tz_pay_notify_task)
CREATE TABLE `tz_pay_notify_task` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号,自增',
`app_id` bigint(20) NOT NULL COMMENT '应用编号 (关联 tz_pay_app.id)',
`type` tinyint(4) NOT NULL COMMENT '通知类型 (枚举 PayNotifyTypeEnum)',
`data_id` bigint(20) NOT NULL COMMENT '数据编号',
`merchant_order_id` varchar(64) DEFAULT NULL COMMENT '商户订单编号',
`merchant_transfer_id` varchar(64) DEFAULT NULL COMMENT '商户转账单编号',
`status` tinyint(4) NOT NULL COMMENT '通知状态 (枚举 PayNotifyStatusEnum)',
`next_notify_time` datetime DEFAULT NULL COMMENT '下一次通知时间',
`last_execute_time` datetime DEFAULT NULL COMMENT '最后一次执行时间',
`notify_times` int(11) DEFAULT NULL COMMENT '当前通知次数',
`max_notify_times` int(11) DEFAULT NULL COMMENT '最大可通知次数',
`notify_url` varchar(512) NOT NULL COMMENT '通知地址',
`tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_app_id` (`app_id`),
KEY `idx_type_data_id` (`type`,`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付通知任务表';
-- 支付订单表 (tz_pay_order)
CREATE TABLE `tz_pay_order` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单编号,数据库自增',
`app_id` bigint(20) NOT NULL COMMENT '应用编号 (关联 tz_pay_app.id)',
`channel_id` bigint(20) NOT NULL COMMENT '渠道编号 (关联 tz_pay_channel.id)',
`channel_code` varchar(32) NOT NULL COMMENT '渠道编码 (枚举 PayChannelEnum)',
`merchant_order_id` varchar(64) NOT NULL COMMENT '商户订单编号',
`subject` varchar(256) NOT NULL COMMENT '商品标题',
`body` varchar(512) DEFAULT NULL COMMENT '商品描述信息',
`notify_url` varchar(512) DEFAULT NULL COMMENT '异步通知地址',
`price` int(11) NOT NULL COMMENT '支付金额,单位:分',
`channel_fee_rate` double DEFAULT NULL COMMENT '渠道手续费,单位:百分比',
`channel_fee_price` int(11) DEFAULT NULL COMMENT '渠道手续金额,单位:分',
`status` tinyint(4) NOT NULL COMMENT '支付状态 (枚举 PayOrderStatusEnum)',
`user_ip` varchar(32) DEFAULT NULL COMMENT '用户 IP',
`expire_time` datetime DEFAULT NULL COMMENT '订单失效时间',
`success_time` datetime DEFAULT NULL COMMENT '订单支付成功时间',
`extension_id` bigint(20) DEFAULT NULL COMMENT '支付成功的订单拓展单编号 (关联 tz_pay_order_extension.id)',
`no` varchar(64) DEFAULT NULL COMMENT '支付成功的外部订单号 (关联 tz_pay_order_extension.no)',
`refund_price` int(11) DEFAULT NULL COMMENT '退款总金额,单位:分',
`channel_user_id` varchar(128) DEFAULT NULL COMMENT '渠道用户编号',
`channel_order_no` varchar(128) DEFAULT NULL COMMENT '渠道订单号',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_merchant_order_id_app_id` (`merchant_order_id`,`app_id`),
KEY `idx_app_id` (`app_id`),
KEY `idx_channel_id` (`channel_id`),
KEY `idx_status` (`status`),
KEY `idx_extension_id` (`extension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付订单表';
-- 支付订单扩展表 (tz_pay_order_extension)
CREATE TABLE `tz_pay_order_extension` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单拓展编号,数据库自增',
`no` varchar(64) NOT NULL COMMENT '外部订单号',
`order_id` bigint(20) NOT NULL COMMENT '订单号 (关联 tz_pay_order.id)',
`channel_id` bigint(20) NOT NULL COMMENT '渠道编号 (关联 tz_pay_channel.id)',
`channel_code` varchar(32) NOT NULL COMMENT '渠道编码',
`user_ip` varchar(32) DEFAULT NULL COMMENT '用户 IP',
`status` tinyint(4) NOT NULL COMMENT '支付状态 (枚举 PayOrderStatusEnum)',
`channel_extras` json DEFAULT NULL COMMENT '支付渠道的额外参数',
`channel_error_code` varchar(64) DEFAULT NULL COMMENT '调用渠道的错误码',
`channel_error_msg` varchar(512) DEFAULT NULL COMMENT '调用渠道报错时,错误信息',
`channel_notify_data` text DEFAULT NULL COMMENT '支付渠道的同步/异步通知的内容',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_no` (`no`),
KEY `idx_order_id` (`order_id`),
KEY `idx_channel_id` (`channel_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付订单扩展表';
-- 支付退款单表 (tz_pay_refund)
CREATE TABLE `tz_pay_refund` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '退款单编号,数据库自增',
`no` varchar(64) NOT NULL COMMENT '外部退款号',
`app_id` bigint(20) NOT NULL COMMENT '应用编号 (关联 tz_pay_app.id)',
`channel_id` bigint(20) NOT NULL COMMENT '渠道编号 (关联 tz_pay_channel.id)',
`channel_code` varchar(32) NOT NULL COMMENT '渠道编码 (枚举 PayChannelEnum)',
`order_id` bigint(20) NOT NULL COMMENT '订单编号 (关联 tz_pay_order.id)',
`order_no` varchar(64) NOT NULL COMMENT '支付订单编号',
`merchant_order_id` varchar(64) NOT NULL COMMENT '商户订单编号',
`merchant_refund_id` varchar(64) NOT NULL COMMENT '商户退款订单号',
`notify_url` varchar(512) DEFAULT NULL COMMENT '异步通知地址',
`status` tinyint(4) NOT NULL COMMENT '退款状态 (枚举 PayRefundStatusEnum)',
`pay_price` int(11) NOT NULL COMMENT '支付金额,单位:分',
`refund_price` int(11) NOT NULL COMMENT '退款金额,单位:分',
`reason` varchar(512) DEFAULT NULL COMMENT '退款原因',
`user_ip` varchar(32) DEFAULT NULL COMMENT '用户 IP',
`channel_order_no` varchar(128) DEFAULT NULL COMMENT '渠道订单号',
`channel_refund_no` varchar(128) DEFAULT NULL COMMENT '渠道退款单号',
`success_time` datetime DEFAULT NULL COMMENT '退款成功时间',
`channel_error_code` varchar(64) DEFAULT NULL COMMENT '调用渠道的错误码',
`channel_error_msg` varchar(512) DEFAULT NULL COMMENT '调用渠道的错误提示',
`channel_notify_data` text DEFAULT NULL COMMENT '支付渠道的同步/异步通知的内容',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_no` (`no`),
UNIQUE KEY `uk_merchant_refund_id_app_id` (`merchant_refund_id`,`app_id`),
KEY `idx_app_id` (`app_id`),
KEY `idx_channel_id` (`channel_id`),
KEY `idx_order_id` (`order_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付退款单表';
-- 转账单表 (tz_pay_transfer)
CREATE TABLE `tz_pay_transfer` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
`no` varchar(64) NOT NULL COMMENT '转账单号',
`app_id` bigint(20) NOT NULL COMMENT '应用编号 (关联 tz_pay_app.id)',
`channel_id` bigint(20) NOT NULL COMMENT '转账渠道编号 (关联 tz_pay_channel.id)',
`channel_code` varchar(32) NOT NULL COMMENT '转账渠道编码 (枚举 PayChannelEnum)',
`merchant_transfer_id` varchar(64) NOT NULL COMMENT '商户转账单编号',
`type` tinyint(4) NOT NULL COMMENT '类型 (枚举 PayTransferTypeEnum)',
`subject` varchar(256) NOT NULL COMMENT '转账标题',
`price` int(11) NOT NULL COMMENT '转账金额,单位:分',
`user_name` varchar(64) DEFAULT NULL COMMENT '收款人姓名',
`status` tinyint(4) NOT NULL COMMENT '转账状态 (枚举 PayTransferStatusRespEnum)',
`success_time` datetime DEFAULT NULL COMMENT '订单转账成功时间',
`alipay_logon_id` varchar(128) DEFAULT NULL COMMENT '支付宝登录号',
`openid` varchar(128) DEFAULT NULL COMMENT '微信 openId',
`notify_url` varchar(512) DEFAULT NULL COMMENT '异步通知地址',
`user_ip` varchar(32) DEFAULT NULL COMMENT '用户 IP',
`channel_extras` json DEFAULT NULL COMMENT '渠道的额外参数',
`channel_transfer_no` varchar(128) DEFAULT NULL COMMENT '渠道转账单号',
`channel_error_code` varchar(64) DEFAULT NULL COMMENT '调用渠道的错误码',
`channel_error_msg` varchar(512) DEFAULT NULL COMMENT '调用渠道的错误提示',
`channel_notify_data` text DEFAULT NULL COMMENT '渠道的同步/异步通知的内容',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '最后更新时间',
`creator` varchar(64) NOT NULL COMMENT '创建者',
`updater` varchar(64) NOT NULL COMMENT '更新者',
`deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_no` (`no`),
UNIQUE KEY `uk_merchant_transfer_id_app_id` (`merchant_transfer_id`,`app_id`),
KEY `idx_app_id` (`app_id`),
KEY `idx_channel_id` (`channel_id`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='转账单表';