Prechádzať zdrojové kódy

菜单权限接口修改

gt 2 rokov pred
rodič
commit
c8987c29aa
27 zmenil súbory, kde vykonal 358 pridanie a 125 odobranie
  1. 16 17
      chuanyi_server/src/main/java/com/judong/chuanyiserver/controller/DepartmentController.java
  2. 25 5
      chuanyi_server/src/main/java/com/judong/chuanyiserver/controller/MenuController.java
  3. 16 4
      chuanyi_server/src/main/java/com/judong/chuanyiserver/controller/RoleController.java
  4. 2 0
      chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/DepartmentDao.java
  5. 12 0
      chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/MenuDao.java
  6. 1 1
      chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/PermissionDao.java
  7. 5 0
      chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/RoleDao.java
  8. 2 2
      chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/UserDao.java
  9. 3 3
      chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/Department.java
  10. 4 4
      chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/Menu.java
  11. 1 1
      chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/Permission.java
  12. 1 1
      chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/Role.java
  13. 1 1
      chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/ServerInformation.java
  14. 2 0
      chuanyi_server/src/main/java/com/judong/chuanyiserver/service/DepartmentService.java
  15. 4 0
      chuanyi_server/src/main/java/com/judong/chuanyiserver/service/MenuService.java
  16. 4 0
      chuanyi_server/src/main/java/com/judong/chuanyiserver/service/RoleService.java
  17. 5 1
      chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/DepartmentServiceImpl.java
  18. 57 7
      chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/MenuServiceImpl.java
  19. 9 0
      chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/RoleServiceImpl.java
  20. 83 66
      chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/UserServiceImpl.java
  21. 7 0
      chuanyi_server/src/main/java/com/judong/chuanyiserver/util/ConstantStr.java
  22. 9 8
      chuanyi_server/src/main/java/com/judong/chuanyiserver/util/Test.java
  23. 6 0
      chuanyi_server/src/main/resources/mapper/DepartmentDao.xml
  24. 61 2
      chuanyi_server/src/main/resources/mapper/MenuDao.xml
  25. 1 1
      chuanyi_server/src/main/resources/mapper/PermissionDao.xml
  26. 16 0
      chuanyi_server/src/main/resources/mapper/RoleDao.xml
  27. 5 1
      chuanyi_server/src/main/resources/mapper/UserDao.xml

+ 16 - 17
chuanyi_server/src/main/java/com/judong/chuanyiserver/controller/DepartmentController.java

@@ -2,7 +2,6 @@ package com.judong.chuanyiserver.controller;
 
 import com.judong.chuanyiserver.annotation.PermissionControl;
 import com.judong.chuanyiserver.entity.Department;
-import com.judong.chuanyiserver.entity.Role;
 import com.judong.chuanyiserver.enums.ResultEnum;
 import com.judong.chuanyiserver.service.DepartmentService;
 import com.judong.chuanyiserver.util.Blank;
@@ -36,7 +35,7 @@ public class DepartmentController {
     }
 
     /**
-     * 修改角色信息
+     * 修改部门信息
      *
      * @param department
      * @return
@@ -51,7 +50,7 @@ public class DepartmentController {
     }
 
     /**
-     * 分页查询所有的角色信息
+     * 分页查询所有的部门信息
      *
      * @param page
      * @param limit
@@ -66,18 +65,18 @@ public class DepartmentController {
         return departmentService.getDepartmentListByPage(page, limit);
     }
 
-//    /**
-//     * 通过角色id查看角色信息
-//     *
-//     * @param id
-//     * @return
-//     */
-//    @GetMapping("/getRoleById")
-//    @PermissionControl
-//    public Result getRoleById(Integer id) {
-//        if (Blank.isEmpty(id)) {
-//            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
-//        }
-//        return departmentService.getRoleById(id);
-//    }
+    /**
+     * 通过角色id查看部门信息
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/getDepartmentById")
+    @PermissionControl
+    public Result getDepartmentById(Integer id) {
+        if (Blank.isEmpty(id)) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
+        }
+        return departmentService.getDepartmentById(id);
+    }
 }

+ 25 - 5
chuanyi_server/src/main/java/com/judong/chuanyiserver/controller/MenuController.java

@@ -26,7 +26,6 @@ public class MenuController {
      * @return
      */
     @PostMapping("/addMenu")
