Files
wucaixing-backend/sql/alter_hot_hour_tables_20260511.sql
2026-05-13 16:14:53 +08:00

42 lines
3.0 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- hot_hour 相关表结构升级2026-05-11
-- 目的:
-- 1) 支持总部配置学时套餐(原价、活动价、套餐说明、课时时长、适用类型)
-- 2) 支持企业端/移动端通过企业钱包或个人钱包购买并记录钱包流水关联
-- 3) 支持课时扣减链路(总/已用/剩余、使用时间、扣减前后值、并发控制)
ALTER TABLE `hot_hour_package`
ADD COLUMN `origin_price` DECIMAL(18, 2) NULL COMMENT '原价格(元)' AFTER `hour_count`,
ADD COLUMN `package_price` DECIMAL(18, 2) NULL COMMENT '套餐价格(元)' AFTER `origin_price`,
ADD COLUMN `valid_start_time` DATETIME NULL COMMENT '活动有效开始时间' AFTER `unit_price`,
ADD COLUMN `valid_end_time` DATETIME NULL COMMENT '活动有效结束时间' AFTER `valid_start_time`,
ADD COLUMN `applicable_types` VARCHAR(255) NULL COMMENT '适用类型(多选),逗号拼接' AFTER `valid_end_time`,
ADD COLUMN `package_desc` VARCHAR(500) NULL COMMENT '套餐说明' AFTER `applicable_types`;
ALTER TABLE `hot_hour_package_purchase`
ADD COLUMN `origin_price` DECIMAL(18, 2) NULL COMMENT '原价格(元)' AFTER `hour_count`,
ADD COLUMN `package_price` DECIMAL(18, 2) NULL COMMENT '套餐价格(元)' AFTER `origin_price`,
ADD COLUMN `total_hours` INT NULL COMMENT '总课时数' AFTER `quantity`,
ADD COLUMN `wallet_type` TINYINT NULL COMMENT '钱包类型1=个人钱包 2=企业钱包' AFTER `pay_method`,
ADD COLUMN `wallet_id` BIGINT UNSIGNED NULL COMMENT '钱包ID' AFTER `wallet_type`,
ADD COLUMN `wallet_transaction_id` BIGINT UNSIGNED NULL COMMENT '钱包流水ID' AFTER `wallet_id`,
ADD COLUMN `wallet_transaction_no` VARCHAR(64) NULL COMMENT '钱包流水号' AFTER `wallet_transaction_id`,
ADD COLUMN `package_snapshot` TEXT NULL COMMENT '套餐快照JSON' AFTER `pay_time`,
ADD KEY `idx_wallet_id` (`wallet_id`),
ADD KEY `idx_wallet_transaction_id` (`wallet_transaction_id`);
ALTER TABLE `hot_hour_purchase_detail`
ADD COLUMN `purchase_id` BIGINT UNSIGNED NULL COMMENT '学时套餐购买记录ID' AFTER `buyer_company_name`,
ADD COLUMN `total_hours` INT NULL COMMENT '总课时数' AFTER `purchase_count`,
ADD COLUMN `wallet_type` TINYINT NULL COMMENT '钱包类型1=个人钱包 2=企业钱包' AFTER `remaining_hours`,
ADD COLUMN `wallet_id` BIGINT UNSIGNED NULL COMMENT '钱包ID' AFTER `wallet_type`,
ADD COLUMN `version` INT NULL DEFAULT 0 COMMENT '乐观锁版本号' AFTER `wallet_id`,
ADD KEY `idx_purchase_id` (`purchase_id`),
ADD KEY `idx_wallet_id` (`wallet_id`);
ALTER TABLE `hot_hour_usage_detail`
ADD COLUMN `operator_id` BIGINT UNSIGNED NULL COMMENT '操作人ID' AFTER `user_name`,
ADD COLUMN `operator_name` VARCHAR(64) NULL COMMENT '操作人' AFTER `operator_id`,
ADD COLUMN `before_remaining_hours` INT NULL COMMENT '扣减前剩余学时' AFTER `used_hours`,
ADD COLUMN `after_remaining_hours` INT NULL COMMENT '扣减后剩余学时' AFTER `before_remaining_hours`,
ADD KEY `idx_operator_id` (`operator_id`);