fix
This commit is contained in:
70
deploy/sql/whitelist_order_migration.sql
Normal file
70
deploy/sql/whitelist_order_migration.sql
Normal 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: 支付平台的订单号(第三方平台的订单号)
|
||||
-- ============================================
|
||||
Reference in New Issue
Block a user