-    @PermissionControl
     public Result addMenu(Menu menu) {
         if (Blank.isEmpty(menu)) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
@@ -35,13 +34,12 @@ public class MenuController {
     }
 
     /**
-     * 修改菜单信息
+     * 修改菜单信息.这个接口,fuid不允许被修改
      *
      * @param menu
      * @return
      */
     @PostMapping("/updateMenu")
-    @PermissionControl
     public Result updateMenu(Menu menu) {
         if (Blank.isEmpty(menu)) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
@@ -57,7 +55,6 @@ public class MenuController {
      * @return
      */
     @GetMapping("/getMenuListByPage")
-    @PermissionControl
     public Result getMenuListByPage(Integer page, Integer limit) {
         if (Blank.isEmpty(page, limit) || page < 1 || limit < 1) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
@@ -66,17 +63,40 @@ public class MenuController {
     }
 
     /**
+     * 获取所有菜单信息,并成树展示
+     *
+     * @return
+     */
+    @GetMapping("/getMenuTree")
+    public Result getMenuTree() {
+        return menuService.getMenuTree();
+    }
+
+    /**
      * 通过id查看菜单信息
      *
      * @param id
      * @return
      */
     @GetMapping("/getMenuById")
-    @PermissionControl
     public Result getMenuById(Integer id) {
         if (Blank.isEmpty(id)) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
         }
         return menuService.getMenuById(id);
     }
+
+    /**
+     * 通过id删除菜单信息,同时删除菜单关联的信息
+     *
+     * @param id
+     * @return
+     */
+    @PostMapping("/deleteMenuById")
+    public Result deleteMenuById(Integer id) {
+        if (Blank.isEmpty(id)) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
+        }
+        return menuService.deleteMenuById(id);
+    }
 }

+ 16 - 4
chuanyi_server/src/main/java/com/judong/chuanyiserver/controller/RoleController.java

@@ -2,15 +2,13 @@ package com.judong.chuanyiserver.controller;
 
 import com.judong.chuanyiserver.annotation.PermissionControl;
 import com.judong.chuanyiserver.entity.Role;
+import com.judong.chuanyiserver.entity.User;
 import com.judong.chuanyiserver.enums.ResultEnum;
 import com.judong.chuanyiserver.service.RoleService;
 import com.judong.chuanyiserver.util.Blank;
 import com.judong.chuanyiserver.util.Result;
 import org.springframework.beans.factory.annotation.Autowired;
-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;
+import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequestMapping("role")
@@ -79,4 +77,18 @@ public class RoleController {
         }
         return roleService.getRoleById(id);
     }
+
+    /**
+     * 通过传入的角色集合获取菜单信息
+     *
+     * @param user
+     * @return
+     */
+    @GetMapping("/getMenuListByRoleList")
+    public Result getMenuListByRoleList(@RequestBody User user) {
+        if (Blank.isEmpty(user, user.getRoleList())) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), ResultEnum.REQUEST_WRONGPARAMS.getRespMsg());
+        }
+        return roleService.getMenuListByRoleList(user.getRoleList());
+    }
 }

+ 2 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/DepartmentDao.java

@@ -19,4 +19,6 @@ public interface DepartmentDao {
     Long getDepartmentCount();
 
     List<Department> getDepartmentListByPage(Long startNum, Long limitNum);
+
+    Department getDepartmentById(Integer id);
 }

+ 12 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/MenuDao.java

@@ -21,4 +21,16 @@ public interface MenuDao {
     List<Menu> getMenuListByPage(Long startNum, Long limitNum);
 
     Menu getMenuById(Integer id);
+
+    Menu getMenuByName(String menuName);
+
+    Menu getMenuByNoIdName(int id, String menuName);
+
+    Integer deleteMenuById(Integer id);
+
+    Integer deleteRoleMenuById(Integer menuId);
+
+    Integer deleteMenuPermissionById(Integer menuId);
+
+    List<Menu> getAllMenu(Integer menuAvailable);
 }

+ 1 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/PermissionDao.java

@@ -24,5 +24,5 @@ public interface PermissionDao {
 
     Integer deletePermissionById(Integer id);
 
-    Integer deleteRolePermissionById(Integer id);
+    Integer deleteRolePermissionById(Integer permissionId);
 }

