From ca11d871c67ca9e1668193b95fbdc2bd9a18a280 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 20 一月 2026 16:43:11 +0800
Subject: [PATCH] 【丽水】角色管理-校验功能增加orgid

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java |    6 +++---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java |    2 +-
 ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml                  |    9 +++++++--
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java            |    4 ++--
 4 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
index 6e5ac2d..0b12ecf 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
@@ -94,7 +94,7 @@
     //@PreAuthorize("@ss.hasPermi('system:role:add')")
     @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.INSERT)
     @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
-@PostMapping("/add")
+    @PostMapping("/add")
     public AjaxResult add(@Validated @RequestBody SysRole role) {
         role.setOrgid(getLoginUser().getUser().getOrgid());
         if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) {
@@ -112,8 +112,8 @@
      */
     //@PreAuthorize("@ss.hasPermi('system:role:edit')")
     @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.UPDATE)
-@AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
-@PostMapping("/edit")
+    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
+    @PostMapping("/edit")
     public AjaxResult edit(@Validated @RequestBody SysRole role) {
         role.setOrgid(getLoginUser().getUser().getOrgid());
         roleService.checkRoleAllowed(role);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
index 8083105..a751f10 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
@@ -70,10 +70,10 @@
     /**
      * 鏍¢獙瑙掕壊鏉冮檺鏄惁鍞竴
      *
-     * @param roleKey 瑙掕壊鏉冮檺
+     * @param role 瑙掕壊鏉冮檺
      * @return 瑙掕壊淇℃伅
      */
-    public SysRole checkRoleKeyUnique(String roleKey);
+    public SysRole checkRoleKeyUnique(SysRole role);
 
     /**
      * 淇敼瑙掕壊淇℃伅
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 28880dc..376b8a7 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
@@ -168,7 +168,7 @@
     public String checkRoleKeyUnique(SysRole role)
     {
         Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
-        SysRole info = roleMapper.checkRoleKeyUnique(role.getRoleKey());
+        SysRole info = roleMapper.checkRoleKeyUnique(role);
         if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue())
         {
             return UserConstants.NOT_UNIQUE;
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
index 288be10..00cdb17 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -104,9 +104,14 @@
         where r.role_name=#{roleName} and r.del_flag = '0' limit 1
     </select>
 
-    <select id="checkRoleKeyUnique" parameterType="String" resultMap="SysRoleResult">
+    <select id="checkRoleKeyUnique" parameterType="com.ruoyi.common.core.domain.entity.SysRole" resultMap="SysRoleResult">
         <include refid="selectRoleVo"/>
-        where r.role_key=#{roleKey} and r.del_flag = '0' limit 1
+        where r.role_key=#{roleKey}
+        and r.del_flag = '0'
+        <if test="orgid != null and orgid != ''">
+            and r.orgid = #{orgid}
+        </if>
+        limit 1
     </select>
 
     <insert id="insertRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId">

--
Gitblit v1.9.3