From 3dbbf41e66f433784cda81b56b8b97917f284ff5 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期三, 26 二月 2025 17:10:22 +0800
Subject: [PATCH] 菜单只看我功能添加

---
 ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml                      |   12 ++
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java              |   14 ++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java                |    7 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java                 |   41 ++++---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java         |    4 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java                  |   16 +++
 ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java                      |   17 +++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java         |   71 ++++++++-----
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java         |   56 ++++++----
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java              |   16 +++
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java |    5 +
 11 files changed, 187 insertions(+), 72 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index f441573..66ce538 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -591,6 +591,11 @@
         return insSampleUserMapper.insert(insSampleUser);
     }
 
+    /**
+     * 鏌ヨ妯℃澘鍐呭
+     * @param order
+     * @param insProducts
+     */
     private void getTemplateThing(InsOrder order, List<InsProduct> insProducts) {
         Set<Integer> set = new HashSet<>();
         // 妫�楠岄」鍒嗙被+妫�楠岄」+妫�楠屽瓙椤圭殑鎷兼帴
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
index 3102a89..61914fa 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
@@ -1,6 +1,8 @@
 package com.ruoyi.web.controller.system;
 
 import java.util.List;
+
+import com.ruoyi.common.core.domain.TreeSelect;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -72,6 +74,8 @@
     public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId)
     {
         List<SysMenu> menus = menuService.selectMenuList(getUserId());
+        // 娣诲姞鍙湅鎴�
+        menuService.addIsRersonal(menus, roleId);
         AjaxResult ajax = AjaxResult.success();
         ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
         ajax.put("menus", menuService.buildMenuTreeSelect(menus));
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java
index e4785df..33818ce 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelect.java
@@ -27,6 +27,9 @@
     /** 鏄惁鍙互閫夋嫨浠呯湅鎴�, 0:鍚�, 1:鏄� */
     private Integer isRersonalButton;
 
+    /** 鏄惁纭鍙湅鎴�, 0:鍚�, 1:鏄� */
+    private Integer isRersonal;
+
     /** 鑺傜偣绂佺敤 */
     private boolean disabled = false;
 
@@ -52,6 +55,7 @@
         this.id = menu.getMenuId();
         this.label = menu.getMenuName();
         this.isRersonalButton = menu.getIsRersonalButton();
+        this.isRersonal = menu.getIsRersonal();
         this.children = menu.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
     }
 
@@ -95,7 +99,7 @@
         this.children = children;
     }
 
-    public Integer geIsRersonalButton()
+    public Integer getIsRersonalButton()
     {
         return isRersonalButton;
     }
@@ -104,4 +108,14 @@
     {
         this.isRersonalButton = isRersonalButton;
     }
+
+    public Integer getIsRersonal()
+    {
+        return isRersonal;
+    }
+
+    public void setIsRersonal(Integer isRersonalButton)
+    {
+        this.isRersonal = isRersonal;
+    }
 }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
index eb77b98..ac1b3fc 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
@@ -69,6 +69,10 @@
     /** 鏄惁鍙互閫夋嫨浠呯湅鎴�, 0:鍚�, 1:鏄� */
     private Integer isRersonalButton;
 
+
+    /** 浠呯湅鎴�, 0:鍚�, 1:鏄� */
+    private Integer isRersonal;
+
     /** 瀛愯彍鍗� */
     private List<SysMenu> children = new ArrayList<SysMenu>();
 
@@ -249,6 +253,16 @@
         this.isRersonalButton = isRersonalButton;
     }
 
+    public Integer getIsRersonal()
+    {
+        return isRersonal;
+    }
+
+    public void setIsRersonal(Integer isRersonal)
+    {
+        this.isRersonal = isRersonal;
+    }
+
     public List<SysMenu> getChildren()
     {
         return children;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
index 488d49c..eb339b3 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
@@ -12,7 +12,7 @@
 
 /**
  * 瑙掕壊琛� sys_role
- * 
+ *
  * @author ruoyi
  */
 public class SysRole extends BaseEntity
@@ -57,6 +57,9 @@
 
     /** 鑿滃崟缁� */
     private Long[] menuIds;
+
+    /** 鍙湅鎴戣彍鍗曠粍 */
+    private Long[] isRersonalMenuIds;
 
     /** 閮ㄩ棬缁勶紙鏁版嵁鏉冮檺锛� */
     private Long[] deptIds;
@@ -199,6 +202,17 @@
         this.menuIds = menuIds;
     }
 