+ 5 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/RoleDao.java

@@ -1,5 +1,6 @@
 package com.judong.chuanyiserver.dao;
 
+import com.judong.chuanyiserver.entity.Menu;
 import com.judong.chuanyiserver.entity.Role;
 import com.judong.chuanyiserver.util.Result;
 import org.springframework.stereotype.Repository;
@@ -22,4 +23,8 @@ public interface RoleDao {
     List<Role> getRoleListByPage(Long startNum, Long limitNum);
 
     Role getRoleById(Integer id);
+
+    List<Integer> getMenuIdByRoleMenu(List<Role> roleList);
+
+    List<Menu> getMenuListByMenuIdList(List<Integer> menuIdList);
 }

+ 2 - 2
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/UserDao.java

@@ -34,9 +34,9 @@ public interface UserDao {
 
     List<Role> getRoleListByUserId(String userId);
 
-    Long getUserCount();
+    Long getUserCount(Integer normalUse, Integer lockUser);
 
-    List<User> getUserPage(Long startNum, Long limitNum);
+    List<User> getUserPage(Long startNum, Long limitNum, Integer normalUse, Integer lockUser);
 
     Integer deleteUserRoleByUserId(String userId);
 

+ 3 - 3
chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/Department.java

@@ -13,11 +13,11 @@ public class Department implements Serializable {
     /**
      * id
      */
-    private int id;
+    private Integer id;
     /**
      * 父id
      */
-    private int parentId;
+    private Integer parentId;
     /**
      * 菜单名称
      */
@@ -29,7 +29,7 @@ public class Department implements Serializable {
     /**
      * 排序号
      */
-    private int departmentNum;
+    private Integer departmentNum;
     /**
      * 创建时间
      */

+ 4 - 4
chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/Menu.java

@@ -14,11 +14,11 @@ public class Menu implements Serializable {
     /**
      * id
      */
-    private int id;
+    private Integer id;
     /**
      * 父id
      */
-    private int parentId;
+    private Integer parentId;
     /**
      * 菜单名称
      */
@@ -34,11 +34,11 @@ public class Menu implements Serializable {
     /**
      * 排序号
      */
-    private int sortNum;
+    private Integer sortNum;
     /**
      * 菜单状态1:可用,0:不可用
      */
-    private int menuStatus;
+    private Integer menuStatus;
     /**
      * 创建时间
      */

+ 1 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/Permission.java

@@ -12,7 +12,7 @@ public class Permission implements Serializable {
     /**
      * id
      */
-    private int id;
+    private Integer id;
     /**
      * 权限路径
      */

+ 1 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/Role.java

@@ -12,7 +12,7 @@ public class Role implements Serializable {
     /**
      * id
      */
-    private int id;
+    private Integer id;
     /**
      * 角色名称
      */

+ 1 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/entity/ServerInformation.java

@@ -11,7 +11,7 @@ public class ServerInformation implements Serializable {
     /**
      * id
      */
-    private int id;
+    private Integer id;
 
     /**
      * 用户id

+ 2 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/DepartmentService.java

@@ -10,4 +10,6 @@ public interface DepartmentService {
     Result updateDepartment(Department department);
 
     Result getDepartmentListByPage(Integer page, Integer limit);
+
+    Result getDepartmentById(Integer id);
 }

+ 4 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/MenuService.java

@@ -12,4 +12,8 @@ public interface MenuService {
     Result getMenuListByPage(Integer page, Integer limit);
 
     Result getMenuById(Integer id);
+
+    Result deleteMenuById(Integer id);
+
+    Result getMenuTree();
 }

+ 4 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/RoleService.java

@@ -3,6 +3,8 @@ package com.judong.chuanyiserver.service;
 import com.judong.chuanyiserver.entity.Role;
 import com.judong.chuanyiserver.util.Result;
 
+import java.util.List;
+
 public interface RoleService {
 
     Result addRole(String roleName);
@@ -12,4 +14,6 @@ public interface RoleService {
     Result getRoleListByPage(Integer page, Integer limit);
 
     Result getRoleById(Integer id);
+
+    Result getMenuListByRoleList(List<Role> roleList);
 }

+ 5 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/DepartmentServiceImpl.java

@@ -3,7 +3,6 @@ package com.judong.chuanyiserver.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.judong.chuanyiserver.dao.DepartmentDao;
 import com.judong.chuanyiserver.entity.Department;
-import com.judong.chuanyiserver.entity.Menu;
 import com.judong.chuanyiserver.enums.ResultEnum;
 import com.judong.chuanyiserver.service.DepartmentService;
 import com.judong.chuanyiserver.util.Blank;
@@ -59,4 +58,9 @@ public class DepartmentServiceImpl implements DepartmentService {
         jsonObject.put("departmentList", departmentList);
         return Result.ok(jsonObject);
     }
+
+    @Override
+    public Result getDepartmentById(Integer id) {
+        return Result.ok(departmentDao.getDepartmentById(id));
+    }
 }

+ 57 - 7
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/MenuServiceImpl.java

@@ -12,7 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.List;
+import java.util.*;
 
 @Service
 @Transactional
@@ -25,8 +25,14 @@ public class MenuServiceImpl implements MenuService {
         if (Blank.isEmpty(menu.getParentId(), menu.getMenuName(), menu.getMenuUrl())) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "父id,菜单名称,菜单路径不能为空");
         }
-        if (Blank.isEmpty(menuDao.getMenuByUrl(menu.getMenuUrl()))) {
-            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "该菜单路径已被使用,请更换其他菜单路径");
+        if (menu.getParentId() == ConstantStr.TOP_LEVEL_MENU) {
+            if (Blank.isNotEmpty(menuDao.getMenuByName(menu.getMenuName()))) {
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "该顶级菜单名称已被使用,请更换其他顶级菜单名称");
+            }
+        } else {
+            if (Blank.isNotEmpty(menuDao.getMenuByUrl(menu.getMenuUrl()))) {
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "该菜单路径已被使用,请更换其他菜单路径");
+            }
         }
         //新增菜单,默认为可用
         menu.setMenuStatus(ConstantStr.MENU_AVAILABLE);
@@ -38,11 +44,18 @@ public class MenuServiceImpl implements MenuService {
 
     @Override
     public Result updateMenu(Menu menu) {
-        if (Blank.isEmpty(menu.getId(), menu.getParentId(), menu.getMenuName(), menu.getMenuUrl())) {
-            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "id,父id,菜单名称,菜单路径不能为空");
+        if (Blank.isEmpty(menu.getId(), menu.getMenuName(), menu.getMenuUrl(), menu.getMenuStatus())) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "id,菜单名称,菜单路径,菜单状态不能为空");
         }
-        if (Blank.isNotEmpty(menuDao.getMenuByNoIdUrl(menu.getId(), menu.getMenuUrl()))) {
-            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "已存在该菜单路径,请更换菜单路径");
+        Menu oldMenu = menuDao.getMenuById(menu.getId());
+        if (oldMenu.getParentId() == ConstantStr.TOP_LEVEL_MENU) {
+            if (Blank.isNotEmpty(menuDao.getMenuByNoIdName(menu.getId(), menu.getMenuName()))) {
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "该顶级菜单名称已被使用,请更换其他顶级菜单名称");
+            }
+        } else {
+            if (Blank.isNotEmpty(menuDao.getMenuByNoIdUrl(menu.getId(), menu.getMenuUrl()))) {
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "已存在该菜单路径,请更换菜单路径");
+            }
         }
         if (menuDao.updateMenu(menu) <= 0) {
             return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "修改菜单失败");
@@ -65,4 +78,41 @@ public class MenuServiceImpl implements MenuService {
     public Result getMenuById(Integer id) {
         return Result.ok(menuDao.getMenuById(id));
     }
+
+    @Override
+    public Result deleteMenuById(Integer id) {
+        if (menuDao.deleteMenuById(id) <= 0) {
+            return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "删除菜单失败");
+        }
+        menuDao.deleteRoleMenuById(id);
+        menuDao.deleteMenuPermissionById(id);
+        return Result.ok("删除菜单成功");
+    }
+
+    @Override
+    public Result getMenuTree() {
+        JSONObject jsonObject = new JSONObject();
+        List<Menu> allMenuList = menuDao.getAllMenu(ConstantStr.MENU_AVAILABLE);
+        jsonObject.put("menuTree", gennerMenuTree(allMenuList.iterator(), ConstantStr.TOP_LEVEL_MENU));
+        return Result.ok(jsonObject);
+    }
+
+    public List<JSONObject> gennerMenuTree(Iterator<Menu> menuIterator, Integer parentId) {
+        List<JSONObject> jsonObjectList = new ArrayList<>();
+        if (Blank.isEmpty(menuIterator)) {
+            return null;
+        }
+        while (menuIterator.hasNext()) {
+            JSONObject jsonObject = new JSONObject();
+            Menu menu = menuIterator.next();
+            if (menu.getParentId() == parentId) {
+                jsonObject.put("id", menu.getId());
+                jsonObject.put("lable", menu.getMenuName());
+                menuIterator.remove();
+                jsonObject.put("children", gennerMenuTree(menuIterator, menu.getId()));
+                jsonObjectList.add(jsonObject);
+            }
+        }
+        return jsonObjectList;
+    }
 }

+ 9 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/RoleServiceImpl.java

@@ -61,4 +61,13 @@ public class RoleServiceImpl implements RoleService {
         return Result.ok(roleDao.getRoleById(id));
     }
 
+    @Override
+    public Result getMenuListByRoleList(List<Role> roleList) {
+        List<Integer> menuIdList = roleDao.getMenuIdByRoleMenu(roleList);
+        if (Blank.isEmpty(menuIdList)) {
+            return Result.ok(null);
+        }
+        return Result.ok(roleDao.getMenuListByMenuIdList(menuIdList));
+    }
+
 }

+ 83 - 66
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/UserServiceImpl.java

@@ -13,23 +13,14 @@ import com.judong.chuanyiserver.exception.CustomException;
 import com.judong.chuanyiserver.service.UserService;
 import com.judong.chuanyiserver.util.*;
 import lombok.extern.slf4j.Slf4j;
-import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
 
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
-import java.util.concurrent.TimeUnit;
 
 @Slf4j
 @Service
@@ -94,30 +85,42 @@ public class UserServiceImpl implements UserService {
         }
         // 验证码通过则删除验证码
         redisUtil.del(user.getUid() + "-captcha");
-        JSONObject json = new JSONObject();
-        isExistUser.setPassword("");
-        json.put("user", isExistUser);
-        //生成token
-        String token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.HALF_HOUR);
-        json.put("token", token);
-        redisUtil.set(token, isExistUser.getUserId(), ConstantStr.HALF_HOUR);
-        List<Integer> roleIdList = userDao.getRoleIdListByUserId(isExistUser.getUserId());
-        if (Blank.isEmpty(roleIdList)) {
-            json.put("roleIdList", new ArrayList<>());
-            return Result.ok(json);
-        }
-        json.put("roleIdList", roleIdList);
-        List<Permission> permissionList = userDao.getPermissionByRoleList(roleIdList);
-        if (Blank.isEmpty(permissionList)) {
-            json.put("permissionList", new ArrayList<>());
-            return Result.ok(json);
+        if (isExistUser.getState() == ConstantStr.NORMAL_USE) {
+
         }
-        json.put("permissionList", permissionList);
-        //更新用户登录状态
-        if (userDao.updateLoginState(isExistUser.getUserId()) <= 0) {
-            return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "更新登录状态失败");
+        switch (isExistUser.getState()) {
+            case ConstantStr.NORMAL_USE:
+                JSONObject json = new JSONObject();
+                isExistUser.setPassword("");
+                json.put("user", isExistUser);
+                //生成token
+                String token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.HALF_HOUR);
+                json.put("token", token);
+                redisUtil.set(token, isExistUser.getUserId(), ConstantStr.HALF_HOUR);
+                List<Integer> roleIdList = userDao.getRoleIdListByUserId(isExistUser.getUserId());
+                if (Blank.isEmpty(roleIdList)) {
+                    json.put("roleIdList", new ArrayList<>());
+                    return Result.ok(json);
+                }
+                json.put("roleIdList", roleIdList);
+                List<Permission> permissionList = userDao.getPermissionByRoleList(roleIdList);
+                if (Blank.isEmpty(permissionList)) {
+                    json.put("permissionList", new ArrayList<>());
+                    return Result.ok(json);
+                }
+                json.put("permissionList", permissionList);
+                //更新用户登录状态
+                if (userDao.updateLoginState(isExistUser.getUserId()) <= 0) {
+                    return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "更新登录状态失败");
+                }
+                return Result.ok(json);
+            case ConstantStr.LOCK_USER:
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户已被锁定,请联系管理员");
+            case ConstantStr.TOMBSTONE:
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户已被删除,请联系管理员");
+            default:
+                throw new CustomException(ResultEnum.UNKNOWN_ERROR.getRespCode(), "用户状态不在系统设置列中");
         }
-        return Result.ok(json);
     }
 
     /**
@@ -147,29 +150,38 @@ public class UserServiceImpl implements UserService {
         }
         // 验证码通过则删除验证码
         redisUtil.del(user.getUid() + "-captcha");
-        List<Integer> roleIdList = userDao.getRoleIdListByUserId(isExistUser.getUserId());
-        if (Blank.isEmpty(roleIdList)) {
-            return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), ResultEnum.NO_OPERATION_AUTHORITY.getRespMsg());
-        }
-        for (Integer roleId : roleIdList) {
-            if (roleId == ConstantStr.ROLE_ADMIN) {
-                JSONObject json = new JSONObject();
-                isExistUser.setPassword("");
-                json.put("user", isExistUser);
-                json.put("roleIdList", roleIdList);
-                List<Permission> permissionList = userDao.getPermissionByRoleList(roleIdList);
-                if (Blank.isEmpty(permissionList)) {
-                    return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), "没有权限信息");
+        switch (isExistUser.getState()) {
+            case ConstantStr.NORMAL_USE:
+                List<Integer> roleIdList = userDao.getRoleIdListByUserId(isExistUser.getUserId());
+                if (Blank.isEmpty(roleIdList)) {
+                    return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), ResultEnum.NO_OPERATION_AUTHORITY.getRespMsg());
                 }
-                json.put("permissionList", permissionList);
-                //生成token
-                String token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.HALF_HOUR);
-                json.put("token", token);
-                redisUtil.set(token, isExistUser.getUserId(), ConstantStr.HALF_HOUR);
-                return Result.ok(json);
-            }
+                for (Integer roleId : roleIdList) {
+                    if (roleId == ConstantStr.ROLE_ADMIN) {
+                        JSONObject json = new JSONObject();
+                        isExistUser.setPassword("");
+                        json.put("user", isExistUser);
+                        json.put("roleIdList", roleIdList);
+                        List<Permission> permissionList = userDao.getPermissionByRoleList(roleIdList);
+                        if (Blank.isEmpty(permissionList)) {
+                            return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), "没有权限信息");
+                        }
+                        json.put("permissionList", permissionList);
+                        //生成token
+                        String token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.HALF_HOUR);
+                        json.put("token", token);
+                        redisUtil.set(token, isExistUser.getUserId(), ConstantStr.HALF_HOUR);
+                        return Result.ok(json);
+                    }
+                }
+                return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), ResultEnum.NO_OPERATION_AUTHORITY.getRespMsg());
+            case ConstantStr.LOCK_USER:
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户已被锁定,请联系管理员");
+            case ConstantStr.TOMBSTONE:
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户已被删除,请联系管理员");
+            default:
+                throw new CustomException(ResultEnum.UNKNOWN_ERROR.getRespCode(), "用户状态不在系统设置列中");
         }
-        return Result.no(ResultEnum.NO_OPERATION_AUTHORITY.getRespCode(), ResultEnum.NO_OPERATION_AUTHORITY.getRespMsg());
     }
 
     /**
@@ -241,9 +253,9 @@ public class UserServiceImpl implements UserService {
     @Override
     public Result getUserPage(int page, int limit) {
         JSONObject jsonObject = new JSONObject();
-        Long count = userDao.getUserCount();
+        Long count = userDao.getUserCount(ConstantStr.NORMAL_USE, ConstantStr.LOCK_USER);
         Long startNum = Long.valueOf((page - 1) * limit);
-        List<User> userList = userDao.getUserPage(startNum, Long.valueOf(limit));
+        List<User> userList = userDao.getUserPage(startNum, Long.valueOf(limit), ConstantStr.NORMAL_USE, ConstantStr.LOCK_USER);
         jsonObject.put("count", count);
         jsonObject.put("userList", userList);
         return Result.ok(jsonObject);
@@ -266,21 +278,26 @@ public class UserServiceImpl implements UserService {
 
     @Override
     public synchronized Result updateUserStateById(String userId, Integer userState) {
-        if (userState != ConstantStr.NORMAL_USE && userState != ConstantStr.LOCK_USER && userState != ConstantStr.TOMBSTONE) {
-            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户状态参数只能为0,1,2");
+        if (userState != ConstantStr.NORMAL_USE && userState != ConstantStr.LOCK_USER) {
+            return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "用户状态参数只能为0,1");
         }
         String msg = "";
-        if (userState == ConstantStr.NORMAL_USE) {
-            msg = "用户变更为正常用户";
-        } else if (userState == ConstantStr.LOCK_USER) {
-            msg = "锁定用户";
-        } else if (userState == ConstantStr.TOMBSTONE) {
-            msg = "删除用户";
-        }
-        if (userDao.updateUserState(userId, userState) <= 0) {
-            return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), msg + "失败");
+        switch (userState) {
+            case ConstantStr.NORMAL_USE:
+                msg = "用户变更为正常用户";
+                if (userDao.updateUserState(userId, userState) <= 0) {
+                    return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), msg + "失败");
+                }
+                return Result.ok(msg + "成功");
+            case ConstantStr.LOCK_USER:
+                msg = "userState";
+                if (userDao.updateUserState(userId, userState) <= 0) {
+                    return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), msg + "失败");
+                }
+                return Result.ok(msg + "成功");
+            default:
+                throw new CustomException(ResultEnum.UNKNOWN_ERROR.getRespCode(), "用户状态参数只能为0,1");
         }
-        return Result.ok(msg + "成功");
     }
 
     @Override

+ 7 - 0
chuanyi_server/src/main/java/com/judong/chuanyiserver/util/ConstantStr.java

@@ -32,9 +32,16 @@ public class ConstantStr {
     public static final int MENU_NOT_AVAILABLE = 0;
     public static final int MENU_AVAILABLE = 1;
 
+    //顶级菜单常量
+    public static final int TOP_LEVEL_MENU = 0;
+
     //UA登录是否匿名
     public static final int NOT_ANONYMOUS = 0;
     public static final int IS_ANONYMOUS = 1;
 
+    //是否逻辑删除,0未删除,1已删除
+    public static final int PUBLIC_NO_DELETE = 0;
+    public static final int PUBLIC_IS_DELETE = 1;
+
 
 }

+ 9 - 8
chuanyi_server/src/main/java/com/judong/chuanyiserver/util/Test.java

@@ -17,14 +17,15 @@ public class Test {
     private static Logger logger = LoggerFactory.getLogger(Test.class);
 
     public static void main(String[] args) throws Exception {
-        OpcUaClient client = test();
-        if (client == null) {
-            throw new CustomException(500, "客户端配置实例化失败");
-        }
-        // 创建连接
-        client.connect().get();
-        List<JSONObject> jsonObjectList = OpcServerUaUtil.generOpcUaTree(client, null);
-        System.out.println(jsonObjectList.toString());
+        System.out.println(RSAUtil.encryptByPublic("jd123456", RSAUtil.PUBLIC_KEY));
+//        OpcUaClient client = test();
+//        if (client == null) {
+//            throw new CustomException(500, "客户端配置实例化失败");
+//        }
+//        // 创建连接
+//        client.connect().get();
+//        List<JSONObject> jsonObjectList = OpcServerUaUtil.generOpcUaTree(client, null);
+//        System.out.println(jsonObjectList.toString());
     }
 
     public static OpcUaClient test() throws Exception {

+ 6 - 0
chuanyi_server/src/main/resources/mapper/DepartmentDao.xml

@@ -39,4 +39,10 @@
         from sys_department
         limit #{startNum},#{limitNum}
     </select>
+
+    <select id="getDepartmentById" resultType="com.judong.chuanyiserver.entity.Department">
+        select id, parent_id, department_name, department_describe, department_num, create_time, update_time
+        from sys_department
+        where id = #{id}
+    </select>
 </mapper>

+ 61 - 2
chuanyi_server/src/main/resources/mapper/MenuDao.xml

@@ -14,8 +14,7 @@
     </insert>
     <update id="updateMenu">
         update sys_menu
-        set parent_id=#{parentId},
-            menu_name=#{menuName},
+        set menu_name=#{menuName},
             menu_url=#{menuUrl},
             menu_icon=#{menuIcon},
             sort_num=#{sortNum},
@@ -23,6 +22,22 @@
             update_time=now()
         where id = #{id}
     </update>
+    <delete id="deleteMenuById">
+        delete
+        from sys_menu
+        where id = #{id}
+    </delete>
+    <delete id="deleteRoleMenuById">
+        delete
+        from sys_role_menu
+        where menu_id = #{menuId}
+    </delete>
+
+    <delete id="deleteMenuPermissionById">
+        delete
+        from sys_menu_permission
+        where menu_id = #{menuId}
+    </delete>
 
     <select id="getMenuByUrl" resultType="com.judong.chuanyiserver.entity.Menu">
         select id,
@@ -83,4 +98,48 @@
         from sys_menu
         where id = #{id}
     </select>
+
+    <select id="getMenuByName" resultType="com.judong.chuanyiserver.entity.Menu">
+        select id,
+               parent_id,
+               menu_name,
+               menu_url,
+               menu_icon,
+               sort_num,
+               menu_status,
+               create_time,
+               update_time
+        from sys_menu
+        where menu_name = #{menuName}
+    </select>
+
+    <select id="getMenuByNoIdName" resultType="com.judong.chuanyiserver.entity.Menu">
+        select id,
+               parent_id,
+               menu_name,
+               menu_url,
+               menu_icon,
+               sort_num,
+               menu_status,
+               create_time,
+               update_time
+        from sys_menu
+        where id != #{id}
+          and menu_name = #{menuName}
+    </select>
+
+    <select id="getAllMenu" resultType="com.judong.chuanyiserver.entity.Menu">
+        SELECT id,
+               parent_id,
+               menu_name,
+               menu_url,
+               menu_icon,
+               sort_num,
+               menu_status,
+               create_time,
+               update_time
+        FROM sys_menu
+        where menu_status = #{menuAvailable}
+        order by sort_num
+    </select>
 </mapper>

+ 1 - 1
chuanyi_server/src/main/resources/mapper/PermissionDao.xml

@@ -20,7 +20,7 @@
     <delete id="deleteRolePermissionById">
         delete
         from sys_role_permission
-        where permission_id = #{id}
+        where permission_id = #{permissionId}
     </delete>
 
     <select id="getPermissionByUrl" resultType="com.judong.chuanyiserver.entity.Permission">

+ 16 - 0
chuanyi_server/src/main/resources/mapper/RoleDao.xml

@@ -43,4 +43,20 @@
         from sys_role
         where id = #{id}
     </select>
+
+    <select id="getMenuIdByRoleMenu" resultType="java.lang.Integer">
+        select menu_id from sys_role_menu where role_id in (
+        <foreach collection="roleList" item="role" index="index" separator=",">
+            #{role.id}
+        </foreach>)
+    </select>
+
+    <select id="getMenuListByRoleList" resultType="com.judong.chuanyiserver.entity.Menu">
+        SELECT id, parent_id, menu_name, menu_url, menu_icon, sort_num, menu_status, create_time, update_time FROM
+        sys_menu in (
+        <foreach collection="menuIdList" item="menuId" index="index" separator=",">
+            #{menuId}
+        </foreach>
+        )
+    </select>
 </mapper>

+ 5 - 1
chuanyi_server/src/main/resources/mapper/UserDao.xml

@@ -120,11 +120,15 @@
     </select>
     <select id="getUserCount" resultType="java.lang.Long">
         select count(*)
-        from sys_user;
+        from sys_user
+        WHERE state = #{normalUse}
+           or state = #{lockUser}
     </select>
     <select id="getUserPage" resultType="com.judong.chuanyiserver.entity.User">
         select user_id, user_name, password, create_time, last_login_time, state
         from sys_user
+        WHERE state = #{normalUse}
+           or state = #{lockUser}
         order by create_time DESC
         limit #{startNum},#{limitNum}
     </select>