增加部门
This commit is contained in:
parent
750f446844
commit
32f50ae7e4
@ -5,6 +5,7 @@ import com.qqchen.deploy.backend.framework.api.Response;
|
||||
import com.qqchen.deploy.backend.framework.controller.BaseController;
|
||||
import com.qqchen.deploy.backend.model.MenuDTO;
|
||||
import com.qqchen.deploy.backend.model.query.MenuQuery;
|
||||
import com.qqchen.deploy.backend.model.response.MenuPermissionTreeResponse;
|
||||
import com.qqchen.deploy.backend.model.response.MenuResponse;
|
||||
import com.qqchen.deploy.backend.service.IMenuService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@ -42,6 +43,12 @@ public class MenuApiController extends BaseController<Menu, MenuDTO, Long, MenuQ
|
||||
return Response.success(menuService.getMenuTree());
|
||||
}
|
||||
|
||||
@Operation(summary = "获取菜单树")
|
||||
@GetMapping("/permission-tree")
|
||||
public Response<List<MenuPermissionTreeResponse>> getPermissionTree() {
|
||||
return Response.success(menuService.getPermissionTree());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void exportData(HttpServletResponse response, List<MenuDTO> data) {
|
||||
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
package com.qqchen.deploy.backend.api;
|
||||
|
||||
import com.qqchen.deploy.backend.entity.Permission;
|
||||
import com.qqchen.deploy.backend.framework.controller.BaseController;
|
||||
import com.qqchen.deploy.backend.model.PermissionDTO;
|
||||
import com.qqchen.deploy.backend.model.query.PermissionQuery;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Tag(name = "权限管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/permission")
|
||||
public class PermissionApiController extends BaseController<Permission, PermissionDTO, Long, PermissionQuery> {
|
||||
|
||||
@Override
|
||||
protected void exportData(HttpServletResponse response, List<PermissionDTO> data) {
|
||||
// TODO: 实现导出功能
|
||||
}
|
||||
}
|
||||
@ -3,6 +3,7 @@ package com.qqchen.deploy.backend.converter;
|
||||
import com.qqchen.deploy.backend.entity.Menu;
|
||||
import com.qqchen.deploy.backend.framework.converter.BaseConverter;
|
||||
import com.qqchen.deploy.backend.model.MenuDTO;
|
||||
import com.qqchen.deploy.backend.model.response.MenuPermissionTreeResponse;
|
||||
import com.qqchen.deploy.backend.model.response.MenuResponse;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
@ -22,4 +23,6 @@ public interface MenuConverter extends BaseConverter<Menu, MenuDTO> {
|
||||
MenuResponse toResponse(MenuDTO dto);
|
||||
|
||||
List<MenuResponse> toResponseList(List<MenuDTO> dtoList);
|
||||
|
||||
MenuPermissionTreeResponse toMenuPermissionResponse(Menu menu);
|
||||
}
|
||||
@ -3,8 +3,12 @@ package com.qqchen.deploy.backend.converter;
|
||||
import com.qqchen.deploy.backend.entity.Permission;
|
||||
import com.qqchen.deploy.backend.framework.converter.BaseConverter;
|
||||
import com.qqchen.deploy.backend.model.PermissionDTO;
|
||||
import com.qqchen.deploy.backend.model.response.PermissionResponse;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(config = BaseConverter.class)
|
||||
public interface PermissionConverter extends BaseConverter<Permission, PermissionDTO> {
|
||||
List<PermissionResponse> toResponseList(List<Permission> list);
|
||||
}
|
||||
@ -3,6 +3,9 @@ package com.qqchen.deploy.backend.entity;
|
||||
import com.qqchen.deploy.backend.framework.annotation.LogicDelete;
|
||||
import com.qqchen.deploy.backend.framework.domain.Entity;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.JoinTable;
|
||||
import jakarta.persistence.ManyToMany;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Data;
|
||||
@ -72,9 +75,10 @@ public class Menu extends Entity<Long> {
|
||||
@ManyToMany(mappedBy = "menus")
|
||||
private Set<Role> roles = new HashSet<>();
|
||||
|
||||
/**
|
||||
* 菜单关联的权限模板列表
|
||||
*/
|
||||
@ManyToMany(mappedBy = "menus")
|
||||
private Set<PermissionTemplate> templates = new HashSet<>();
|
||||
@ManyToMany(fetch = FetchType.LAZY)
|
||||
@JoinTable(
|
||||
name = "sys_permission",
|
||||
joinColumns = @JoinColumn(name = "menu_id")
|
||||
)
|
||||
private Set<Permission> permissions = new HashSet<>();
|
||||
}
|
||||
@ -37,6 +37,15 @@ public class Permission extends Entity<Long> {
|
||||
@Column(length = 200)
|
||||
private String description;
|
||||
|
||||
@ManyToMany(mappedBy = "permissions")
|
||||
private Set<Role> roles = new HashSet<>();
|
||||
@ManyToMany(fetch = FetchType.LAZY)
|
||||
@JoinTable(
|
||||
name = "sys_template_menu",
|
||||
joinColumns = @JoinColumn(name = "template_id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "menu_id")
|
||||
)
|
||||
private Set<Menu> menus = new HashSet<>();
|
||||
|
||||
|
||||
// @ManyToMany(mappedBy = "permissions")
|
||||
// private Set<Role> roles = new HashSet<>();
|
||||
}
|
||||
@ -54,5 +54,5 @@ public class Role extends Entity<Long> {
|
||||
joinColumns = @JoinColumn(name = "role_id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "permission_id")
|
||||
)
|
||||
private Set<Permission> permissions;
|
||||
private Set<Permission> permissions = new HashSet<>();
|
||||
}
|
||||
@ -14,8 +14,6 @@ public class PermissionDTO extends BaseDTO {
|
||||
|
||||
private String type;
|
||||
|
||||
private Boolean enabled;
|
||||
|
||||
private Integer sort;
|
||||
|
||||
private String menuName; // 关联的菜单名称
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package com.qqchen.deploy.backend.model.query;
|
||||
|
||||
import com.qqchen.deploy.backend.framework.query.BaseQuery;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PermissionQuery extends BaseQuery {
|
||||
|
||||
private String code;
|
||||
|
||||
private String name;
|
||||
|
||||
private String type;
|
||||
|
||||
private Boolean enabled;
|
||||
|
||||
private Long menuId;
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.qqchen.deploy.backend.model.response;
|
||||
|
||||
import com.qqchen.deploy.backend.model.PermissionDTO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MenuPermissionTreeResponse extends MenuResponse {
|
||||
/**
|
||||
* 菜单下的权限列表
|
||||
*/
|
||||
private List<PermissionResponse> permissions;
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package com.qqchen.deploy.backend.model.response;
|
||||
|
||||
import com.qqchen.deploy.backend.framework.dto.BaseResponse;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PermissionResponse extends BaseResponse {
|
||||
|
||||
private Long menuId;
|
||||
|
||||
private String menuName;
|
||||
|
||||
private String code;
|
||||
|
||||
private String name;
|
||||
|
||||
private String type;
|
||||
|
||||
private Integer sort;
|
||||
|
||||
}
|
||||
@ -3,6 +3,7 @@ package com.qqchen.deploy.backend.service;
|
||||
import com.qqchen.deploy.backend.framework.service.IBaseService;
|
||||
import com.qqchen.deploy.backend.entity.Menu;
|
||||
import com.qqchen.deploy.backend.model.MenuDTO;
|
||||
import com.qqchen.deploy.backend.model.response.MenuPermissionTreeResponse;
|
||||
import com.qqchen.deploy.backend.model.response.MenuResponse;
|
||||
|
||||
import java.util.List;
|
||||
@ -25,4 +26,7 @@ public interface IMenuService extends IBaseService<Menu, MenuDTO, Long> {
|
||||
* 获取菜单树
|
||||
*/
|
||||
List<MenuDTO> getTree();
|
||||
|
||||
List<MenuPermissionTreeResponse> getPermissionTree();
|
||||
|
||||
}
|
||||
@ -1,19 +1,24 @@
|
||||
package com.qqchen.deploy.backend.service.impl;
|
||||
|
||||
import com.qqchen.deploy.backend.converter.MenuConverter;
|
||||
import com.qqchen.deploy.backend.converter.PermissionConverter;
|
||||
import com.qqchen.deploy.backend.entity.Menu;
|
||||
import com.qqchen.deploy.backend.entity.Permission;
|
||||
import com.qqchen.deploy.backend.framework.annotation.ServiceType;
|
||||
import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl;
|
||||
import com.qqchen.deploy.backend.model.MenuDTO;
|
||||
import com.qqchen.deploy.backend.model.UserDTO;
|
||||
import com.qqchen.deploy.backend.model.response.MenuPermissionTreeResponse;
|
||||
import com.qqchen.deploy.backend.model.response.MenuResponse;
|
||||
import com.qqchen.deploy.backend.repository.IMenuRepository;
|
||||
import com.qqchen.deploy.backend.repository.IPermissionRepository;
|
||||
import com.qqchen.deploy.backend.service.IMenuService;
|
||||
import com.qqchen.deploy.backend.service.IUserService;
|
||||
import com.qqchen.deploy.backend.service.IRoleService;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.ArrayList;
|
||||
@ -31,9 +36,15 @@ public class MenuServiceImpl extends BaseServiceImpl<Menu, MenuDTO, Long> implem
|
||||
@Resource
|
||||
private IMenuRepository menuRepository;
|
||||
|
||||
@Resource
|
||||
private IPermissionRepository permissionRepository;
|
||||
|
||||
@Resource
|
||||
private MenuConverter menuConverter;
|
||||
|
||||
@Resource
|
||||
private PermissionConverter permissionConverter;
|
||||
|
||||
@Resource
|
||||
private IUserService userService;
|
||||
|
||||
@ -73,6 +84,19 @@ public class MenuServiceImpl extends BaseServiceImpl<Menu, MenuDTO, Long> implem
|
||||
return buildTree(menus);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MenuPermissionTreeResponse> getPermissionTree() {
|
||||
List<Menu> menus = menuRepository.findByDeletedFalseOrderBySort();
|
||||
List<Permission> permissions = permissionRepository.findAllEnabledOrderByMenuAndSort();
|
||||
List<MenuPermissionTreeResponse> tree = new ArrayList<>();
|
||||
menus.forEach(menu -> {
|
||||
MenuPermissionTreeResponse menuPermissionResponse = menuConverter.toMenuPermissionResponse(menu);
|
||||
List<Permission> list = permissions.stream().filter(permission -> permission.getMenuId().equals(menu.getId())).toList();
|
||||
menuPermissionResponse.setPermissions(permissionConverter.toResponseList(list));
|
||||
});
|
||||
return null;
|
||||
}
|
||||
|
||||
private List<MenuDTO> buildTree(List<Menu> menus) {
|
||||
Map<Long, MenuDTO> dtoMap = new HashMap<>();
|
||||
List<MenuDTO> roots = new ArrayList<>();
|
||||
|
||||
@ -53,8 +53,8 @@ CREATE TABLE IF NOT EXISTS sys_user (
|
||||
phone VARCHAR(255) NULL,
|
||||
username VARCHAR(255) NOT NULL,
|
||||
department_id BIGINT NULL,
|
||||
CONSTRAINT UK_user_username UNIQUE (username),
|
||||
CONSTRAINT FK_user_department FOREIGN KEY (department_id) REFERENCES sys_department(id)
|
||||
CONSTRAINT UK_user_username UNIQUE (username)
|
||||
-- CONSTRAINT FK_user_department FOREIGN KEY (department_id) REFERENCES sys_department(id)
|
||||
);
|
||||
|
||||
-- 创建系统参数表
|
||||
@ -114,7 +114,6 @@ CREATE TABLE sys_role (
|
||||
type INT NOT NULL DEFAULT 2 COMMENT '角色类型(1:系统角色 2:自定义角色)',
|
||||
description VARCHAR(255) COMMENT '角色描述',
|
||||
sort INT NOT NULL DEFAULT 0 COMMENT '显示顺序',
|
||||
enabled BIT NOT NULL DEFAULT 1 COMMENT '是否启用',
|
||||
|
||||
CONSTRAINT UK_role_code UNIQUE (code)
|
||||
) COMMENT '角色表';
|
||||
@ -137,9 +136,9 @@ CREATE TABLE sys_role_tag (
|
||||
CREATE TABLE sys_role_tag_relation (
|
||||
role_id BIGINT NOT NULL COMMENT '角色ID',
|
||||
tag_id BIGINT NOT NULL COMMENT '标签ID',
|
||||
PRIMARY KEY (role_id, tag_id),
|
||||
CONSTRAINT FK_role_tag_role FOREIGN KEY (role_id) REFERENCES sys_role (id),
|
||||
CONSTRAINT FK_role_tag_tag FOREIGN KEY (tag_id) REFERENCES sys_role_tag (id)
|
||||
PRIMARY KEY (role_id, tag_id)
|
||||
-- CONSTRAINT FK_role_tag_role FOREIGN KEY (role_id) REFERENCES sys_role (id),
|
||||
-- CONSTRAINT FK_role_tag_tag FOREIGN KEY (tag_id) REFERENCES sys_role_tag (id)
|
||||
) COMMENT '角色标签关联表';
|
||||
|
||||
-- 用户角色关联表
|
||||
@ -155,18 +154,18 @@ CREATE TABLE sys_user_role (
|
||||
user_id BIGINT NOT NULL COMMENT '用户ID',
|
||||
role_id BIGINT NOT NULL COMMENT '角色ID',
|
||||
|
||||
CONSTRAINT UK_user_role UNIQUE (user_id, role_id),
|
||||
CONSTRAINT FK_user_role_user FOREIGN KEY (user_id) REFERENCES sys_user (id),
|
||||
CONSTRAINT FK_user_role_role FOREIGN KEY (role_id) REFERENCES sys_role (id)
|
||||
CONSTRAINT UK_user_role UNIQUE (user_id, role_id)
|
||||
-- CONSTRAINT FK_user_role_user FOREIGN KEY (user_id) REFERENCES sys_user (id),
|
||||
-- CONSTRAINT FK_user_role_role FOREIGN KEY (role_id) REFERENCES sys_role (id)
|
||||
) COMMENT '用户角色关联表';
|
||||
|
||||
-- 角色菜单关联表
|
||||
CREATE TABLE sys_role_menu (
|
||||
role_id BIGINT NOT NULL COMMENT '角色ID',
|
||||
menu_id BIGINT NOT NULL COMMENT '菜单ID',
|
||||
PRIMARY KEY (role_id, menu_id),
|
||||
CONSTRAINT FK_role_menu_role FOREIGN KEY (role_id) REFERENCES sys_role (id),
|
||||
CONSTRAINT FK_role_menu_menu FOREIGN KEY (menu_id) REFERENCES sys_menu (id)
|
||||
PRIMARY KEY (role_id, menu_id)
|
||||
-- CONSTRAINT FK_role_menu_role FOREIGN KEY (role_id) REFERENCES sys_role (id),
|
||||
-- CONSTRAINT FK_role_menu_menu FOREIGN KEY (menu_id) REFERENCES sys_menu (id)
|
||||
) COMMENT '角色菜单关联表';
|
||||
|
||||
-- 权限模板表
|
||||
@ -192,9 +191,9 @@ CREATE TABLE sys_permission_template (
|
||||
CREATE TABLE sys_template_menu (
|
||||
template_id BIGINT NOT NULL COMMENT '模板ID',
|
||||
menu_id BIGINT NOT NULL COMMENT '菜单ID',
|
||||
PRIMARY KEY (template_id, menu_id),
|
||||
CONSTRAINT FK_template_menu_template FOREIGN KEY (template_id) REFERENCES sys_permission_template (id),
|
||||
CONSTRAINT FK_template_menu_menu FOREIGN KEY (menu_id) REFERENCES sys_menu (id)
|
||||
PRIMARY KEY (template_id, menu_id)
|
||||
-- CONSTRAINT FK_template_menu_template FOREIGN KEY (template_id) REFERENCES sys_permission_template (id),
|
||||
-- CONSTRAINT FK_template_menu_menu FOREIGN KEY (menu_id) REFERENCES sys_menu (id)
|
||||
) COMMENT '模板菜单关联表';
|
||||
|
||||
-- 创建权限表
|
||||
@ -211,7 +210,6 @@ CREATE TABLE sys_permission (
|
||||
code VARCHAR(100) NOT NULL COMMENT '权限编码',
|
||||
name VARCHAR(100) NOT NULL COMMENT '权限名称',
|
||||
type VARCHAR(50) NOT NULL DEFAULT 'FUNCTION' COMMENT '权限类型:MENU/FUNCTION/API',
|
||||
enabled BIT NOT NULL DEFAULT TRUE COMMENT '是否启用',
|
||||
sort INT NULL COMMENT '排序',
|
||||
|
||||
UNIQUE KEY UK_CODE (CODE),
|
||||
@ -253,8 +251,8 @@ CREATE TABLE sys_external_system (
|
||||
CREATE TABLE sys_role_permission (
|
||||
role_id BIGINT NOT NULL COMMENT '角色ID',
|
||||
permission_id BIGINT NOT NULL COMMENT '权限ID',
|
||||
PRIMARY KEY (role_id, permission_id),
|
||||
CONSTRAINT FK_role_permission_role FOREIGN KEY (role_id) REFERENCES sys_role (id),
|
||||
CONSTRAINT FK_role_permission_permission FOREIGN KEY (permission_id) REFERENCES sys_permission (id)
|
||||
PRIMARY KEY (role_id, permission_id)
|
||||
-- CONSTRAINT FK_role_permission_role FOREIGN KEY (role_id) REFERENCES sys_role (id),
|
||||
-- CONSTRAINT FK_role_permission_permission FOREIGN KEY (permission_id) REFERENCES sys_permission (id)
|
||||
) COMMENT '角色权限关联表';
|
||||
|
||||
@ -1,130 +1,162 @@
|
||||
-- 初始化租户
|
||||
INSERT INTO sys_tenant
|
||||
(create_by, create_time, deleted, update_by, update_time, version,
|
||||
address, code, contact_name, contact_phone, email, enabled, name)
|
||||
VALUES ('system', '2024-01-01 00:00:00', 0, 'system', '2024-01-01 00:00:00', 0,
|
||||
'北京市朝阳区望京SOHO T1 C座', 'default', '张三', '13900000001',
|
||||
'admin@deploy-ease.com', 1, '默认租户');
|
||||
|
||||
-- 初始化系统参数
|
||||
INSERT INTO sys_param (id, code, name, value, type, description, enabled, create_by, create_time, version, deleted)
|
||||
VALUES (1, 'USER_STATUS_ENUM', '用户状态枚举', '[{"code":"0","name":"禁用"},{"code":"1","name":"启用"}]', 'ENUM', '用户状态枚举值', true, 'system', '2024-01-01 00:00:00', 0, false);
|
||||
VALUES (1, 'USER_STATUS_ENUM', '用户状态枚举', '[{"code":"0","name":"禁用"},{"code":"1","name":"启用"}]', 'ENUM', '用户状态枚举值', TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE);
|
||||
|
||||
-- 初始化角色标签
|
||||
INSERT INTO sys_role_tag (id, name, color, create_by, create_time, deleted, version)
|
||||
VALUES (1, '研发', '#1890FF', 'system', '2024-01-01 00:00:00', false, 0),
|
||||
(2, '运维', '#52C41A', 'system', '2024-01-01 00:00:00', false, 0),
|
||||
(3, '安全', '#FF4D4F', 'system', '2024-01-01 00:00:00', false, 0),
|
||||
(4, '临时', '#FAAD14', 'system', '2024-01-01 00:00:00', false, 0),
|
||||
(5, '外部', '#722ED1', 'system', '2024-01-01 00:00:00', false, 0);
|
||||
VALUES (1, '研发', '#1890FF', 'system', '2024-01-01 00:00:00', FALSE, 0),
|
||||
(2, '运维', '#52C41A', 'system', '2024-01-01 00:00:00', FALSE, 0),
|
||||
(3, '安全', '#FF4D4F', 'system', '2024-01-01 00:00:00', FALSE, 0),
|
||||
(4, '临时', '#FAAD14', 'system', '2024-01-01 00:00:00', FALSE, 0),
|
||||
(5, '外部', '#722ED1', 'system', '2024-01-01 00:00:00', FALSE, 0);
|
||||
|
||||
-- 初始化菜单数据
|
||||
INSERT INTO sys_menu (id, name, path, component, icon, type, parent_id, sort, hidden, enabled, create_by, create_time, version, deleted)
|
||||
VALUES
|
||||
-- 系统管理
|
||||
(1, '系统管理', '/system', 'LAYOUT', 'setting', 1, null, 1, false, true, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(1, '系统管理', '/system', 'LAYOUT', 'setting', 1, NULL, 1, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
-- 用户管理
|
||||
(2, '用户管理', '/system/user', '/System/User/index', 'user', 2, 1, 10, false, true, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(2, '用户管理', '/system/user', '/System/User/index', 'user', 2, 1, 10, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
-- 角色管理
|
||||
(3, '角色管理', '/system/role', '/System/Role/index', 'peoples', 2, 1, 20, false, true, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(3, '角色管理', '/system/role', '/System/Role/index', 'peoples', 2, 1, 20, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
-- 菜单管理
|
||||
(4, '菜单管理', '/system/menu', '/System/Menu/index', 'tree-table', 2, 1, 30, false, true, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(4, '菜单管理', '/system/menu', '/System/Menu/index', 'tree-table', 2, 1, 30, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
-- 部门管理
|
||||
(5, '部门管理', '/system/department', '/System/Department/index', 'tree', 2, 1, 40, false, true, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(5, '部门管理', '/system/department', '/System/Department/index', 'tree', 2, 1, 40, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
-- 三方系统
|
||||
(70, '三方系统', '/system/external', '/System/External/index', 'api', 2, 1, 70, false, true, 'system', '2024-01-01 00:00:00', 0, false);
|
||||
(70, '三方系统', '/system/external', '/System/External/index', 'api', 2, 1, 70, FALSE, TRUE, 'system', '2024-01-01 00:00:00', 0, FALSE);
|
||||
|
||||
-- 初始化角色数据
|
||||
INSERT INTO sys_role (id, code, name, type, description, sort, enabled, create_by, create_time, version, deleted)
|
||||
VALUES (1, 'SUPER_ADMIN', '超级管理员', 1, '系统超级管理员', 1, true, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(2, 'DEV_MANAGER', '开发主管', 2, '开发团队主管', 2, true, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(3, 'OPS_MANAGER', '运维主管', 2, '运维团队主管', 3, true, 'system', '2024-01-01 00:00:00', 0, false);
|
||||
INSERT INTO sys_role (id, code, name, type, description, sort, create_by, create_time, version, deleted)
|
||||
VALUES (1, 'SUPER_ADMIN', '超级管理员', 1, '系统超级管理员', 1, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(2, 'DEV_MANAGER', '开发主管', 2, '开发团队主管', 2, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(3, 'OPS_MANAGER', '运维主管', 2, '运维团队主管', 3, 'system', '2024-01-01 00:00:00', 0, FALSE);
|
||||
|
||||
-- 初始化部门数据
|
||||
INSERT INTO sys_department (id, code, name, description, enabled, sort, parent_id, create_by, create_time, version, deleted)
|
||||
VALUES (1, 'TECH', '技术部', '技术研发部门', true, 1, null, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(2, 'DEV', '研发组', '研发团队', true, 1, 1, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(3, 'OPS', '运维组', '运维团队', true, 2, 1, 'system', '2024-01-01 00:00:00', 0, false);
|
||||
VALUES (1, 'TECH', '技术部', '技术研发部门', TRUE, 1, NULL, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(2, 'DEV', '研发组', '研发团队', TRUE, 1, 1, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(3, 'OPS', '运维组', '运维团队', TRUE, 2, 1, 'system', '2024-01-01 00:00:00', 0, FALSE);
|
||||
|
||||
-- 初始化用户数据
|
||||
INSERT INTO sys_user (id, username, password, nickname, email, phone, enabled, department_id, create_by, create_time, version, deleted)
|
||||
VALUES (1, 'admin', '$2a$10$VTbMVv3M.gVaMcLsELtBZuHxGrHyFqf3CYfSFQhcBn0A6pBTvThSy', '系统管理员', 'admin@example.com', '13800138000', true, null, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(2, 'dev_manager', '$2a$10$VTbMVv3M.gVaMcLsELtBZuHxGrHyFqf3CYfSFQhcBn0A6pBTvThSy', '开发主管', 'dev@example.com', '13800138001', true, 2, 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(3, 'ops_manager', '$2a$10$VTbMVv3M.gVaMcLsELtBZuHxGrHyFqf3CYfSFQhcBn0A6pBTvThSy', '运维主管', 'ops@example.com', '13800138002', true, 3, 'system', '2024-01-01 00:00:00', 0, false);
|
||||
VALUES (1, 'admin', '$2a$10$VTbMVv3M.gVaMcLsELtBZuHxGrHyFqf3CYfSFQhcBn0A6pBTvThSy', '系统管理员', 'admin@example.com', '13800138000', TRUE, NULL, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(2, 'dev_manager', '$2a$10$VTbMVv3M.gVaMcLsELtBZuHxGrHyFqf3CYfSFQhcBn0A6pBTvThSy', '开发主管', 'dev@example.com', '13800138001', TRUE, 2, 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(3, 'ops_manager', '$2a$10$VTbMVv3M.gVaMcLsELtBZuHxGrHyFqf3CYfSFQhcBn0A6pBTvThSy', '运维主管', 'ops@example.com', '13800138002', TRUE, 3, 'system', '2024-01-01 00:00:00', 0, FALSE);
|
||||
|
||||
-- 初始化用户角色关联数据
|
||||
INSERT INTO sys_user_role (user_id, role_id, create_by, create_time, version, deleted)
|
||||
VALUES (1, 1, 'system', '2024-01-01 00:00:00', 0, false), -- 超级管理员 -> 超级管理员角色
|
||||
(2, 2, 'system', '2024-01-01 00:00:00', 0, false), -- 开发主管 -> 开发主管角色
|
||||
(3, 3, 'system', '2024-01-01 00:00:00', 0, false); -- 运维主管 -> 运维主管角色
|
||||
VALUES (1, 1, 'system', '2024-01-01 00:00:00', 0, FALSE), -- 超级管理员 -> 超级管理员角色
|
||||
(2, 2, 'system', '2024-01-01 00:00:00', 0, FALSE), -- 开发主管 -> 开发主管角色
|
||||
(3, 3, 'system', '2024-01-01 00:00:00', 0, FALSE);
|
||||
-- 运维主管 -> 运维主管角色
|
||||
|
||||
-- 初始化角色标签关联数据
|
||||
INSERT INTO sys_role_tag_relation (role_id, tag_id)
|
||||
VALUES (1, 3), -- 超级管理员 -> 安全标签
|
||||
(2, 1), -- 开发主管 -> 研发标签
|
||||
(3, 2); -- 运维主管 -> 运维标签
|
||||
(2, 1), -- 开发主管 -> 研发标签
|
||||
(3, 2);
|
||||
-- 运维主管 -> 运维标签
|
||||
|
||||
-- 初始化角色菜单关联数据
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
VALUES
|
||||
-- 超级管理员拥有所有菜单权限
|
||||
(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 70),
|
||||
(1, 1),
|
||||
(1, 2),
|
||||
(1, 3),
|
||||
(1, 4),
|
||||
(1, 5),
|
||||
(1, 70),
|
||||
-- 开发主管权限
|
||||
(2, 70),
|
||||
-- 运维主管权限
|
||||
(3, 70);
|
||||
|
||||
-- 初始化权限数据
|
||||
INSERT INTO sys_permission (id, menu_id, code, name, type, enabled, sort, create_by, create_time, update_by, update_time, version, deleted)
|
||||
INSERT INTO sys_permission (id, menu_id, code, name, type, sort, create_by, create_time, update_by, update_time, version, deleted)
|
||||
VALUES
|
||||
-- 用户管理权限
|
||||
(21, 2, 'system:user:add', '用户新增', 'FUNCTION', true, 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(22, 2, 'system:user:edit', '用户编辑', 'FUNCTION', true, 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(23, 2, 'system:user:delete', '用户删除', 'FUNCTION', true, 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(24, 2, 'system:user:reset-password', '重置密码', 'FUNCTION', true, 4, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(25, 2, 'system:user:assign-roles', '分配角色', 'FUNCTION', true, 5, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(21, 2, 'system:user:add', '用户新增', 'FUNCTION', 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(22, 2, 'system:user:edit', '用户编辑', 'FUNCTION', 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(23, 2, 'system:user:delete', '用户删除', 'FUNCTION', 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(24, 2, 'system:user:reset-password', '重置密码', 'FUNCTION', 4, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(25, 2, 'system:user:assign-roles', '分配角色', 'FUNCTION', 5, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
|
||||
-- 角色管理权限
|
||||
(31, 3, 'system:role:add', '角色新增', 'FUNCTION', true, 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(32, 3, 'system:role:edit', '角色编辑', 'FUNCTION', true, 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(33, 3, 'system:role:delete', '角色删除', 'FUNCTION', true, 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(34, 3, 'system:role:assign-tags', '分配标签', 'FUNCTION', true, 4, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(35, 3, 'system:role:assign-permissions', '分配权限', 'FUNCTION', true, 5, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(36, 3, 'system:role:permission-list', '权限列表', 'FUNCTION', true, 6, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(31, 3, 'system:role:add', '角色新增', 'FUNCTION', 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(32, 3, 'system:role:edit', '角色编辑', 'FUNCTION', 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(33, 3, 'system:role:delete', '角色删除', 'FUNCTION', 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(34, 3, 'system:role:assign-tags', '分配标签', 'FUNCTION', 4, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(35, 3, 'system:role:assign-permissions', '分配权限', 'FUNCTION', 5, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(36, 3, 'system:role:permission-list', '权限列表', 'FUNCTION', 6, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
|
||||
-- 菜单管理权限
|
||||
(41, 4, 'system:menu:add', '菜单新增', 'FUNCTION', true, 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(42, 4, 'system:menu:edit', '菜单编辑', 'FUNCTION', true, 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(43, 4, 'system:menu:delete', '菜单删除', 'FUNCTION', true, 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(41, 4, 'system:menu:add', '菜单新增', 'FUNCTION', 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(42, 4, 'system:menu:edit', '菜单编辑', 'FUNCTION', 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(43, 4, 'system:menu:delete', '菜单删除', 'FUNCTION', 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
|
||||
-- 部门管理权限
|
||||
(51, 5, 'system:department:add', '部门新增', 'FUNCTION', true, 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(52, 5, 'system:department:edit', '部门编辑', 'FUNCTION', true, 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(53, 5, 'system:department:delete', '部门删除', 'FUNCTION', true, 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(51, 5, 'system:department:add', '部门新增', 'FUNCTION', 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(52, 5, 'system:department:edit', '部门编辑', 'FUNCTION', 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(53, 5, 'system:department:delete', '部门删除', 'FUNCTION', 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
|
||||
-- 三方系统管理权限
|
||||
(71, 70, 'system:external:list', '查看三方系统', 'FUNCTION', true, 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(72, 70, 'system:external:create', '新增三方系统', 'FUNCTION', true, 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(73, 70, 'system:external:update', '编辑三方系统', 'FUNCTION', true, 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(74, 70, 'system:external:delete', '删除三方系统', 'FUNCTION', true, 4, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false),
|
||||
(75, 70, 'system:external:sync', '同步三方系统', 'FUNCTION', true, 5, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, false);
|
||||
(71, 70, 'system:external:list', '查看三方系统', 'FUNCTION', 1, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(72, 70, 'system:external:create', '新增三方系统', 'FUNCTION', 2, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(73, 70, 'system:external:update', '编辑三方系统', 'FUNCTION', 3, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(74, 70, 'system:external:delete', '删除三方系统', 'FUNCTION', 4, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE),
|
||||
(75, 70, 'system:external:sync', '同步三方系统', 'FUNCTION', 5, 'system', '2024-01-01 00:00:00', 'system', '2024-01-01 00:00:00', 0, FALSE);
|
||||
|
||||
-- 初始化角色权限关联数据
|
||||
INSERT INTO sys_role_permission (role_id, permission_id)
|
||||
VALUES
|
||||
-- 用户管理权限
|
||||
(1, 21), (1, 22), (1, 23), (1, 24), (1, 25),
|
||||
(1, 21),
|
||||
(1, 22),
|
||||
(1, 23),
|
||||
(1, 24),
|
||||
(1, 25),
|
||||
-- 角色管理权限(包含权限管理功能)
|
||||
(1, 31), (1, 32), (1, 33), (1, 34), (1, 35), (1, 36),
|
||||
(1, 31),
|
||||
(1, 32),
|
||||
(1, 33),
|
||||
(1, 34),
|
||||
(1, 35),
|
||||
(1, 36),
|
||||
-- 菜单管理权限
|
||||
(1, 41), (1, 42), (1, 43),
|
||||
(1, 41),
|
||||
(1, 42),
|
||||
(1, 43),
|
||||
-- 部门管理权限
|
||||
(1, 51), (1, 52), (1, 53),
|
||||
(1, 51),
|
||||
(1, 52),
|
||||
(1, 53),
|
||||
-- 三方系统管理权限
|
||||
(1, 71), (1, 72), (1, 73), (1, 74), (1, 75);
|
||||
(1, 71),
|
||||
(1, 72),
|
||||
(1, 73),
|
||||
(1, 74),
|
||||
(1, 75);
|
||||
|
||||
-- 初始化三方系统数据
|
||||
INSERT INTO sys_external_system (id, name, type, url, auth_type, username, password, enabled, sort, create_by, create_time, version, deleted, remark)
|
||||
VALUES
|
||||
-- Jenkins示例
|
||||
(1, 'Jenkins-开发环境', 'JENKINS', 'http://jenkins-dev.example.com', 'BASIC', 'admin', 'password123', true, 1, 'system', '2024-01-01 00:00:00', 0, false, 'Jenkins开发环境'),
|
||||
(2, 'Jenkins-测试环境', 'JENKINS', 'http://jenkins-test.example.com', 'BASIC', 'admin', 'password123', true, 2, 'system', '2024-01-01 00:00:00', 0, false, 'Jenkins测试环境'),
|
||||
(1, 'Jenkins-开发环境', 'JENKINS', 'http://jenkins-dev.example.com', 'BASIC', 'admin', 'password123', TRUE, 1, 'system', '2024-01-01 00:00:00', 0, FALSE, 'Jenkins开发环境'),
|
||||
(2, 'Jenkins-测试环境', 'JENKINS', 'http://jenkins-test.example.com', 'BASIC', 'admin', 'password123', TRUE, 2, 'system', '2024-01-01 00:00:00', 0, FALSE, 'Jenkins测试环境'),
|
||||
|
||||
-- Git仓库示例
|
||||
(3, 'GitLab-主库', 'GIT', 'http://gitlab.example.com', 'TOKEN', null, null, true, 3, 'system', '2024-01-01 00:00:00', 0, false, '公司GitLab主库'),
|
||||
(4, 'GitHub', 'GIT', 'https://github.com', 'OAUTH', null, null, true, 4, 'system', '2024-01-01 00:00:00', 0, false, 'GitHub仓库'),
|
||||
(3, 'GitLab-主库', 'GIT', 'http://gitlab.example.com', 'TOKEN', NULL, NULL, TRUE, 3, 'system', '2024-01-01 00:00:00', 0, FALSE, '公司GitLab主库'),
|
||||
(4, 'GitHub', 'GIT', 'https://github.com', 'OAUTH', NULL, NULL, TRUE, 4, 'system', '2024-01-01 00:00:00', 0, FALSE, 'GitHub仓库'),
|
||||
|
||||
-- 禅道示例
|
||||
(5, '禅道-项目管理', 'ZENTAO', 'http://zentao.example.com', 'BASIC', 'admin', 'password123', true, 5, 'system', '2024-01-01 00:00:00', 0, false, '禅道项目管理系统');
|
||||
(5, '禅道-项目管理', 'ZENTAO', 'http://zentao.example.com', 'BASIC', 'admin', 'password123', TRUE, 5, 'system', '2024-01-01 00:00:00', 0, FALSE, '禅道项目管理系统');
|
||||
Loading…
Reference in New Issue
Block a user