vr-shopxo-plugin/shopxo/app/plugins/vr_ticket/install.sql

90 lines
5.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

CREATE TABLE IF NOT EXISTS `{{prefix}}vr_seat_templates` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '模板ID',
`name` VARCHAR(180) NOT NULL COMMENT '模板名称',
`category_id` BIGINT UNSIGNED NOT NULL COMMENT '绑定的分类ID',
`seat_map` LONGTEXT NOT NULL COMMENT '座位地图JSON',
`spec_base_id_map` LONGTEXT DEFAULT NULL COMMENT '座位ID→spec_base_id映射',
`status` TINYINT UNSIGNED DEFAULT 1 COMMENT '状态0禁用 1启用',
`add_time` INT UNSIGNED DEFAULT 0 COMMENT '创建时间',
`upd_time` INT UNSIGNED DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_category_id` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='VR票务座位模板';
CREATE TABLE IF NOT EXISTS `{{prefix}}vr_tickets` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '票ID',
`order_id` BIGINT UNSIGNED NOT NULL COMMENT '订单ID',
`order_no` CHAR(60) NOT NULL COMMENT '订单号',
`goods_id` BIGINT UNSIGNED NOT NULL COMMENT '商品ID',
`goods_snapshot` TEXT DEFAULT NULL COMMENT '商品快照JSON',
`user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID',
`ticket_code` CHAR(36) NOT NULL COMMENT 'UUID票码',
`short_code` VARCHAR(16) DEFAULT NULL COMMENT '短码Feistel混淆',
`qr_payload` TEXT DEFAULT NULL COMMENT 'QR签名payloadBase64',
`seat_info` VARCHAR(255) DEFAULT NULL COMMENT '座位信息',
`spec_base_id` BIGINT UNSIGNED DEFAULT 0 COMMENT 'spec_base_id',
`real_name` VARCHAR(60) DEFAULT NULL COMMENT '观演人姓名',
`phone` CHAR(15) DEFAULT NULL COMMENT '观演人手机',
`id_card` CHAR(18) DEFAULT NULL COMMENT '观演人身份证',
`verify_status` TINYINT UNSIGNED DEFAULT 0 COMMENT '核销状态',
`verify_time` INT UNSIGNED DEFAULT 0 COMMENT '核销时间',
`verifier_id` BIGINT UNSIGNED DEFAULT 0 COMMENT '核销员ID',
`issued_at` INT UNSIGNED DEFAULT 0 COMMENT '票发放时间',
`created_at` INT UNSIGNED DEFAULT 0 COMMENT '创建时间',
`updated_at` INT UNSIGNED DEFAULT 0 COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_ticket_code` (`ticket_code`),
UNIQUE KEY `uk_short_code` (`short_code`),
KEY `idx_order_id` (`order_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_goods_id` (`goods_id`),
KEY `idx_verify_status` (`verify_status`),
KEY `idx_created_at` (`created_at`),
KEY `idx_spec_base_id` (`spec_base_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='VR票务电子票';
CREATE TABLE IF NOT EXISTS `{{prefix}}vr_verifiers` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '核销员ID',
`user_id` BIGINT UNSIGNED NOT NULL COMMENT 'ShopXO用户ID',
`name` VARCHAR(60) NOT NULL COMMENT '核销员名称',
`status` TINYINT UNSIGNED DEFAULT 1 COMMENT '状态',
`created_at` INT UNSIGNED DEFAULT 0 COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='VR票务核销员';
CREATE TABLE IF NOT EXISTS `{{prefix}}vr_verifications` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`ticket_id` BIGINT UNSIGNED NOT NULL COMMENT '票ID',
`ticket_code` CHAR(36) NOT NULL COMMENT '票码',
`verifier_id` BIGINT UNSIGNED NOT NULL COMMENT '核销员ID',
`verifier_name` VARCHAR(60) DEFAULT NULL COMMENT '核销员名称',
`goods_id` BIGINT UNSIGNED DEFAULT 0 COMMENT '商品ID',
`created_at` INT UNSIGNED DEFAULT 0 COMMENT '核销时间',
PRIMARY KEY (`id`),
KEY `idx_ticket_id` (`ticket_id`),
KEY `idx_verifier_id` (`verifier_id`),
KEY `idx_verified_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='VR票务核销记录';
CREATE TABLE IF NOT EXISTS `{{prefix}}vr_audit_log` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '日志ID',
`action` VARCHAR(60) NOT NULL COMMENT '操作类型',
`operator_id` BIGINT UNSIGNED DEFAULT 0 COMMENT '操作用户ID',
`operator_name` VARCHAR(90) DEFAULT NULL COMMENT '操作用户名',
`target_type` VARCHAR(60) DEFAULT NULL COMMENT '对象类型',
`target_id` BIGINT UNSIGNED DEFAULT 0 COMMENT '对象ID',
`target_desc` VARCHAR(255) DEFAULT NULL COMMENT '对象描述',
`client_ip` VARCHAR(45) DEFAULT NULL COMMENT '客户端IP',
`user_agent` VARCHAR(512) DEFAULT NULL COMMENT 'User-Agent',
`request_id` VARCHAR(64) DEFAULT NULL COMMENT '请求追踪ID',
`extra` LONGTEXT DEFAULT NULL COMMENT '附加数据JSON',
`created_at` INT UNSIGNED DEFAULT 0 COMMENT '操作时间',
PRIMARY KEY (`id`),
KEY `idx_action` (`action`),
KEY `idx_operator_id` (`operator_id`),
KEY `idx_target` (`target_type`, `target_id`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='VR票务审计日志';