From 52839e17cccc1a1e4ae042dae754c408d8858ad4 Mon Sep 17 00:00:00 2001 From: liwq <122639653@qq.com> Date: Wed, 27 Aug 2025 10:04:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E4=B8=8E=E6=94=AF=E4=BB=98sq?= =?UTF-8?q?l?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/mysql/member.sql | 51 +++++++++++ sql/mysql/pay.sql | 211 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 262 insertions(+) create mode 100644 sql/mysql/member.sql create mode 100644 sql/mysql/pay.sql diff --git a/sql/mysql/member.sql b/sql/mysql/member.sql new file mode 100644 index 0000000..873a6f6 --- /dev/null +++ b/sql/mysql/member.sql @@ -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='用户收件地址表'; \ No newline at end of file diff --git a/sql/mysql/pay.sql b/sql/mysql/pay.sql new file mode 100644 index 0000000..d3d093e --- /dev/null +++ b/sql/mysql/pay.sql @@ -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='转账单表'; \ No newline at end of file