diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java index 4e19f10..8d6794b 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java @@ -15,6 +15,7 @@ import com.zcloud.basic.info.persistence.dataobject.PostDO; import com.zcloud.basic.info.persistence.dataobject.PostDepartmentDO; import com.zcloud.basic.info.persistence.repository.DepartmentRepository; import com.zcloud.basic.info.persistence.repository.DepartmentSuperviseRepository; +import com.zcloud.basic.info.persistence.repository.UserRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.Tools; import lombok.AllArgsConstructor; @@ -38,6 +39,7 @@ public class DepartmentQueryExe { private final DepartmentRepository departmentRepository; private final DepartmentCoConvertor departmentCoConvertor; private final DepartmentSuperviseRepository departmentSuperviseRepository; + private final UserRepository userRepository; /** * 分页 @@ -52,6 +54,19 @@ public class DepartmentQueryExe { Map parmas = PageQueryHelper.toHashMap(departmentPageQry); PageResponse pageResponse = departmentRepository.listPage(parmas); List examCenterCOS = departmentCoConvertor.converDOsToCOs(pageResponse.getData()); + if(CollUtil.isEmpty(examCenterCOS)){ + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); + } + //获取所有的部门id + List departmentIds = examCenterCOS.stream().map(DepartmentCO::getId).collect(Collectors.toList()); + //获取所有部门的负责人 + Map departmentLeaderMap = userRepository.getDepartmentLeaderByDepartmentId(departmentIds); + if(CollUtil.isNotEmpty(departmentLeaderMap)){ + examCenterCOS.forEach(examCenterCO -> { + examCenterCO.setDepartmentUserLeaderList(departmentLeaderMap.getOrDefault(examCenterCO.getId(), StringUtils.EMPTY)); + }); + } + return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/DepartmentCO.java b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/DepartmentCO.java index 2c3ac9b..0a0c323 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/DepartmentCO.java +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/DepartmentCO.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; +import java.util.List; /** @@ -83,5 +84,8 @@ public class DepartmentCO extends ClientObject { //环境 @ApiModelProperty(value = "环境") private String env; + //部门负责人列表 + @ApiModelProperty(value = "部门负责人列表") + private String departmentUserLeaderList; } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/DepartmentLeaderStatictiscDO.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/DepartmentLeaderStatictiscDO.java new file mode 100644 index 0000000..e10a2db --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/dataobject/DepartmentLeaderStatictiscDO.java @@ -0,0 +1,31 @@ +package com.zcloud.basic.info.persistence.dataobject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.jjb.saas.framework.repository.basedo.BaseDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +/** + * web-infrastructure + * + * @Author zhaokai + * @Date 2025-10-30 10:10:48 + */ +@Data +@TableName("department") +@EqualsAndHashCode(callSuper = true) +public class DepartmentLeaderStatictiscDO extends BaseDO { + + //部门id + @ApiModelProperty(value = "部门id") + private Long departmentId; + //名称 + @ApiModelProperty(value = "名称") + private String departmentLeaderNameList; + + +} + diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java index 21215cf..8bd8b9b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java @@ -3,6 +3,7 @@ package com.zcloud.basic.info.persistence.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zcloud.basic.info.persistence.dataobject.DepartmentLeaderStatictiscDO; import com.zcloud.basic.info.persistence.dataobject.UserDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -23,5 +24,7 @@ public interface UserMapper extends BaseMapper { IPage selectUserPage(IPage page, @Param("ew") QueryWrapper queryWrapper); UserDO getInfoById(@Param("id") Long id); + + List getDepartmentLeaderByDepartmentId(List departmentIds); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java index 84b5584..918eb35 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java @@ -48,5 +48,6 @@ public interface UserRepository extends BaseRepository { void updateUserName(UserDO userDO); + Map getDepartmentLeaderByDepartmentId(List departmentIds); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java index ad35741..8570864 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java @@ -24,6 +24,7 @@ import com.jjb.saas.system.client.user.request.UserUpdateCmd; import com.zcloud.basic.info.domain.model.CorpInfoE; import com.zcloud.basic.info.domain.model.UserE; import com.zcloud.basic.info.persistence.dataobject.DepartmentDO; +import com.zcloud.basic.info.persistence.dataobject.DepartmentLeaderStatictiscDO; import com.zcloud.basic.info.persistence.dataobject.ImgFilesDO; import com.zcloud.basic.info.persistence.dataobject.UserDO; import com.zcloud.basic.info.persistence.mapper.UserMapper; @@ -41,6 +42,7 @@ import org.springframework.util.ObjectUtils; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * web-infrastructure @@ -214,5 +216,12 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i } } + @Override + public Map getDepartmentLeaderByDepartmentId(List departmentIds) { + List departmentLeaderList = userMapper.getDepartmentLeaderByDepartmentId(departmentIds); + Map departmentLeaderMap = departmentLeaderList.stream() + .collect(Collectors.toMap(DepartmentLeaderStatictiscDO::getDepartmentId, DepartmentLeaderStatictiscDO::getDepartmentLeaderNameList)); + return departmentLeaderMap; + } } diff --git a/web-infrastructure/src/main/resources/mapper/UserMapper.xml b/web-infrastructure/src/main/resources/mapper/UserMapper.xml index 9917f63..3f54c3e 100644 --- a/web-infrastructure/src/main/resources/mapper/UserMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/UserMapper.xml @@ -200,6 +200,20 @@ u.id = #{id} +