فهرست منبع

关于菜单与部门的新增与修改功能的修订

不吃鱼 2 سال پیش
والد
کامیت
51b25588aa

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

@@ -9,11 +9,11 @@ import java.util.List;
 @Repository
 public interface DepartmentDao {
 
-    Department getDepartmentByName(String departmentName);
+    Department getDepartmentByName(String departmentName,Integer parentId);
 
     Integer addDepartment(Department department);
 
-    Department getDepartmentByNoIdName(int id, String departmentName);
+    Department getDepartmentByNoIdName(int id, String departmentName,Integer parentId);
 
     Integer updateDepartment(Department department);
 

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

@@ -16,7 +16,7 @@ public interface MenuDao {
 
     Menu getMenuByNoIdUrl(int id, String menuUrl);
 
-    Integer updateMenu(Menu menu);
+    Integer updateMenu(@Param("menu") Menu menu);
 
     Long getMenuCount(String menuName, String menuUrl, Integer menuStatus);
 
@@ -24,9 +24,9 @@ public interface MenuDao {
 
     Menu getMenuById(Integer id);
 
-    Menu getMenuByName(String menuName);
+    Menu getMenuByName(String menuName,Integer parentId);
 
-    Menu getMenuByNoIdName(int id, String menuName);
+    Menu getMenuByNoIdName(int id, String menuName,Integer parentId);
 
     Integer deleteMenuById(Integer id);
 

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

@@ -26,7 +26,7 @@ public class DepartmentServiceImpl implements DepartmentService {
         if (Blank.isEmpty(department.getParentId(), department.getDepartmentName())) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "父id,部门名称不能为空");
         }
-        Department dept = departmentDao.getDepartmentByName(department.getDepartmentName());
+        Department dept = departmentDao.getDepartmentByName(department.getDepartmentName(),department.getParentId());
         if (Blank.isNotEmpty(dept)) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "该部门名称已被使用,请更换其他部门名称");
         }
@@ -41,7 +41,7 @@ public class DepartmentServiceImpl implements DepartmentService {
         if (Blank.isEmpty(department.getId(), department.getParentId(), department.getDepartmentName())) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "id,父id,部门名称不能为空");
         }
-        if (Blank.isNotEmpty(departmentDao.getDepartmentByNoIdName(department.getId(), department.getDepartmentName()))) {
+        if (Blank.isNotEmpty(departmentDao.getDepartmentByNoIdName(department.getId(), department.getDepartmentName(),department.getParentId()))) {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "已存在该部门名称,请更换部门名称");
         }
         if (departmentDao.updateDepartment(department) <= 0) {

+ 6 - 3
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/MenuServiceImpl.java

@@ -29,14 +29,14 @@ public class MenuServiceImpl implements MenuService {
             return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "父id,菜单名称,菜单路径不能为空");
         }
         if (menu.getParentId() == ConstantStr.TOP_LEVEL_MENU) {
-            if (Blank.isNotEmpty(menuDao.getMenuByName(menu.getMenuName()))) {
+            if (Blank.isNotEmpty(menuDao.getMenuByName(menu.getMenuName(),0))) {
                 return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "该顶级菜单名称已被使用,请更换其他顶级菜单名称");
             }
         } else {
             if (Blank.isNotEmpty(menuDao.getMenuByUrl(menu.getMenuUrl()))) {
                 return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "该菜单路径已被使用,请更换其他菜单路径");
             }
-            if (Blank.isNotEmpty(menuDao.getMenuByName(menu.getMenuName()))) {
+            if (Blank.isNotEmpty(menuDao.getMenuByName(menu.getMenuName(),menu.getParentId()))) {
                 return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "菜单名被占用,请跟换其他名字");
             }
         }
@@ -55,13 +55,16 @@ public class MenuServiceImpl implements MenuService {
         }
         Menu oldMenu = menuDao.getMenuById(menu.getId());
         if (oldMenu.getParentId() == ConstantStr.TOP_LEVEL_MENU) {
-            if (Blank.isNotEmpty(menuDao.getMenuByNoIdName(menu.getId(), menu.getMenuName()))) {
+            if (Blank.isNotEmpty(menuDao.getMenuByNoIdName(menu.getId(), menu.getMenuName(),0))) {
                 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 (Blank.isNotEmpty(menuDao.getMenuByNoIdName(menu.getId(), menu.getMenuName(),menu.getParentId()))) {
+                return Result.no(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "该顶级菜单名称已被使用,请更换其他顶级菜单名称");
+            }
         }
         if (menuDao.updateMenu(menu) <= 0) {
             return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "修改菜单失败");

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

@@ -21,6 +21,8 @@
         select id, parent_id, department_name, department_describe, department_num, create_time, update_time
         from sys_department
         where department_name = #{departmentName}
+        and parent_id=#{parentId}
+        and is_delete = 0
     </select>
 
     <select id="getDepartmentByNoIdName" resultType="com.judong.chuanyiserver.entity.Department">
@@ -28,6 +30,8 @@
         from sys_department
         where id != #{id}
           and department_name = #{departmentName}
+          and parent_id=#{parentId}
+          and is_delete = 0
     </select>
 
     <select id="getDepartmentCount" resultType="java.lang.Long">

+ 9 - 7
chuanyi_server/src/main/resources/mapper/MenuDao.xml

@@ -22,14 +22,14 @@
 
     <update id="updateMenu">
         update sys_menu
-        set menu_name=#{menuName},
-            menu_url=#{menuUrl},
-            menu_icon=#{menuIcon},
-            sort_num=#{sortNum},
-            menu_status=#{menuStatus},
+        set menu_name=#{menu.menuName},
+            menu_url=#{menu.menuUrl},
+            menu_icon=#{menu.menuIcon},
+            sort_num=#{menu.sortNum},
+            menu_status=#{menu.menuStatus},
             update_time=now(),
-            parent_id={parentId}
-        where id = #{id}
+            parent_id=#{menu.parentId}
+        where id = #{menu.id}
     </update>
     <delete id="deleteMenuById">
         delete
@@ -150,6 +150,7 @@
                update_time
         from sys_menu
         where menu_name = #{menuName}
+        and parent_id=#{parentId}
     </select>
 
     <select id="getMenuByNoIdName" resultType="com.judong.chuanyiserver.entity.Menu">
@@ -165,6 +166,7 @@
         from sys_menu
         where id != #{id}
           and menu_name = #{menuName}
+          and parent_id=#{parentId}
     </select>
 
     <select id="getPermissionListByMenuList" resultType="com.judong.chuanyiserver.entity.Permission">