mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-28 06:06:40 +08:00
589 lines
15 KiB
SQL
589 lines
15 KiB
SQL
-- =============================================
|
||
-- PMS系统配置管理模块建表语句 (修复版)
|
||
-- 版本: v1.1 (修复MySQL 8.0+兼容性问题)
|
||
-- 创建日期: 2024-12-19
|
||
-- 说明: 包含租户配置、小程序配置、用户设备管理等表
|
||
-- =============================================
|
||
-- 设置字符集
|
||
SET NAMES utf8mb4;
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
-- =============================================
|
||
-- 1. 租户/门店配置表
|
||
-- =============================================
|
||
DROP TABLE IF EXISTS `pms_tenant_settings`;
|
||
CREATE TABLE `pms_tenant_settings` (
|
||
`setting_id` bigint NOT NULL AUTO_INCREMENT COMMENT '设置唯一ID',
|
||
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID,关联 sys_tenant.tenant_id',
|
||
`dept_id` bigint DEFAULT NULL COMMENT '部门ID,NULL=租户级配置,非NULL=门店级配置,关联 sys_dept.dept_id',
|
||
`setting_group` varchar(50) NOT NULL COMMENT '设置分组',
|
||
`setting_key` varchar(100) NOT NULL COMMENT '设置键名',
|
||
`setting_value` text COMMENT '设置值',
|
||
`value_type` varchar(20) NOT NULL DEFAULT 'string' COMMENT '值类型:string/integer/boolean/json/decimal',
|
||
`description` varchar(500) DEFAULT NULL COMMENT '设置描述',
|
||
`is_sensitive` tinyint NOT NULL DEFAULT '0' COMMENT '是否敏感设置:0=否,1=是',
|
||
`is_system` tinyint NOT NULL DEFAULT '0' COMMENT '是否系统预设:0=否,1=是',
|
||
`sort_order` int DEFAULT '0' COMMENT '排序值',
|
||
`status` varchar(20) NOT NULL DEFAULT 'active' COMMENT '状态:active=启用,inactive=禁用',
|
||
`create_dept` bigint DEFAULT NULL COMMENT '创建部门ID,关联 sys_dept.dept_id',
|
||
`create_by` bigint DEFAULT NULL COMMENT '创建者,关联 sys_user.user_id',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` bigint DEFAULT NULL COMMENT '更新者,关联 sys_user.user_id',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志:0=存在,1=删除',
|
||
PRIMARY KEY (`setting_id`),
|
||
UNIQUE KEY `unq_pms_ts_tenant_dept_group_key` (
|
||
`tenant_id`,
|
||
`dept_id`,
|
||
`setting_group`,
|
||
`setting_key`,
|
||
`del_flag`
|
||
),
|
||
KEY `idx_pms_ts_tenant_dept_group` (`tenant_id`, `dept_id`, `setting_group`),
|
||
KEY `idx_pms_ts_tenant_dept_status` (`tenant_id`, `dept_id`, `status`),
|
||
KEY `idx_pms_ts_group_key` (`setting_group`, `setting_key`)
|
||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '租户/门店配置表';
|
||
-- =============================================
|
||
-- 2. 小程序配置表
|
||
-- =============================================
|
||
DROP TABLE IF EXISTS `pms_mp_settings`;
|
||
CREATE TABLE `pms_mp_settings` (
|
||
`setting_id` bigint NOT NULL AUTO_INCREMENT COMMENT '小程序设置唯一ID',
|
||
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID,关联 sys_tenant.tenant_id',
|
||
`dept_id` bigint DEFAULT NULL COMMENT '部门ID,NULL=租户级配置,非NULL=门店级配置,关联 sys_dept.dept_id',
|
||
`setting_key` varchar(100) NOT NULL COMMENT '设置键名',
|
||
`setting_value` text COMMENT '设置值',
|
||
`value_type` varchar(20) NOT NULL DEFAULT 'string' COMMENT '值类型:string/integer/boolean/json/decimal',
|
||
`description` varchar(500) DEFAULT NULL COMMENT '设置描述',
|
||
`is_sensitive` tinyint NOT NULL DEFAULT '0' COMMENT '是否敏感设置:0=否,1=是',
|
||
`category` varchar(50) DEFAULT NULL COMMENT '配置分类:theme/payment/notification/function/security',
|
||
`sort_order` int DEFAULT '0' COMMENT '排序值',
|
||
`status` varchar(20) NOT NULL DEFAULT 'active' COMMENT '状态:active=启用,inactive=禁用',
|
||
`create_dept` bigint DEFAULT NULL COMMENT '创建部门ID,关联 sys_dept.dept_id',
|
||
`create_by` bigint DEFAULT NULL COMMENT '创建者,关联 sys_user.user_id',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` bigint DEFAULT NULL COMMENT '更新者,关联 sys_user.user_id',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志:0=存在,1=删除',
|
||
PRIMARY KEY (`setting_id`),
|
||
UNIQUE KEY `unq_pms_mps_tenant_dept_key` (
|
||
`tenant_id`,
|
||
`dept_id`,
|
||
`setting_key`,
|
||
`del_flag`
|
||
),
|
||
KEY `idx_pms_mps_tenant_dept_category` (`tenant_id`, `dept_id`, `category`),
|
||
KEY `idx_pms_mps_tenant_dept_status` (`tenant_id`, `dept_id`, `status`),
|
||
KEY `idx_pms_mps_category_key` (`category`, `setting_key`)
|
||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '小程序配置表';
|
||
-- =============================================
|
||
-- 3. 用户设备表
|
||
-- =============================================
|
||
DROP TABLE IF EXISTS `pms_tenant_user_devices`;
|
||
CREATE TABLE `pms_tenant_user_devices` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '设备记录唯一ID',
|
||
`tenant_id` varchar(20) NOT NULL COMMENT '租户ID,关联 sys_tenant.tenant_id',
|
||
`user_id` bigint NOT NULL COMMENT '用户ID,关联 sys_user.user_id',
|
||
`device_type` varchar(20) NOT NULL COMMENT '设备类型:iOS/Android/Web/MiniProgram',
|
||
`device_token` varchar(255) DEFAULT NULL COMMENT '设备令牌,用于推送',
|
||
`device_id` varchar(100) DEFAULT NULL COMMENT '设备唯一标识',
|
||
`device_name` varchar(100) DEFAULT NULL COMMENT '设备名称',
|
||
`app_version` varchar(20) DEFAULT NULL COMMENT '应用版本',
|
||
`os_version` varchar(20) DEFAULT NULL COMMENT '操作系统版本',
|
||
`last_login_at` datetime DEFAULT NULL COMMENT '最后登录时间',
|
||
`last_active_at` datetime DEFAULT NULL COMMENT '最后活跃时间',
|
||
`ip_address` varchar(50) DEFAULT NULL COMMENT '最后登录IP地址',
|
||
`location` varchar(200) DEFAULT NULL COMMENT '最后登录位置',
|
||
`status` varchar(20) NOT NULL DEFAULT 'active' COMMENT '状态:active=活跃,inactive=不活跃,expired=已过期,blocked=已阻止',
|
||
`push_enabled` tinyint NOT NULL DEFAULT '1' COMMENT '是否启用推送:0=否,1=是',
|
||
`login_count` int NOT NULL DEFAULT '0' COMMENT '登录次数',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `unq_pms_tud_tenant_user_device_id` (`tenant_id`, `user_id`, `device_id`),
|
||
KEY `idx_pms_tud_tenant_user_device` (`tenant_id`, `user_id`, `device_type`),
|
||
KEY `idx_pms_tud_tenant_user_status` (`tenant_id`, `user_id`, `status`),
|
||
KEY `idx_pms_tud_device_token` (`device_token`),
|
||
KEY `idx_pms_tud_last_login` (`last_login_at`),
|
||
KEY `idx_pms_tud_status` (`status`)
|
||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '用户设备表';
|
||
-- =============================================
|
||
-- 4. 初始化租户配置数据
|
||
-- =============================================
|
||
INSERT INTO `pms_tenant_settings` (
|
||
`tenant_id`,
|
||
`dept_id`,
|
||
`setting_group`,
|
||
`setting_key`,
|
||
`setting_value`,
|
||
`value_type`,
|
||
`description`,
|
||
`is_system`,
|
||
`sort_order`,
|
||
`status`,
|
||
`create_time`
|
||
)
|
||
VALUES -- 预订规则配置
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'booking_rules',
|
||
'max_advance_booking_days',
|
||
'365',
|
||
'integer',
|
||
'最大提前预订天数',
|
||
1,
|
||
1,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'booking_rules',
|
||
'min_advance_booking_hours',
|
||
'2',
|
||
'integer',
|
||
'最小提前预订小时数',
|
||
1,
|
||
2,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'booking_rules',
|
||
'allow_same_day_booking',
|
||
'true',
|
||
'boolean',
|
||
'允许当日预订',
|
||
1,
|
||
3,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'booking_rules',
|
||
'auto_confirm_booking',
|
||
'false',
|
||
'boolean',
|
||
'自动确认预订',
|
||
1,
|
||
4,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'booking_rules',
|
||
'max_stay_days',
|
||
'30',
|
||
'integer',
|
||
'最大入住天数',
|
||
1,
|
||
5,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'booking_rules',
|
||
'min_stay_days',
|
||
'1',
|
||
'integer',
|
||
'最小入住天数',
|
||
1,
|
||
6,
|
||
'active',
|
||
NOW()
|
||
),
|
||
-- 财务参数配置
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'finance_params',
|
||
'default_currency',
|
||
'CNY',
|
||
'string',
|
||
'默认货币',
|
||
1,
|
||
1,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'finance_params',
|
||
'tax_rate',
|
||
'0.06',
|
||
'decimal',
|
||
'税率',
|
||
1,
|
||
2,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'finance_params',
|
||
'deposit_percentage',
|
||
'0.30',
|
||
'decimal',
|
||
'押金比例',
|
||
1,
|
||
3,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'finance_params',
|
||
'cancellation_fee_rate',
|
||
'0.10',
|
||
'decimal',
|
||
'取消费率',
|
||
1,
|
||
4,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'finance_params',
|
||
'late_checkout_fee',
|
||
'50.00',
|
||
'decimal',
|
||
'延迟退房费用',
|
||
1,
|
||
5,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'finance_params',
|
||
'early_checkin_fee',
|
||
'30.00',
|
||
'decimal',
|
||
'提前入住费用',
|
||
1,
|
||
6,
|
||
'active',
|
||
NOW()
|
||
),
|
||
-- 界面外观配置
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'ui_appearance',
|
||
'theme_color',
|
||
'#409EFF',
|
||
'string',
|
||
'主题色',
|
||
1,
|
||
1,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'ui_appearance',
|
||
'logo_url',
|
||
'/images/logo.png',
|
||
'string',
|
||
'品牌标识',
|
||
1,
|
||
2,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'ui_appearance',
|
||
'welcome_message',
|
||
'欢迎入住',
|
||
'string',
|
||
'欢迎语',
|
||
1,
|
||
3,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'ui_appearance',
|
||
'footer_text',
|
||
'云宿居PMS系统',
|
||
'string',
|
||
'页脚文本',
|
||
1,
|
||
4,
|
||
'active',
|
||
NOW()
|
||
),
|
||
-- 业务流程配置
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'business_process',
|
||
'auto_room_assignment',
|
||
'false',
|
||
'boolean',
|
||
'自动分配房间',
|
||
1,
|
||
1,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'business_process',
|
||
'require_id_verification',
|
||
'true',
|
||
'boolean',
|
||
'要求身份验证',
|
||
1,
|
||
2,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'business_process',
|
||
'auto_send_confirmation',
|
||
'true',
|
||
'boolean',
|
||
'自动发送确认信息',
|
||
1,
|
||
3,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'business_process',
|
||
'enable_guest_review',
|
||
'true',
|
||
'boolean',
|
||
'启用客人评价',
|
||
1,
|
||
4,
|
||
'active',
|
||
NOW()
|
||
);
|
||
-- =============================================
|
||
-- 5. 初始化小程序配置数据
|
||
-- =============================================
|
||
INSERT INTO `pms_mp_settings` (
|
||
`tenant_id`,
|
||
`dept_id`,
|
||
`setting_key`,
|
||
`setting_value`,
|
||
`value_type`,
|
||
`description`,
|
||
`category`,
|
||
`sort_order`,
|
||
`status`,
|
||
`create_time`
|
||
)
|
||
VALUES -- 主题配置
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'theme_primary_color',
|
||
'#409EFF',
|
||
'string',
|
||
'主题主色调',
|
||
'theme',
|
||
1,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'theme_secondary_color',
|
||
'#67C23A',
|
||
'string',
|
||
'主题辅助色',
|
||
'theme',
|
||
2,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'app_name',
|
||
'云宿居',
|
||
'string',
|
||
'小程序名称',
|
||
'theme',
|
||
3,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'app_logo',
|
||
'/images/mp-logo.png',
|
||
'string',
|
||
'小程序图标',
|
||
'theme',
|
||
4,
|
||
'active',
|
||
NOW()
|
||
),
|
||
-- 功能开关
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'enable_online_booking',
|
||
'true',
|
||
'boolean',
|
||
'启用在线预订',
|
||
'function',
|
||
1,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'enable_online_payment',
|
||
'true',
|
||
'boolean',
|
||
'启用在线支付',
|
||
'function',
|
||
2,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'enable_guest_services',
|
||
'true',
|
||
'boolean',
|
||
'启用客房服务',
|
||
'function',
|
||
3,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'enable_feedback',
|
||
'true',
|
||
'boolean',
|
||
'启用意见反馈',
|
||
'function',
|
||
4,
|
||
'active',
|
||
NOW()
|
||
),
|
||
-- 支付配置
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'wechat_pay_enabled',
|
||
'true',
|
||
'boolean',
|
||
'启用微信支付',
|
||
'payment',
|
||
1,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'alipay_enabled',
|
||
'false',
|
||
'boolean',
|
||
'启用支付宝支付',
|
||
'payment',
|
||
2,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'payment_timeout_minutes',
|
||
'30',
|
||
'integer',
|
||
'支付超时时间(分钟)',
|
||
'payment',
|
||
3,
|
||
'active',
|
||
NOW()
|
||
),
|
||
-- 通知配置
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'enable_booking_notification',
|
||
'true',
|
||
'boolean',
|
||
'启用预订通知',
|
||
'notification',
|
||
1,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'enable_checkin_reminder',
|
||
'true',
|
||
'boolean',
|
||
'启用入住提醒',
|
||
'notification',
|
||
2,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'enable_checkout_reminder',
|
||
'true',
|
||
'boolean',
|
||
'启用退房提醒',
|
||
'notification',
|
||
3,
|
||
'active',
|
||
NOW()
|
||
),
|
||
(
|
||
'000000',
|
||
NULL,
|
||
'notification_advance_hours',
|
||
'2',
|
||
'integer',
|
||
'通知提前小时数',
|
||
'notification',
|
||
4,
|
||
'active',
|
||
NOW()
|
||
);
|
||
-- 恢复外键检查
|
||
SET FOREIGN_KEY_CHECKS = 1; |