From 6923986805c6ac70618e846f3435aa2de2fd5662 Mon Sep 17 00:00:00 2001 From: zhuxinru Date: Tue, 30 Dec 2025 15:32:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E8=A7=92=E8=89=B2=E7=BC=96=E7=A0=81=E6=9F=A5=E8=AF=A2=E6=89=80?= =?UTF-8?q?=E5=B1=9E=E7=94=A8=E6=88=B7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spdm/controller/SpdmRoleController.java | 16 ++++++++++++++++ .../spdm/feign/RemoteRoleServiceFeign.java | 8 ++++++++ .../tenant/controller/SysStaffController.java | 1 + 3 files changed, 25 insertions(+) diff --git a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmRoleController.java b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmRoleController.java index 03ec4f5..f7535a8 100644 --- a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmRoleController.java +++ b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/controller/SpdmRoleController.java @@ -28,13 +28,17 @@ import com.honeycombis.honeycom.spdm.util.PageResult; import com.honeycombis.honeycom.spdm.util.ResponseR; import com.honeycombis.honeycom.tenant.entity.SysRoleEntity; import com.honeycombis.honeycom.tenant.vo.SysRoleVO; +import com.honeycombis.honeycom.tenant.vo.SysStaffVO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import lombok.AllArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.web.bind.annotation.*; +import java.util.Arrays; import java.util.List; +import java.util.Map; @RestController @@ -82,4 +86,16 @@ public class SpdmRoleController { return ResponseR.ok(role.getData()); } + @Operation(summary = "查询某个角色下的用户列表") + @GetMapping("/getUserByRoleCode") + public ResponseR> getUserByRoleCode(@RequestParam("roleCode") String roleCode, @RequestParam("tenantId") String tenantId) { + R role = remoteRoleServiceFeign.getRoleByRoleCode(roleCode, tenantId); + R>> mapR = remoteRoleServiceFeign.findByRoleIds(Arrays.asList(role.getData().getRoleId()), tenantId); + List staffList = mapR.getData().get(role.getData().getRoleId()); + if (CollectionUtils.isNotEmpty(staffList)) { + return ResponseR.ok(staffList.stream().map(SysStaffVO::getUserId).toList()); + } + return ResponseR.ok(); + } + } diff --git a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/RemoteRoleServiceFeign.java b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/RemoteRoleServiceFeign.java index 4f1ab8f..6f9b51a 100644 --- a/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/RemoteRoleServiceFeign.java +++ b/honeycom-spdm/src/main/java/com/honeycombis/honeycom/spdm/feign/RemoteRoleServiceFeign.java @@ -8,11 +8,16 @@ import com.honeycombis.honeycom.common.feign.config.FeignConfig; import com.honeycombis.honeycom.spdm.dto.RolePageQueryDto; import com.honeycombis.honeycom.tenant.entity.SysRoleEntity; import com.honeycombis.honeycom.tenant.vo.SysRoleVO; +import com.honeycombis.honeycom.tenant.vo.SysStaffVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; +import java.util.Map; @FeignClient(contextId = "remoteRoleService", value = ServiceNameConstants.TENANT_SERVICE, configuration = FeignConfig.class) @@ -30,4 +35,7 @@ public interface RemoteRoleServiceFeign { @GetMapping("/sysRole/getByRoleName/{roleName}") R getRoleByRoleName(@PathVariable("roleName") String roleName, @RequestHeader(CommonConstants.TENANT_ID) String tenantId); + @GetMapping("/sysStaff/findByRoleIds") + R>> findByRoleIds(@RequestParam("roleIds") List roleIds, @RequestHeader(CommonConstants.TENANT_ID) String tenantId); + } diff --git a/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/controller/SysStaffController.java b/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/controller/SysStaffController.java index 40918ad..d962c8a 100644 --- a/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/controller/SysStaffController.java +++ b/honeycom-tenant/honeycom-tenant-biz/src/main/java/com/honeycombis/honeycom/tenant/controller/SysStaffController.java @@ -223,6 +223,7 @@ public class SysStaffController { @Operation(summary = "根据角色ID集合获取员工列表", description = "根据角色ID集合获取员工列表") @GetMapping("/findByRoleIds") + @Inner(false) public R>> findByRoleIds(@RequestParam("roleIds") List roleIds) { return R.ok(sysStaffService.findByRoleIds(roleIds)); }