新增 加载全部菜单接口
This commit is contained in:
parent
12887cc169
commit
0e7f9a7d2c
198
harmonylife_20240923_登录和获取用户信息完成.sql
Normal file
198
harmonylife_20240923_登录和获取用户信息完成.sql
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
/*
|
||||||
|
Navicat Premium Data Transfer
|
||||||
|
|
||||||
|
Source Server : 本地连接
|
||||||
|
Source Server Type : MySQL
|
||||||
|
Source Server Version : 50743 (5.7.43-log)
|
||||||
|
Source Host : localhost:3306
|
||||||
|
Source Schema : harmonylife
|
||||||
|
|
||||||
|
Target Server Type : MySQL
|
||||||
|
Target Server Version : 50743 (5.7.43-log)
|
||||||
|
File Encoding : 65001
|
||||||
|
|
||||||
|
Date: 23/09/2024 17:23:08
|
||||||
|
*/
|
||||||
|
|
||||||
|
SET NAMES utf8mb4;
|
||||||
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for system_action
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `system_action`;
|
||||||
|
CREATE TABLE `system_action` (
|
||||||
|
`id` bigint(11) NOT NULL COMMENT '动作id',
|
||||||
|
`tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '动作标签 例如 add',
|
||||||
|
`describe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '动作标题 例如 增加',
|
||||||
|
`default_check` tinyint(4) NULL DEFAULT NULL COMMENT '0 false 1 true',
|
||||||
|
`status` tinyint(4) NULL DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '动作表' ROW_FORMAT = Dynamic;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of system_action
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO `system_action` VALUES (1, 'add', '新增', 0, 1);
|
||||||
|
INSERT INTO `system_action` VALUES (2, 'import', '导入', 0, 1);
|
||||||
|
INSERT INTO `system_action` VALUES (3, 'get', '详情', 0, 1);
|
||||||
|
INSERT INTO `system_action` VALUES (4, 'update', '更新', 0, 1);
|
||||||
|
INSERT INTO `system_action` VALUES (5, 'delete', '删除', 0, 1);
|
||||||
|
INSERT INTO `system_action` VALUES (6, 'export', '导出', 0, 1);
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for system_menu
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `system_menu`;
|
||||||
|
CREATE TABLE `system_menu` (
|
||||||
|
`id` bigint(11) NOT NULL COMMENT 'id',
|
||||||
|
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '显示的中文名称',
|
||||||
|
`key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'key',
|
||||||
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由名称',
|
||||||
|
`component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组件名称',
|
||||||
|
`redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '重定向',
|
||||||
|
`icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图标名称',
|
||||||
|
`status` tinyint(4) NULL DEFAULT NULL COMMENT '状态 0 未启用 -1 删除 1正常使用',
|
||||||
|
`parent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父级',
|
||||||
|
`order` int(11) NULL DEFAULT NULL COMMENT '排序,数字越小,越靠前',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of system_menu
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO `system_menu` VALUES (1, '首页', NULL, 'index', 'BasicLayout', '/dashboard/workplace', '', 1, NULL, 1);
|
||||||
|
INSERT INTO `system_menu` VALUES (2, '仪表盘', 'dashboard', 'dashboard', 'RouteView', NULL, 'dashboard', 1, 'index', 1);
|
||||||
|
INSERT INTO `system_menu` VALUES (3, '分析页', 'analysis', NULL, NULL, NULL, NULL, NULL, NULL, 1);
|
||||||
|
INSERT INTO `system_menu` VALUES (4, '系统管理', 'system', 'system', 'PageView', NULL, 'setting', NULL, 'index', 1);
|
||||||
|
INSERT INTO `system_menu` VALUES (5, '用户管理', 'userList', 'userList', NULL, NULL, NULL, NULL, 'system', 1);
|
||||||
|
INSERT INTO `system_menu` VALUES (6, '菜单管理', 'menuList', 'menuList', NULL, NULL, NULL, NULL, 'system', 1);
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for system_permission
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `system_permission`;
|
||||||
|
CREATE TABLE `system_permission` (
|
||||||
|
`id` bigint(11) NOT NULL COMMENT '权限id',
|
||||||
|
`permission_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限id(文本型)',
|
||||||
|
`permission_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限名称(菜单名称)',
|
||||||
|
`status` tinyint(4) NULL DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '权限表' ROW_FORMAT = Dynamic;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of system_permission
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO `system_permission` VALUES (1, 'dashboard', '数据中心', 1);
|
||||||
|
INSERT INTO `system_permission` VALUES (2, 'exception', '异常管理', 1);
|
||||||
|
INSERT INTO `system_permission` VALUES (3, 'result', '结果管理', 1);
|
||||||
|
INSERT INTO `system_permission` VALUES (4, 'profile', '个人信息管理', 1);
|
||||||
|
INSERT INTO `system_permission` VALUES (5, 'table', '表格管理', 1);
|
||||||
|
INSERT INTO `system_permission` VALUES (6, 'form', '表单管理', 1);
|
||||||
|
INSERT INTO `system_permission` VALUES (7, 'order', '订单管理', 1);
|
||||||
|
INSERT INTO `system_permission` VALUES (8, 'permission', '权限管理', 1);
|
||||||
|
INSERT INTO `system_permission` VALUES (9, 'role', '角色管理', 1);
|
||||||
|
INSERT INTO `system_permission` VALUES (10, 'user', '用户管理', 1);
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for system_permission_action
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `system_permission_action`;
|
||||||
|
CREATE TABLE `system_permission_action` (
|
||||||
|
`id` bigint(11) NOT NULL COMMENT 'id',
|
||||||
|
`action_tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '动作id 文本型',
|
||||||
|
`permission_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限id 文本型',
|
||||||
|
`status` tinyint(4) NULL DEFAULT NULL COMMENT '状态',
|
||||||
|
`uid` bigint(20) NULL DEFAULT NULL COMMENT '用户id Long',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of system_permission_action
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO `system_permission_action` VALUES (1, 'add', 'role', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (2, 'import', 'role', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (3, 'get', 'role', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (4, 'update', 'role', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (5, 'delete', 'role', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (6, 'export', 'role', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (7, 'add', 'permission', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (8, 'import', 'permission', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (9, 'get', 'permission', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (10, 'update', 'permission', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (11, 'delete', 'permission', 1, 1);
|
||||||
|
INSERT INTO `system_permission_action` VALUES (12, 'export', 'permission', 1, 1);
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for system_role
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `system_role`;
|
||||||
|
CREATE TABLE `system_role` (
|
||||||
|
`id` bigint(11) NOT NULL COMMENT '角色id role_id',
|
||||||
|
`role_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色名称',
|
||||||
|
`role_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色id(文本型)',
|
||||||
|
`status` tinyint(4) NULL DEFAULT NULL,
|
||||||
|
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色表' ROW_FORMAT = Dynamic;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of system_role
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO `system_role` VALUES (1, '超级管理员', 'root', 1, '最高权限');
|
||||||
|
INSERT INTO `system_role` VALUES (2, '管理员', 'admin', 1, '管理权限');
|
||||||
|
INSERT INTO `system_role` VALUES (3, '机构', 'agent', 1, '使用权限');
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for system_role_permission
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `system_role_permission`;
|
||||||
|
CREATE TABLE `system_role_permission` (
|
||||||
|
`id` bigint(11) NOT NULL,
|
||||||
|
`role_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '注意是文本型',
|
||||||
|
`permission_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '注意是文本型',
|
||||||
|
`status` tinyint(4) NULL DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of system_role_permission
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO `system_role_permission` VALUES (1, 'root', 'dashboard', 1);
|
||||||
|
INSERT INTO `system_role_permission` VALUES (2, 'root', 'exception', 1);
|
||||||
|
INSERT INTO `system_role_permission` VALUES (3, 'root', 'result', 1);
|
||||||
|
INSERT INTO `system_role_permission` VALUES (4, 'root', 'profile', 1);
|
||||||
|
INSERT INTO `system_role_permission` VALUES (5, 'root', 'table', 1);
|
||||||
|
INSERT INTO `system_role_permission` VALUES (6, 'root', 'form', 1);
|
||||||
|
INSERT INTO `system_role_permission` VALUES (7, 'root', 'order', 1);
|
||||||
|
INSERT INTO `system_role_permission` VALUES (8, 'root', 'permission', 1);
|
||||||
|
INSERT INTO `system_role_permission` VALUES (9, 'root', 'role', 1);
|
||||||
|
INSERT INTO `system_role_permission` VALUES (10, 'root', 'user', 1);
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for user_info
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `user_info`;
|
||||||
|
CREATE TABLE `user_info` (
|
||||||
|
`id` bigint(11) NOT NULL COMMENT '用户uid',
|
||||||
|
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称(用于显示,可以随意更改)',
|
||||||
|
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名(登录使用的账号)',
|
||||||
|
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',
|
||||||
|
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像图片地址',
|
||||||
|
`status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态',
|
||||||
|
`telephone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
|
||||||
|
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
|
||||||
|
`create_time` datetime NULL DEFAULT NULL COMMENT '注册时间',
|
||||||
|
`merchant_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户编号',
|
||||||
|
`deleted` tinyint(4) NULL DEFAULT NULL COMMENT '1 已删除 0未删除',
|
||||||
|
`role_id` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限id 文本类型',
|
||||||
|
`creator_id` int(11) NULL DEFAULT NULL COMMENT '创建者id 0 或者空为自己注册',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Records of user_info
|
||||||
|
-- ----------------------------
|
||||||
|
INSERT INTO `user_info` VALUES (1, '萌狼蓝天', 'xrilang', 'VomAhgnr1XAkMKzicqYxdCFBx0ooiXBN66Xq9XCWGJTsJgH3uLJVAVGkoZi2n1Ml', 'https://q1.qlogo.cn/g?b=qq&nk=3447902411&s=640', '1', NULL, NULL, '2024-09-21 22:31:02', NULL, 0, 'root', NULL);
|
||||||
|
|
||||||
|
SET FOREIGN_KEY_CHECKS = 1;
|
6
pom.xml
6
pom.xml
@ -122,6 +122,12 @@
|
|||||||
<artifactId>logback-classic</artifactId>
|
<artifactId>logback-classic</artifactId>
|
||||||
<version>1.5.8</version>
|
<version>1.5.8</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.fusesource.jansi</groupId>
|
||||||
|
<artifactId>jansi</artifactId>
|
||||||
|
<version>2.4.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
package com.guaiguailang.harmony.controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
|
import com.guaiguailang.harmony.service.SystemService;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@Tag(name="系统相关接口")
|
||||||
|
@RequestMapping("/system")
|
||||||
|
public class SystemController {
|
||||||
|
@Autowired
|
||||||
|
private final SystemService systemService;
|
||||||
|
|
||||||
|
public SystemController(SystemService systemService) {
|
||||||
|
this.systemService = systemService;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Operation(
|
||||||
|
summary = "菜单 加载",
|
||||||
|
description = "加载用户拥有的菜单",
|
||||||
|
tags = {"系统相关接口"}
|
||||||
|
)
|
||||||
|
@GetMapping("/menu")
|
||||||
|
public ResponseEntity getMenu() {
|
||||||
|
return ResponseEntity.ok(systemService.getMenu());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,77 +1,18 @@
|
|||||||
package com.guaiguailang.harmony.domain.entity;
|
package com.guaiguailang.harmony.domain.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
public class SystemMenu {
|
public class SystemMenu {
|
||||||
|
|
||||||
private long id;
|
private Long id;
|
||||||
|
private String title;
|
||||||
private String key;
|
private String key;
|
||||||
private String name;
|
private String name;
|
||||||
private String component;
|
private String component;
|
||||||
private String redirect;
|
private String redirect;
|
||||||
private String icon;
|
private String icon;
|
||||||
private long status;
|
private int status;
|
||||||
|
private String parent;
|
||||||
|
private int order;
|
||||||
public long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getKey() {
|
|
||||||
return key;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setKey(String key) {
|
|
||||||
this.key = key;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setName(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getComponent() {
|
|
||||||
return component;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setComponent(String component) {
|
|
||||||
this.component = component;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getRedirect() {
|
|
||||||
return redirect;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRedirect(String redirect) {
|
|
||||||
this.redirect = redirect;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getIcon() {
|
|
||||||
return icon;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIcon(String icon) {
|
|
||||||
this.icon = icon;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public long getStatus() {
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStatus(long status) {
|
|
||||||
this.status = status;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,47 +1,12 @@
|
|||||||
package com.guaiguailang.harmony.domain.entity;
|
package com.guaiguailang.harmony.domain.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
public class SystemPermission {
|
public class SystemPermission {
|
||||||
|
|
||||||
private long id;
|
private Long id;
|
||||||
private String permissionId;
|
private String permissionId;
|
||||||
private String permissionName;
|
private String permissionName;
|
||||||
private long status;
|
private int status;
|
||||||
|
|
||||||
|
|
||||||
public long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getPermissionId() {
|
|
||||||
return permissionId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPermissionId(String permissionId) {
|
|
||||||
this.permissionId = permissionId;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getPermissionName() {
|
|
||||||
return permissionName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPermissionName(String permissionName) {
|
|
||||||
this.permissionName = permissionName;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public long getStatus() {
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStatus(long status) {
|
|
||||||
this.status = status;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -6,42 +6,6 @@ public class SystemRolePermission {
|
|||||||
private long id;
|
private long id;
|
||||||
private String roleId;
|
private String roleId;
|
||||||
private String permissionId;
|
private String permissionId;
|
||||||
private long status;
|
private Long status;
|
||||||
|
|
||||||
|
|
||||||
public long getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getRoleId() {
|
|
||||||
return roleId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRoleId(String roleId) {
|
|
||||||
this.roleId = roleId;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getPermissionId() {
|
|
||||||
return permissionId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPermissionId(String permissionId) {
|
|
||||||
this.permissionId = permissionId;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public long getStatus() {
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStatus(long status) {
|
|
||||||
this.status = status;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
21
src/main/java/com/guaiguailang/harmony/domain/vo/MenuVO.java
Normal file
21
src/main/java/com/guaiguailang/harmony/domain/vo/MenuVO.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package com.guaiguailang.harmony.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MenuVO {
|
||||||
|
private Long id;
|
||||||
|
private String title;
|
||||||
|
private String key;
|
||||||
|
private String name;
|
||||||
|
private String component;
|
||||||
|
private String redirect;
|
||||||
|
private String icon;
|
||||||
|
private int status;
|
||||||
|
private String parent;
|
||||||
|
private int order;
|
||||||
|
|
||||||
|
private List<MenuVO> children;
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
package com.guaiguailang.harmony.mapper;
|
||||||
|
|
||||||
|
import com.guaiguailang.harmony.domain.entity.SystemMenu;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface SystemMapper {
|
||||||
|
List<SystemMenu> getAllMenus();
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package com.guaiguailang.harmony.service;
|
||||||
|
|
||||||
|
import com.guaiguailang.harmony.domain.vo.ResponseResult;
|
||||||
|
|
||||||
|
public interface SystemService {
|
||||||
|
ResponseResult getMenu();
|
||||||
|
}
|
@ -0,0 +1,66 @@
|
|||||||
|
package com.guaiguailang.harmony.service.impl;
|
||||||
|
|
||||||
|
import com.guaiguailang.harmony.domain.entity.SystemMenu;
|
||||||
|
import com.guaiguailang.harmony.domain.vo.MenuVO;
|
||||||
|
import com.guaiguailang.harmony.domain.vo.ResponseResult;
|
||||||
|
import com.guaiguailang.harmony.mapper.SystemMapper;
|
||||||
|
import com.guaiguailang.harmony.service.SystemService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class SystemServiceImpl implements SystemService {
|
||||||
|
|
||||||
|
private final SystemMapper systemMapper;
|
||||||
|
|
||||||
|
public SystemServiceImpl(SystemMapper systemMapper) {
|
||||||
|
this.systemMapper = systemMapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResponseResult getMenu() {
|
||||||
|
// 获取所有激活的状态菜单
|
||||||
|
List<SystemMenu> menus = systemMapper.getAllMenus();
|
||||||
|
Map<String, MenuVO> menuMap = new HashMap<>();
|
||||||
|
List<MenuVO> rootMenus = new ArrayList<>();
|
||||||
|
// 第一步:将SystemMenu转换为MenuVO并存储在map中
|
||||||
|
for (SystemMenu menu : menus) {
|
||||||
|
MenuVO menuVO = new MenuVO();
|
||||||
|
menuVO.setId(menu.getId());
|
||||||
|
menuVO.setTitle(menu.getTitle());
|
||||||
|
menuVO.setKey(menu.getKey());
|
||||||
|
menuVO.setName(menu.getName());
|
||||||
|
menuVO.setComponent(menu.getComponent());
|
||||||
|
menuVO.setRedirect(menu.getRedirect());
|
||||||
|
menuVO.setIcon(menu.getIcon());
|
||||||
|
menuVO.setStatus(menu.getStatus());
|
||||||
|
menuVO.setOrder(menu.getOrder());
|
||||||
|
menuVO.setParent(menu.getParent());
|
||||||
|
menuMap.put(menu.getName(), menuVO);
|
||||||
|
}
|
||||||
|
// 第二步:构建树形结构
|
||||||
|
for (MenuVO menuVO : menuMap.values()) {
|
||||||
|
String parentId = menuVO.getParent();
|
||||||
|
if (parentId == null) {
|
||||||
|
// 没有父菜单,即为根菜单
|
||||||
|
rootMenus.add(menuVO);
|
||||||
|
} else {
|
||||||
|
// 查找父菜单并添加到其子菜单列表中
|
||||||
|
MenuVO parentMenuVO = menuMap.get(parentId);
|
||||||
|
if (parentMenuVO != null) {
|
||||||
|
if (parentMenuVO.getChildren() == null) {
|
||||||
|
parentMenuVO.setChildren(new ArrayList<>());
|
||||||
|
}
|
||||||
|
parentMenuVO.getChildren().add(menuVO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ResponseResult.success(rootMenus);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
22
src/main/resources/mapper/SystemMapper.xml
Normal file
22
src/main/resources/mapper/SystemMapper.xml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.guaiguailang.harmony.mapper.SystemMapper">
|
||||||
|
|
||||||
|
<!-- 查询所有菜单 -->
|
||||||
|
<select id="getAllMenus" resultType="com.guaiguailang.harmony.domain.entity.SystemMenu">
|
||||||
|
SELECT id,
|
||||||
|
title,
|
||||||
|
`key`,
|
||||||
|
name,
|
||||||
|
component,
|
||||||
|
redirect,
|
||||||
|
icon,
|
||||||
|
status,
|
||||||
|
parent,
|
||||||
|
`order`
|
||||||
|
FROM system_menu
|
||||||
|
ORDER BY `order`
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue
Block a user