+
+    public Long[] getIsRersonalMenuIds()
+    {
+        return isRersonalMenuIds;
+    }
+
+    public void setIsRersonalMenuIds(Long[] isRersonalMenuIds)
+    {
+        this.isRersonalMenuIds = isRersonalMenuIds;
+    }
+
     public Long[] getDeptIds()
     {
         return deptIds;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java
index de10a74..2248916 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysRoleMenu.java
@@ -5,16 +5,19 @@
 
 /**
  * 瑙掕壊鍜岃彍鍗曞叧鑱� sys_role_menu
- * 
+ *
  * @author ruoyi
  */
 public class SysRoleMenu
 {
     /** 瑙掕壊ID */
     private Long roleId;
-    
+
     /** 鑿滃崟ID */
     private Long menuId;
+
+    /** 鏄惁鍙湅鎴�0鍚�, 1鏄� */
+    private Integer isRersonal;
 
     public Long getRoleId()
     {
@@ -36,6 +39,16 @@
         this.menuId = menuId;
     }
 
+    public Integer getIsRersonal()
+    {
+        return isRersonal;
+    }
+
+    public void setIsRersonal(Integer isRersonal)
+    {
+        this.isRersonal = isRersonal;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java
index 9551bd1..48a71da 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java
@@ -51,4 +51,11 @@
      * @return
      */
     SysRoleVo selectRoleMenu(@Param("permsName") String permsName, @Param("userId") Long userId);
+
+    /**
+     * 鏌ヨ鍙湅鎴戣彍鍗昳d
+     * @param roleId
+     * @return
+     */
+    List<Long> selectIsRersonalMenu(@Param("roleId") Long roleId);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
index 7d60696..ec0278c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
@@ -8,14 +8,14 @@
 
 /**
  * 鑿滃崟 涓氬姟灞�
- * 
+ *
  * @author ruoyi
  */
 public interface ISysMenuService
 {
     /**
      * 鏍规嵁鐢ㄦ埛鏌ヨ绯荤粺鑿滃崟鍒楄〃
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 鑿滃崟鍒楄〃
      */
@@ -23,7 +23,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛鏌ヨ绯荤粺鑿滃崟鍒楄〃
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @param userId 鐢ㄦ埛ID
      * @return 鑿滃崟鍒楄〃
@@ -32,7 +32,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ鏉冮檺
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 鏉冮檺鍒楄〃
      */
@@ -40,7 +40,7 @@
 
     /**
      * 鏍规嵁瑙掕壊ID鏌ヨ鏉冮檺
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 鏉冮檺鍒楄〃
      */
@@ -48,7 +48,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ鑿滃崟鏍戜俊鎭�
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 鑿滃崟鍒楄〃
      */
@@ -56,7 +56,7 @@
 
     /**
      * 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鏍戜俊鎭�
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 閫変腑鑿滃崟鍒楄〃
      */
@@ -64,7 +64,7 @@
 
     /**
      * 鏋勫缓鍓嶇璺敱鎵�闇�瑕佺殑鑿滃崟
-     * 
+     *
      * @param menus 鑿滃崟鍒楄〃
      * @return 璺敱鍒楄〃
      */
@@ -72,7 +72,7 @@
 
     /**
      * 鏋勫缓鍓嶇鎵�闇�瑕佹爲缁撴瀯
-     * 
+     *
      * @param menus 鑿滃崟鍒楄〃
      * @return 鏍戠粨鏋勫垪琛�
      */
@@ -80,7 +80,7 @@
 
     /**
      * 鏋勫缓鍓嶇鎵�闇�瑕佷笅鎷夋爲缁撴瀯
-     * 
+     *
      * @param menus 鑿滃崟鍒楄〃
      * @return 涓嬫媺鏍戠粨鏋勫垪琛�
      */
@@ -88,7 +88,7 @@
 
     /**
      * 鏍规嵁鑿滃崟ID鏌ヨ淇℃伅
-     * 
+     *
      * @param menuId 鑿滃崟ID
      * @return 鑿滃崟淇℃伅
      */
@@ -96,7 +96,7 @@
 
     /**
      * 鏄惁瀛樺湪鑿滃崟瀛愯妭鐐�
-     * 
+     *
      * @param menuId 鑿滃崟ID
      * @return 缁撴灉 true 瀛樺湪 false 涓嶅瓨鍦�
      */
@@ -104,7 +104,7 @@
 
     /**
      * 鏌ヨ鑿滃崟鏄惁瀛樺湪瑙掕壊
-     * 
+     *
      * @param menuId 鑿滃崟ID
      * @return 缁撴灉 true 瀛樺湪 false 涓嶅瓨鍦�
      */
@@ -112,7 +112,7 @@
 
     /**
      * 鏂板淇濆瓨鑿滃崟淇℃伅
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁撴灉
      */
@@ -120,7 +120,7 @@
 
     /**
      * 淇敼淇濆瓨鑿滃崟淇℃伅
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁撴灉
      */
@@ -128,7 +128,7 @@
 
     /**
      * 鍒犻櫎鑿滃崟绠$悊淇℃伅
-     * 
+     *
      * @param menuId 鑿滃崟ID
      * @return 缁撴灉
      */
@@ -136,9 +136,16 @@
 
     /**
      * 鏍¢獙鑿滃崟鍚嶇О鏄惁鍞竴
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁撴灉
      */
     public boolean checkMenuNameUnique(SysMenu menu);
+
+    /**
+     * 娣诲姞鍙湅鎴�
+     * @param menus
+     * @param roleId
+     */
+    void addIsRersonal(List<SysMenu> menus, Long roleId);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
index 78a7830..9c4a707 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -27,7 +27,7 @@
 
 /**
  * 鑿滃崟 涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  */
 @Service
@@ -46,7 +46,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛鏌ヨ绯荤粺鑿滃崟鍒楄〃
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 鑿滃崟鍒楄〃
      */
@@ -58,7 +58,7 @@
 
     /**
      * 鏌ヨ绯荤粺鑿滃崟鍒楄〃
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 鑿滃崟鍒楄〃
      */
@@ -81,7 +81,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ鏉冮檺
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 鏉冮檺鍒楄〃
      */
@@ -102,7 +102,7 @@
 
     /**
      * 鏍规嵁瑙掕壊ID鏌ヨ鏉冮檺
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 鏉冮檺鍒楄〃
      */
@@ -123,7 +123,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ鑿滃崟
-     * 
+     *
      * @param userId 鐢ㄦ埛鍚嶇О
      * @return 鑿滃崟鍒楄〃
      */
@@ -144,7 +144,7 @@
 
     /**
      * 鏍规嵁瑙掕壊ID鏌ヨ鑿滃崟鏍戜俊鎭�
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 閫変腑鑿滃崟鍒楄〃
      */
@@ -157,7 +157,7 @@
 
     /**
      * 鏋勫缓鍓嶇璺敱鎵�闇�瑕佺殑鑿滃崟
-     * 
+     *
      * @param menus 鑿滃崟鍒楄〃
      * @return 璺敱鍒楄〃
      */
@@ -215,7 +215,7 @@
 
     /**
      * 鏋勫缓鍓嶇鎵�闇�瑕佹爲缁撴瀯
-     * 
+     *
      * @param menus 鑿滃崟鍒楄〃
      * @return 鏍戠粨鏋勫垪琛�
      */
@@ -243,7 +243,7 @@
 
     /**
      * 鏋勫缓鍓嶇鎵�闇�瑕佷笅鎷夋爲缁撴瀯
-     * 
+     *
      * @param menus 鑿滃崟鍒楄〃
      * @return 涓嬫媺鏍戠粨鏋勫垪琛�
      */
@@ -256,7 +256,7 @@
 
     /**
      * 鏍规嵁鑿滃崟ID鏌ヨ淇℃伅
-     * 
+     *
      * @param menuId 鑿滃崟ID
      * @return 鑿滃崟淇℃伅
      */
@@ -268,7 +268,7 @@
 
     /**
      * 鏄惁瀛樺湪鑿滃崟瀛愯妭鐐�
-     * 
+     *
      * @param menuId 鑿滃崟ID
      * @return 缁撴灉
      */
@@ -281,7 +281,7 @@
 
     /**
      * 鏌ヨ鑿滃崟浣跨敤鏁伴噺
-     * 
+     *
      * @param menuId 鑿滃崟ID
      * @return 缁撴灉
      */
@@ -294,7 +294,7 @@
 
     /**
      * 鏂板淇濆瓨鑿滃崟淇℃伅
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁撴灉
      */
@@ -306,7 +306,7 @@
 
     /**
      * 淇敼淇濆瓨鑿滃崟淇℃伅
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁撴灉
      */
@@ -318,7 +318,7 @@
 
     /**
      * 鍒犻櫎鑿滃崟绠$悊淇℃伅
-     * 
+     *
      * @param menuId 鑿滃崟ID
      * @return 缁撴灉
      */
@@ -330,7 +330,7 @@
 
     /**
      * 鏍¢獙鑿滃崟鍚嶇О鏄惁鍞竴
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁撴灉
      */
@@ -347,8 +347,25 @@
     }
 
     /**
+     * 娣诲姞鍙湅鎴�
+     * @param menus
+     * @param roleId
+     */
+    @Override
+    public void addIsRersonal(List<SysMenu> menus, Long roleId) {
+        // 鏌ヨ鍙湅鎴戣彍鍗昳d
+        List<Long> menuIds = roleMenuMapper.selectIsRersonalMenu(roleId);
+        for (SysMenu menu : menus) {
+            if (menuIds.contains(menu.getMenuId())) {
+                menu.setIsRersonal(1);
+            }
+        }
+
+    }
+
+    /**
      * 鑾峰彇璺敱鍚嶇О
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 璺敱鍚嶇О
      */
@@ -364,7 +381,7 @@
 
     /**
      * 鑾峰彇璺敱鍚嶇О锛屽娌℃湁閰嶇疆璺敱鍚嶇О鍒欏彇璺敱鍦板潃
-     * 
+     *
      * @param routerName 璺敱鍚嶇О
      * @param path 璺敱鍦板潃
      * @return 璺敱鍚嶇О锛堥┘宄版牸寮忥級
@@ -377,7 +394,7 @@
 
     /**
      * 鑾峰彇璺敱鍦板潃
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 璺敱鍦板潃
      */
@@ -405,7 +422,7 @@
 
     /**
      * 鑾峰彇缁勪欢淇℃伅
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁勪欢淇℃伅
      */
@@ -429,7 +446,7 @@
 
     /**
      * 鏄惁涓鸿彍鍗曞唴閮ㄨ烦杞�
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁撴灉
      */
@@ -441,7 +458,7 @@
 
     /**
      * 鏄惁涓哄唴閾剧粍浠�
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁撴灉
      */
@@ -452,7 +469,7 @@
 
     /**
      * 鏄惁涓簆arent_view缁勪欢
-     * 
+     *
      * @param menu 鑿滃崟淇℃伅
      * @return 缁撴灉
      */
@@ -463,7 +480,7 @@
 
     /**
      * 鏍规嵁鐖惰妭鐐圭殑ID鑾峰彇鎵�鏈夊瓙鑺傜偣
-     * 
+     *
      * @param list 鍒嗙被琛�
      * @param parentId 浼犲叆鐨勭埗鑺傜偣ID
      * @return String
@@ -486,7 +503,7 @@
 
     /**
      * 閫掑綊鍒楄〃
-     * 
+     *
      * @param list 鍒嗙被琛�
      * @param t 瀛愯妭鐐�
      */
@@ -532,7 +549,7 @@
 
     /**
      * 鍐呴摼鍩熷悕鐗规畩瀛楃鏇挎崲
-     * 
+     *
      * @return 鏇挎崲鍚庣殑鍐呴摼鍩熷悕
      */
     public String innerLinkReplaceEach(String path)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index e432bb1..b8b8a86 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -5,6 +5,9 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+
+import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -27,7 +30,7 @@
 
 /**
  * 瑙掕壊 涓氬姟灞傚鐞�
- * 
+ *
  * @author ruoyi
  */
 @Service
@@ -47,7 +50,7 @@
 
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瑙掕壊鏁版嵁
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 瑙掕壊鏁版嵁闆嗗悎淇℃伅
      */
@@ -60,7 +63,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 瑙掕壊鍒楄〃
      */
@@ -85,7 +88,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ鏉冮檺
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 鏉冮檺鍒楄〃
      */
@@ -106,7 +109,7 @@
 
     /**
      * 鏌ヨ鎵�鏈夎鑹�
-     * 
+     *
      * @return 瑙掕壊鍒楄〃
      */
     @Override
@@ -117,7 +120,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鑾峰彇瑙掕壊閫夋嫨妗嗗垪琛�
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 閫変腑瑙掕壊ID鍒楄〃
      */
@@ -129,7 +132,7 @@
 
     /**
      * 閫氳繃瑙掕壊ID鏌ヨ瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 瑙掕壊瀵硅薄淇℃伅
      */
@@ -141,7 +144,7 @@
 
     /**
      * 鏍¢獙瑙掕壊鍚嶇О鏄惁鍞竴
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -159,7 +162,7 @@
 
     /**
      * 鏍¢獙瑙掕壊鏉冮檺鏄惁鍞竴
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -177,7 +180,7 @@
 
     /**
      * 鏍¢獙瑙掕壊鏄惁鍏佽鎿嶄綔
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      */
     @Override
@@ -191,7 +194,7 @@
 
     /**
      * 鏍¢獙瑙掕壊鏄惁鏈夋暟鎹潈闄�
-     * 
+     *
      * @param roleIds 瑙掕壊id
      */
     @Override
@@ -214,7 +217,7 @@
 
     /**
      * 閫氳繃瑙掕壊ID鏌ヨ瑙掕壊浣跨敤鏁伴噺
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 缁撴灉
      */
@@ -226,7 +229,7 @@
 
     /**
      * 鏂板淇濆瓨瑙掕壊淇℃伅
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -241,7 +244,7 @@
 
     /**
      * 淇敼淇濆瓨瑙掕壊淇℃伅
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -258,7 +261,7 @@
 
     /**
      * 淇敼瑙掕壊鐘舵��
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -270,7 +273,7 @@
 
     /**
      * 淇敼鏁版嵁鏉冮檺淇℃伅
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -288,7 +291,7 @@
 
     /**
      * 鏂板瑙掕壊鑿滃崟淇℃伅
-     * 
+     *
      * @param role 瑙掕壊瀵硅薄
      */
     public int insertRoleMenu(SysRole role)
@@ -301,7 +304,16 @@
             SysRoleMenu rm = new SysRoleMenu();
             rm.setRoleId(role.getRoleId());
             rm.setMenuId(menuId);
+            // 鍒ゆ柇鏄惁鏈夊彧鐪嬫垜鏉冮檺
+            if (ArrayUtils.isNotEmpty(role.getIsRersonalMenuIds())) {
+                for (Long isRersonalMenuId : role.getIsRersonalMenuIds()) {
+                    if (isRersonalMenuId.equals(menuId)) {
+                        rm.setIsRersonal(1);
+                    }
+                }
+            }
             list.add(rm);
+
         }
         if (list.size() > 0)
         {
@@ -336,7 +348,7 @@
 
     /**
      * 閫氳繃瑙掕壊ID鍒犻櫎瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 缁撴灉
      */
@@ -353,7 +365,7 @@
 
     /**
      * 鎵归噺鍒犻櫎瑙掕壊淇℃伅
-     * 
+     *
      * @param roleIds 闇�瑕佸垹闄ょ殑瑙掕壊ID
      * @return 缁撴灉
      */
@@ -380,7 +392,7 @@
 
     /**
      * 鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param userRole 鐢ㄦ埛鍜岃鑹插叧鑱斾俊鎭�
      * @return 缁撴灉
      */
@@ -392,7 +404,7 @@
 
     /**
      * 鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @param userIds 闇�瑕佸彇娑堟巿鏉冪殑鐢ㄦ埛鏁版嵁ID
      * @return 缁撴灉
@@ -405,7 +417,7 @@
 
     /**
      * 鎵归噺閫夋嫨鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @param userIds 闇�瑕佹巿鏉冪殑鐢ㄦ埛鏁版嵁ID
      * @return 缁撴灉
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml
index 2f71cd4..72e5b85 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml
@@ -26,6 +26,14 @@
 		group by sm.menu_id
 	</select>
 
+	<!-- 鏌ヨ鍙湅鎴戣彍鍗昳d -->
+    <select id="selectIsRersonalMenu" resultType="java.lang.Long">
+		select menu_id
+		from sys_role_menu
+		where role_id = #{roleId}
+		and is_rersonal = 1
+	</select>
+
     <delete id="deleteRoleMenuByRoleId" parameterType="Long">
 		delete from sys_role_menu where role_id=#{roleId}
 	</delete>
@@ -38,9 +46,9 @@
  	</delete>
 
 	<insert id="batchRoleMenu">
-		insert into sys_role_menu(role_id, menu_id) values
+		insert into sys_role_menu(role_id, menu_id, is_rersonal) values
 		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.roleId},#{item.menuId})
+			(#{item.roleId},#{item.menuId},#{item.isRersonal})
 		</foreach>
 	</insert>
 

--
Gitblit v1.9.3