-- 变更:新增 APP 下载引导配置、宣传图和二维码短链表。 -- 目标数据库:playpai_other CREATE TABLE `t_app_guide_config` ( `id` bigint(20) NOT NULL COMMENT '主键ID(雪花算法生成)', `appName` varchar(64) NOT NULL DEFAULT '玩湃生活' COMMENT 'APP 名称', `appScheme` varchar(128) NOT NULL DEFAULT 'playpai' COMMENT 'APP 自定义 Scheme', `androidPackage` varchar(128) DEFAULT NULL COMMENT 'Android 应用包名', `iosStoreUrl` varchar(512) DEFAULT NULL COMMENT 'iOS App Store 地址', `androidDefaultUrl` varchar(512) DEFAULT NULL COMMENT 'Android 默认应用市场地址', `androidMarketUrls` text COMMENT 'Android 品牌应用市场地址 JSON', `apkUrl` varchar(512) DEFAULT NULL COMMENT 'APK 下载地址', `guideDomain` varchar(255) DEFAULT NULL COMMENT '二维码引导域名', `enabled` tinyint(4) NOT NULL DEFAULT 1 COMMENT '启用状态 0-停用 1-启用', `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `isDeleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 0-正常 1-删除', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='APP下载引导配置'; CREATE TABLE `t_app_guide_banner` ( `id` bigint(20) NOT NULL COMMENT '主键ID(雪花算法生成)', `imageUrl` varchar(512) NOT NULL COMMENT '宣传图地址', `title` varchar(100) DEFAULT NULL COMMENT '宣传图标题', `sort` int(11) NOT NULL DEFAULT 0 COMMENT '展示排序', `enabled` tinyint(4) NOT NULL DEFAULT 1 COMMENT '启用状态 0-停用 1-启用', `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `isDeleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 0-正常 1-删除', PRIMARY KEY (`id`), KEY `idx_enabled_sort` (`enabled`,`sort`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='APP下载引导宣传图'; CREATE TABLE `t_qr_link` ( `id` bigint(20) NOT NULL COMMENT '主键ID(雪花算法生成)', `shortCode` varchar(32) NOT NULL COMMENT '二维码短码', `type` varchar(32) NOT NULL COMMENT '二维码类型 SITE_BOOKING/BOOKING_ENTRY', `storeId` int(11) DEFAULT NULL COMMENT '关联门店ID', `siteId` int(11) DEFAULT NULL COMMENT '关联场地ID', `bookingId` int(11) DEFAULT NULL COMMENT '关联预约订单ID', `name` varchar(100) DEFAULT NULL COMMENT '二维码名称', `channel` varchar(64) DEFAULT NULL COMMENT '投放渠道', `expiresAt` datetime DEFAULT NULL COMMENT '失效时间', `enabled` tinyint(4) NOT NULL DEFAULT 1 COMMENT '启用状态 0-停用 1-启用', `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `isDeleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 0-正常 1-删除', PRIMARY KEY (`id`), UNIQUE KEY `uk_short_code` (`shortCode`), KEY `idx_site_type` (`siteId`,`type`), KEY `idx_booking_type` (`bookingId`,`type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='二维码短链接'; -- 管理后台菜单:系统管理 → APP下载引导。仅授予超级管理员;其他角色请通过后台“角色管理”按需授权。 INSERT INTO `sys_menu` (`code`, `pcode`, `pcodes`, `name`, `icon`, `url`, `num`, `levels`, `ismenu`, `tips`, `status`, `isopen`) SELECT 'appGuide', 'system', '[0],[system],', 'APP下载引导', 'fa-qrcode', '/appGuide', 999, 2, 1, '下载配置、宣传图与场地订场二维码', 1, 1 WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `code` = 'appGuide'); INSERT INTO `sys_relation` (`menuid`, `roleid`) SELECT m.id, 1 FROM `sys_menu` m WHERE m.code = 'appGuide' AND NOT EXISTS (SELECT 1 FROM `sys_relation` r WHERE r.menuid = m.id AND r.roleid = 1); -- 回滚(确认无线上数据后执行) -- DELETE r FROM `sys_relation` r INNER JOIN `sys_menu` m ON r.menuid = m.id WHERE m.code = 'appGuide'; -- DELETE FROM `sys_menu` WHERE `code` = 'appGuide'; -- DROP TABLE IF EXISTS `t_qr_link`; -- DROP TABLE IF EXISTS `t_app_guide_banner`; -- DROP TABLE IF EXISTS `t_app_guide_config`;