From 4c48f72c66eb3f7cfe9978dae170ec13f5be1013 Mon Sep 17 00:00:00 2001 From: lzh Date: Wed, 25 Mar 2026 11:31:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(security):=20=E5=AE=89=E4=BF=9D=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E6=98=B5=E7=A7=B0=E5=92=8C=E6=89=8B=E6=9C=BA=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 区域安保人员查询接口批量关联 AdminUserApi, 在响应中填充 nickname 和 mobile 字段 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../security/SecurityAreaUserController.java | 22 +++++++++++++++++-- .../vo/OpsAreaSecurityUserRespVO.java | 6 +++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/SecurityAreaUserController.java b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/SecurityAreaUserController.java index 1421c89..bd34c5a 100644 --- a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/SecurityAreaUserController.java +++ b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/SecurityAreaUserController.java @@ -1,11 +1,14 @@ package com.viewsh.module.ops.controller.admin.security; import com.viewsh.framework.common.pojo.CommonResult; +import com.viewsh.framework.common.util.collection.CollectionUtils; import com.viewsh.module.ops.controller.admin.security.vo.OpsAreaSecurityUserBindReqVO; import com.viewsh.module.ops.controller.admin.security.vo.OpsAreaSecurityUserRespVO; import com.viewsh.module.ops.controller.admin.security.vo.OpsAreaSecurityUserUpdateReqVO; import com.viewsh.module.ops.security.dal.dataobject.area.OpsAreaSecurityUserDO; import com.viewsh.module.ops.security.service.area.OpsAreaSecurityUserService; +import com.viewsh.module.system.api.user.AdminUserApi; +import com.viewsh.module.system.api.user.dto.AdminUserRespDTO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -16,6 +19,9 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; import static com.viewsh.framework.common.pojo.CommonResult.success; @@ -32,6 +38,8 @@ public class SecurityAreaUserController { @Resource private OpsAreaSecurityUserService areaSecurityUserService; + @Resource + private AdminUserApi adminUserApi; @GetMapping("/list") @Operation(summary = "查询区域绑定的安保人员") @@ -39,8 +47,11 @@ public class SecurityAreaUserController { public CommonResult> list( @Parameter(description = "区域ID", required = true) @RequestParam("areaId") Long areaId) { List list = areaSecurityUserService.listByAreaId(areaId); + // 批量查询用户信息,填充 nickname 和 mobile + Set userIds = list.stream().map(OpsAreaSecurityUserDO::getUserId).collect(Collectors.toSet()); + Map userMap = adminUserApi.getUserMap(userIds); List result = list.stream() - .map(this::convertToRespVO) + .map(entity -> convertToRespVO(entity, userMap)) .toList(); return success(result); } @@ -72,7 +83,8 @@ public class SecurityAreaUserController { return success(true); } - private OpsAreaSecurityUserRespVO convertToRespVO(OpsAreaSecurityUserDO entity) { + private OpsAreaSecurityUserRespVO convertToRespVO(OpsAreaSecurityUserDO entity, + Map userMap) { OpsAreaSecurityUserRespVO vo = new OpsAreaSecurityUserRespVO(); vo.setId(entity.getId()); vo.setAreaId(entity.getAreaId()); @@ -82,6 +94,12 @@ public class SecurityAreaUserController { vo.setEnabled(entity.getEnabled()); vo.setSort(entity.getSort()); vo.setCreateTime(entity.getCreateTime()); + // 填充用户昵称和手机号 + AdminUserRespDTO user = userMap.get(entity.getUserId()); + if (user != null) { + vo.setNickname(user.getNickname()); + vo.setMobile(user.getMobile()); + } return vo; } diff --git a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/OpsAreaSecurityUserRespVO.java b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/OpsAreaSecurityUserRespVO.java index d733502..3a98941 100644 --- a/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/OpsAreaSecurityUserRespVO.java +++ b/viewsh-module-ops/viewsh-module-ops-server/src/main/java/com/viewsh/module/ops/controller/admin/security/vo/OpsAreaSecurityUserRespVO.java @@ -26,6 +26,12 @@ public class OpsAreaSecurityUserRespVO { @Schema(description = "安保人员姓名", example = "张三") private String userName; + @Schema(description = "用户昵称", example = "小王") + private String nickname; + + @Schema(description = "手机号码", example = "13800138000") + private String mobile; + @Schema(description = "班组ID", example = "10") private Long teamId;