chao 3 лет назад
Родитель
Сommit
1ac95c105a

+ 65 - 0
db.sql

@@ -0,0 +1,65 @@
+-- 系统用户表
+DROP TABLE IF EXISTS `sys_user`;
+CREATE TABLE `sys_user` (
+  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '用户ID',
+  `username` VARCHAR(255) UNIQUE NOT NULL COMMENT '用户名',
+  `password` VARCHAR(255) NOT NULL COMMENT '密码',
+  `avatar` VARCHAR(255) DEFAULT 'https://www.caimei365.com/favicon.png' COMMENT '头像',
+  `fullName` VARCHAR(100) NOT NULL COMMENT '姓名',
+  `phone` INT(20) NOT NULL COMMENT '电话',
+  `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
+  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
+  `del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标记:0未删,其他删除',
+  PRIMARY KEY (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='系统用户表';
+-- 系统角色表
+DROP TABLE IF EXISTS `sys_role`;
+CREATE TABLE `sys_role` (
+  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '角色ID',
+  `role_name` VARCHAR(50) UNIQUE  NOT NULL COMMENT '角色名称',
+  `role_desc` VARCHAR(255) DEFAULT NULL COMMENT '描述',
+  `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
+  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
+  `del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标记:0未删,其他删除',
+  PRIMARY KEY (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='系统角色表';
+-- 系统菜单表
+DROP TABLE IF EXISTS `sys_menu`;
+CREATE TABLE `sys_menu` (
+  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
+  `title` VARCHAR(100) NOT NULL COMMENT '菜单名称',
+  `name` VARCHAR(100) UNIQUE NOT NULL COMMENT '路由名称(前端匹配路由用)',
+  `icon` VARCHAR(50) DEFAULT NULL COMMENT '图标',
+  `parent_id` BIGINT NOT NULL DEFAULT '0' COMMENT '父级菜单Id',
+  `hidden` CHAR(1) NOT NULL DEFAULT '0' COMMENT '隐藏状态:0显示,1隐藏',
+  `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态:0启用,1停用',
+  `sort` INT(10) NOT NULL DEFAULT 0 COMMENT '排序',
+  `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
+  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
+  `del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标记:0未删,其他删除',
+  PRIMARY KEY (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='系统菜单表';
+-- 系统权限表
+/*DROP TABLE IF EXISTS `sys_permission`;
+CREATE TABLE `sys_permission` (
+  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '权限ID',
+  `permission` VARCHAR(100) DEFAULT NULL COMMENT '权限标识',
+  PRIMARY KEY (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='系统权限表';
+*/
+-- 用户&角色 关联表
+DROP TABLE IF EXISTS `sys_role_user`;
+CREATE TABLE `sys_role_user` (
+  `id` BIGINT NOT NULL AUTO_INCREMENT,
+  `role_id` VARCHAR(50) DEFAULT NULL COMMENT '角色ID',
+  `user_id` VARCHAR(255) DEFAULT NULL COMMENT '用户ID',
+  PRIMARY KEY (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='系统用户角色关联表';
+-- 菜单&角色 关联表
+DROP TABLE IF EXISTS `sys_role_menu`;
+CREATE TABLE `sys_role_menu` (
+  `id` BIGINT NOT NULL AUTO_INCREMENT,
+  `role_id` VARCHAR(50) DEFAULT NULL COMMENT '角色ID',
+  `menu_id` VARCHAR(255) DEFAULT NULL COMMENT '菜单ID',
+  PRIMARY KEY (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='系统用户角色关联表';

+ 2 - 1
src/main/java/com/caimei365/manager/controller/SysUserApi.java

@@ -176,7 +176,8 @@ public class SysUserApi {
      * @param pageSize 每页大小
      */
     @GetMapping("/menu/list")
-    public ResponseJson<PaginationVo<SysMenu>> menuList(Integer parentId, Integer status,
+    public ResponseJson<PaginationVo<SysMenu>> menuList(Integer status,
+            @RequestParam(value = "parentId", defaultValue = "0") Integer parentId,
             @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
             @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
         return sysUserService.getMenuList(parentId, status, pageNum, pageSize);

+ 4 - 0
src/main/java/com/caimei365/manager/entity/SysMenu.java

@@ -41,6 +41,10 @@ public class SysMenu {
      * 创建时间
      */
     private Date createTime;
+    /**
+     * 隐藏状态:0显示,1隐藏
+     */
+    private Integer hidden;
     /**
      * 状态:0启用,1停用
      */

+ 3 - 0
src/main/java/com/caimei365/manager/service/impl/SysUserServiceImpl.java

@@ -356,6 +356,9 @@ public class SysUserServiceImpl implements SysUserService {
         if (null != menu.getSort()){
             dbMenu.setSort(menu.getSort());
         }
+        if (null != menu.getHidden()){
+            dbMenu.setHidden(menu.getHidden());
+        }
         if (null != menu.getStatus()){
             dbMenu.setStatus(menu.getStatus());
         }

+ 16 - 16
src/main/resources/mapper/SysUserDao.xml

@@ -19,16 +19,6 @@
         LEFT JOIN sys_user u ON ru.user_id = u.id
         WHERE u.username=#{username}
     </select>
-    <select id="getMenusByRoleIds" resultType="com.caimei365.manager.entity.SysMenu">
-        SELECT m.id, m.title , m.name, m.icon, m.parent_id AS parentId, m.status, m.sort, m.create_time AS createTime, del_flag AS delFlag
-        FROM sys_menu m
-                 LEFT JOIN sys_role_menu rm ON m.id = rm.menu_id
-        WHERE m.del_flag = 0 AND m.status = 0 AND rm.role_id IN
-        <foreach item="roleId" collection="roleIds" open="(" separator="," close=")">
-            #{roleId}
-        </foreach>
-        ORDER BY m.sort
-    </select>
     <select id="getUserList" resultType="com.caimei365.manager.entity.SysUser">
         SELECT u.id, u.username, u.password, u.avatar, u.fullName, u.phone, u.create_time AS createTime ,u.update_time AS updateTime, del_flag AS delFlag
         FROM sys_user u
@@ -95,8 +85,18 @@
     <update id="deleteRole">
         UPDATE sys_role SET del_flag=1, update_time=NOW() WHERE id = #{id}
     </update>
+    <select id="getMenusByRoleIds" resultType="com.caimei365.manager.entity.SysMenu">
+        SELECT m.id, m.title , m.name, m.icon, m.parent_id AS parentId, m.hidden, m.status, m.sort, m.create_time AS createTime, del_flag AS delFlag
+        FROM sys_menu m
+        LEFT JOIN sys_role_menu rm ON m.id = rm.menu_id
+        WHERE m.del_flag = 0 AND m.status = 0 AND rm.role_id IN
+        <foreach item="roleId" collection="roleIds" open="(" separator="," close=")">
+            #{roleId}
+        </foreach>
+        ORDER BY m.sort
+    </select>
     <select id="getMenuList" resultType="com.caimei365.manager.entity.SysMenu">
-        SELECT m.id, m.title , m.name, m.icon, m.parent_id AS parentId, m.status, m.sort, m.create_time AS createTime, del_flag AS delFlag,
+        SELECT m.id, m.title , m.name, m.icon, m.parent_id AS parentId, m.status, m.hidden, m.sort, m.create_time AS createTime, del_flag AS delFlag,
         (SELECT COUNT(*) FROM sys_menu WHERE parent_id=m.id) AS childCount
         FROM sys_menu m
         WHERE m.del_flag = 0
@@ -109,22 +109,22 @@
         ORDER BY m.sort
     </select>
     <select id="getMenu" resultType="com.caimei365.manager.entity.SysMenu">
-        SELECT m.id, m.title , m.name, m.icon, m.parent_id AS parentId, m.status, m.sort, m.create_time AS createTime, del_flag AS delFlag
+        SELECT m.id, m.title , m.name, m.icon, m.parent_id AS parentId, m.hidden, m.status, m.sort, m.create_time AS createTime, del_flag AS delFlag
         FROM sys_menu m
         WHERE m.id = #{id}
     </select>
     <select id="getMenuByName" resultType="com.caimei365.manager.entity.SysMenu">
-        SELECT m.id, m.title , m.name, m.icon, m.parent_id AS parentId, m.status, m.sort, m.create_time AS createTime, del_flag AS delFlag
+        SELECT m.id, m.title , m.name, m.icon, m.parent_id AS parentId, m.hidden, m.status, m.sort, m.create_time AS createTime, del_flag AS delFlag
         FROM sys_menu m
         WHERE m.name = #{name}
     </select>
     <update id="updateMenu">
-        UPDATE sys_menu SET title=#{title}, name=#{name}, icon=#{icon}, parent_id=#{parentId}, status=#{status}, sort=#{sort}, update_time=NOW()
+        UPDATE sys_menu SET title=#{title}, name=#{name}, icon=#{icon}, parent_id=#{parentId}, hidden=#{hidden}, status=#{status}, sort=#{sort}, update_time=NOW()
         WHERE id = #{id}
     </update>
     <insert id="insertMenu" keyProperty="id" keyColumn="id" useGeneratedKeys="true">
-        INSERT INTO sys_menu(title, name, icon, parent_id, status, sort, create_time)
-        VALUES (#{title}, #{name}, #{icon}, #{parentId}, #{status}, #{sort}, NOW())
+        INSERT INTO sys_menu(title, name, icon, parent_id, hidden, status, sort, create_time)
+        VALUES (#{title}, #{name}, #{icon}, #{parentId}, #{hidden}, #{status}, #{sort}, NOW())
     </insert>
     <update id="deleteMenu">
         UPDATE sys_menu SET del_flag=1, update_time=NOW() WHERE id = #{id}