This commit is contained in:
2026-01-12 16:43:08 +08:00
parent dc747139c9
commit 3c6e2683f5
110 changed files with 9630 additions and 481 deletions

View File

@@ -0,0 +1,70 @@
-- ============================================
-- 白名单订单表 - 创建表
-- ============================================
-- 说明:创建 whitelist_order 和 whitelist_order_item 表,用于白名单订单管理
-- 执行时间2024-XX-XX
-- ============================================
-- 1. 创建白名单订单表
CREATE TABLE `whitelist_order` (
`id` CHAR(36) NOT NULL COMMENT 'UUID主键',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`del_state` tinyint NOT NULL DEFAULT '0' COMMENT '删除状态0=未删除1=已删除',
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号(乐观锁)',
/* 业务字段 */
`order_no` varchar(50) NOT NULL COMMENT '订单号(唯一)',
`user_id` CHAR(36) NOT NULL COMMENT '用户ID代理的user_id',
`id_card` varchar(50) NOT NULL COMMENT '身份证号(查询对象标识)',
`total_amount` decimal(10,2) NOT NULL COMMENT '总金额(单位:元)',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '订单状态1=待支付2=已支付3=已取消',
`payment_method` varchar(20) DEFAULT NULL COMMENT '支付方式wechat, alipay, appleiap等',
`payment_platform` varchar(20) DEFAULT NULL COMMENT '支付平台alipay, wechat, appleiap等',
`platform_order_id` varchar(100) DEFAULT NULL COMMENT '支付平台订单号(第三方平台的订单号)',
`pay_time` datetime DEFAULT NULL COMMENT '支付时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_order_no` (`order_no`) COMMENT '订单号唯一索引',
KEY `idx_user_id` (`user_id`) COMMENT '优化按用户查询',
KEY `idx_id_card` (`id_card`) COMMENT '优化按身份证号查询',
KEY `idx_status` (`status`) COMMENT '优化按状态查询',
KEY `idx_create_time` (`create_time`) COMMENT '优化按创建时间查询',
KEY `idx_platform_order_id` (`platform_order_id`) COMMENT '优化按支付平台订单号查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='白名单订单表';
-- 2. 创建白名单订单明细表
CREATE TABLE `whitelist_order_item` (
`id` CHAR(36) NOT NULL COMMENT 'UUID主键',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
`del_state` tinyint NOT NULL DEFAULT '0' COMMENT '删除状态0=未删除1=已删除',
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号(乐观锁)',
/* 业务字段 */
`order_id` CHAR(36) NOT NULL COMMENT '订单ID关联whitelist_order.id',
`feature_id` CHAR(36) NOT NULL COMMENT 'Feature的UUID',
`feature_api_id` varchar(100) NOT NULL COMMENT 'Feature的API标识冗余',
`feature_name` varchar(200) NOT NULL COMMENT 'Feature的名称冗余',
`price` decimal(10,2) NOT NULL COMMENT '单价(单位:元)',
PRIMARY KEY (`id`),
KEY `idx_order_id` (`order_id`) COMMENT '优化按订单查询',
KEY `idx_feature_id` (`feature_id`) COMMENT '优化按feature查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='白名单订单明细表';
-- ============================================
-- 说明:
-- 1. whitelist_order 记录白名单订单主信息
-- 2. whitelist_order_item 记录订单明细每个feature一条记录
-- - 如果订单只包含一个feature可以考虑去掉明细表将feature信息直接放在主表
-- - 如果订单可能包含多个feature建议保留明细表便于记录每个feature的单价和名称
-- 3. 订单状态1=待支付2=已支付3=已取消
-- 4. 支付成功后,会创建对应的 user_feature_whitelist 记录
-- 5. payment_method: 支付方式wechat, alipay, appleiap等
-- 6. payment_platform: 支付平台alipay, wechat, appleiap等
-- 7. platform_order_id: 支付平台的订单号(第三方平台的订单号)
-- ============================================