100 行
6.0 KiB
SQL
100 行
6.0 KiB
SQL
-- ============================================================================
|
|
-- 优匠优服 · Phase 13 师傅技能与分类管理规范体系
|
|
-- 1. 创建师傅技能分类表 fa_skill_category
|
|
-- 2. 创建师傅技能列表表 fa_skill_dict
|
|
-- 3. 扩充师傅技能关联表 fa_master_skill (支持技能名、分类与自定义来源)
|
|
-- 4. 规范后台【师傅管理】子菜单:
|
|
-- - 师傅列表 (master): 内置师傅技能查看与弹窗配置
|
|
-- - 技能分类 (skill_category): 技能大类管理
|
|
-- - 技能列表 (skill_dict): 技能明细与师傅自定义技能管理
|
|
-- ============================================================================
|
|
SET NAMES utf8mb4;
|
|
|
|
-- 1. 创建师傅技能分类表
|
|
CREATE TABLE IF NOT EXISTS `fa_skill_category` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '分类名称',
|
|
`icon` varchar(255) NOT NULL DEFAULT '' COMMENT '分类图标',
|
|
`weigh` int(11) NOT NULL DEFAULT '0' COMMENT '权重',
|
|
`status` enum('normal','hidden') NOT NULL DEFAULT 'normal' COMMENT '状态',
|
|
`createtime` bigint(16) DEFAULT NULL COMMENT '创建时间',
|
|
`updatetime` bigint(16) DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `name` (`name`),
|
|
KEY `weigh` (`weigh`),
|
|
KEY `status` (`status`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='师傅技能分类表';
|
|
|
|
-- 2. 创建师傅技能列表表
|
|
CREATE TABLE IF NOT EXISTS `fa_skill_dict` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
`category_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '技能分类ID',
|
|
`category` varchar(50) NOT NULL DEFAULT '' COMMENT '技能大类',
|
|
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '技能名称',
|
|
`source` enum('system','custom') NOT NULL DEFAULT 'system' COMMENT '来源:system=系统预置,custom=师傅自定义',
|
|
`master_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '自定义师傅ID',
|
|
`weigh` int(11) NOT NULL DEFAULT '0' COMMENT '权重',
|
|
`status` enum('normal','hidden') NOT NULL DEFAULT 'normal' COMMENT '状态',
|
|
`createtime` bigint(16) DEFAULT NULL COMMENT '创建时间',
|
|
`updatetime` bigint(16) DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (`id`),
|
|
KEY `category_id` (`category_id`),
|
|
KEY `category` (`category`),
|
|
KEY `source` (`source`),
|
|
KEY `status` (`status`),
|
|
KEY `weigh` (`weigh`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='师傅技能字典表';
|
|
|
|
-- 3. 扩充师傅技能关联表
|
|
ALTER TABLE `fa_master_skill`
|
|
ADD COLUMN IF NOT EXISTS `skill_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '技能字典ID' AFTER `cat_id`,
|
|
ADD COLUMN IF NOT EXISTS `skill_name` varchar(50) NOT NULL DEFAULT '' COMMENT '技能名称' AFTER `skill_id`,
|
|
ADD COLUMN IF NOT EXISTS `category` varchar(50) NOT NULL DEFAULT '' COMMENT '所属大类' AFTER `skill_name`,
|
|
ADD COLUMN IF NOT EXISTS `is_custom` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否自定义添加:0=字典选择,1=自定义输入' AFTER `category`;
|
|
|
|
-- 4. 调整师傅列表菜单
|
|
UPDATE `fa_auth_rule` SET `title` = '师傅列表', `weigh` = 175 WHERE `name` = 'master';
|
|
|
|
-- 隐藏原单独的师傅技能菜单(已全面合并进师傅列表)
|
|
UPDATE `fa_auth_rule` SET `ismenu` = 0 WHERE `name` = 'master_skill';
|
|
|
|
-- 5. 注册【技能分类 (skill_category)】菜单
|
|
INSERT INTO `fa_auth_rule` (`type`, `pid`, `name`, `title`, `icon`, `condition`, `remark`, `ismenu`, `createtime`, `updatetime`, `weigh`, `status`)
|
|
SELECT 'file', p.id, 'skill_category', '技能分类', 'fa fa-th-large', '', '师傅服务技能大类管理', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 173, 'normal'
|
|
FROM `fa_auth_rule` p
|
|
WHERE p.name = 'master_manage'
|
|
AND NOT EXISTS (SELECT `id` FROM `fa_auth_rule` WHERE `name` = 'skill_category');
|
|
|
|
INSERT INTO `fa_auth_rule` (`type`, `pid`, `name`, `title`, `icon`, `condition`, `remark`, `ismenu`, `createtime`, `updatetime`, `weigh`, `status`)
|
|
SELECT 'file', p.id, 'skill_category/index', '查看', 'fa fa-circle-o', '', '', 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 'normal'
|
|
FROM `fa_auth_rule` p
|
|
WHERE p.name = 'skill_category'
|
|
AND NOT EXISTS (SELECT `id` FROM `fa_auth_rule` WHERE `name` = 'skill_category/index');
|
|
|
|
INSERT INTO `fa_auth_rule` (`type`, `pid`, `name`, `title`, `icon`, `condition`, `remark`, `ismenu`, `createtime`, `updatetime`, `weigh`, `status`)
|
|
SELECT 'file', p.id, 'skill_category/add', '添加', 'fa fa-circle-o', '', '', 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 'normal'
|
|
FROM `fa_auth_rule` p
|
|
WHERE p.name = 'skill_category'
|
|
AND NOT EXISTS (SELECT `id` FROM `fa_auth_rule` WHERE `name` = 'skill_category/add');
|
|
|
|
INSERT INTO `fa_auth_rule` (`type`, `pid`, `name`, `title`, `icon`, `condition`, `remark`, `ismenu`, `createtime`, `updatetime`, `weigh`, `status`)
|
|
SELECT 'file', p.id, 'skill_category/edit', '编辑', 'fa fa-circle-o', '', '', 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 'normal'
|
|
FROM `fa_auth_rule` p
|
|
WHERE p.name = 'skill_category'
|
|
AND NOT EXISTS (SELECT `id` FROM `fa_auth_rule` WHERE `name` = 'skill_category/edit');
|
|
|
|
INSERT INTO `fa_auth_rule` (`type`, `pid`, `name`, `title`, `icon`, `condition`, `remark`, `ismenu`, `createtime`, `updatetime`, `weigh`, `status`)
|
|
SELECT 'file', p.id, 'skill_category/del', '删除', 'fa fa-circle-o', '', '', 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 'normal'
|
|
FROM `fa_auth_rule` p
|
|
WHERE p.name = 'skill_category'
|
|
AND NOT EXISTS (SELECT `id` FROM `fa_auth_rule` WHERE `name` = 'skill_category/del');
|
|
|
|
INSERT INTO `fa_auth_rule` (`type`, `pid`, `name`, `title`, `icon`, `condition`, `remark`, `ismenu`, `createtime`, `updatetime`, `weigh`, `status`)
|
|
SELECT 'file', p.id, 'skill_category/multi', '批量更新', 'fa fa-circle-o', '', '', 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 'normal'
|
|
FROM `fa_auth_rule` p
|
|
WHERE p.name = 'skill_category'
|
|
AND NOT EXISTS (SELECT `id` FROM `fa_auth_rule` WHERE `name` = 'skill_category/multi');
|
|
|
|
-- 6. 注册/更新【技能列表 (skill_dict)】菜单
|
|
UPDATE `fa_auth_rule` SET `title` = '技能列表', `icon` = 'fa fa-tags', `weigh` = 172 WHERE `name` = 'skill_dict';
|