From d35cc35a03c620685ea0c6f210b10e07cf3408b7 Mon Sep 17 00:00:00 2001 From: SondonYong Date: Mon, 3 Nov 2025 10:05:18 +0800 Subject: [PATCH] =?UTF-8?q?dev:=E5=B2=97=E4=BD=8D=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../info/facade/ZcloudPostFacadeImpl.java | 118 +++++++++--------- .../zcloud/basic/info/web/PostController.java | 2 +- .../info/command/query/PostQueryExe.java | 9 +- .../zcloud/basic/info/dto/PostListQry.java | 2 + .../repository/PostRepository.java | 2 +- .../repository/impl/PostRepositoryImpl.java | 11 +- 6 files changed, 79 insertions(+), 65 deletions(-) diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudPostFacadeImpl.java b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudPostFacadeImpl.java index 5981acc..f6a2b16 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudPostFacadeImpl.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudPostFacadeImpl.java @@ -1,59 +1,59 @@ -//package com.zcloud.basic.info.facade; -// -//import cn.hutool.core.bean.BeanUtil; -//import com.alibaba.cola.dto.MultiResponse; -//import com.alibaba.cola.dto.SingleResponse; -//import com.zcloud.basic.info.api.PostServiceI; -//import com.zcloud.basic.info.dto.PostListQry; -//import com.zcloud.basic.info.dto.clientobject.PostCO; -//import com.zcloud.gbscommon.zcloudpost.facade.ZcloudPostFacade; -//import com.zcloud.gbscommon.zcloudpost.request.ZcloudPostQry; -//import com.zcloud.gbscommon.zcloudpost.response.ZcloudPostCO; -//import org.apache.dubbo.config.annotation.DubboService; -//import org.springframework.beans.BeanUtils; -// -//import javax.annotation.Resource; -//import java.util.List; -//import java.util.Objects; -// -///** -// * @author SondonYong -// * @description 岗位管理对其他领域dubbo接口实现 -// * @date 2025/11/1/周六 15:28 -// */ -//@DubboService -//public class ZcloudPostFacadeImpl implements ZcloudPostFacade { -// -// @Resource -// private PostServiceI postService; -// -// public SingleResponse listByPostId(ZcloudPostQry qry){ -// if(Objects.isNull(qry) || Objects.isNull(qry.getPostId())){ -// return null; -// } -// SingleResponse postCO = postService.getInfoById(qry.getPostId()); -// if(Objects.isNull(postCO) || Objects.isNull(postCO.getData())){ -// return null; -// } -// -// ZcloudPostCO zcloudPostCO = new ZcloudPostCO(); -// BeanUtils.copyProperties(postCO.getData(), zcloudPostCO); -// -// return SingleResponse.of(zcloudPostCO); -// } -// -// public MultiResponse listByPostIds(ZcloudPostQry qry){ -// -// PostListQry postListQry = new PostListQry(); -// BeanUtils.copyProperties(qry, postListQry); -// MultiResponse list = postService.list(postListQry); -// -// if(Objects.isNull(list) || Objects.isNull(list.getData())){ -// return null; -// } -// -// List zcloudPostCOList = BeanUtil.copyToList(list.getData(), ZcloudPostCO.class); -// -// return MultiResponse.of(zcloudPostCOList); -// } -//} +package com.zcloud.basic.info.facade; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.cola.dto.MultiResponse; +import com.alibaba.cola.dto.SingleResponse; +import com.zcloud.basic.info.api.PostServiceI; +import com.zcloud.basic.info.dto.PostListQry; +import com.zcloud.basic.info.dto.clientobject.PostCO; +import com.zcloud.gbscommon.zcloudpost.facade.ZcloudPostFacade; +import com.zcloud.gbscommon.zcloudpost.request.ZcloudPostQry; +import com.zcloud.gbscommon.zcloudpost.response.ZcloudPostCO; +import org.apache.dubbo.config.annotation.DubboService; +import org.springframework.beans.BeanUtils; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; + +/** + * @author SondonYong + * @description 岗位管理对其他领域dubbo接口实现 + * @date 2025/11/1/周六 15:28 + */ +@DubboService +public class ZcloudPostFacadeImpl implements ZcloudPostFacade { + + @Resource + private PostServiceI postService; + + public SingleResponse listByPostId(ZcloudPostQry qry){ + if(Objects.isNull(qry) || Objects.isNull(qry.getPostId())){ + return null; + } + SingleResponse postCO = postService.getInfoById(qry.getPostId()); + if(Objects.isNull(postCO) || Objects.isNull(postCO.getData())){ + return null; + } + + ZcloudPostCO zcloudPostCO = new ZcloudPostCO(); + BeanUtils.copyProperties(postCO.getData(), zcloudPostCO); + + return SingleResponse.of(zcloudPostCO); + } + + public MultiResponse listByPostIds(ZcloudPostQry qry){ + + PostListQry postListQry = new PostListQry(); + BeanUtils.copyProperties(qry, postListQry); + MultiResponse list = postService.list(postListQry); + + if(Objects.isNull(list) || Objects.isNull(list.getData())){ + return null; + } + + List zcloudPostCOList = BeanUtil.copyToList(list.getData(), ZcloudPostCO.class); + + return MultiResponse.of(zcloudPostCOList); + } +} diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/PostController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/PostController.java index 0fb7808..ef70688 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/web/PostController.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/PostController.java @@ -45,7 +45,7 @@ public class PostController { } @ApiOperation("所有数据") - @GetMapping("/listAll") + @PostMapping("/listAll") public MultiResponse listAll(@RequestBody PostListQry qry) { return postService.list(qry); } diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/PostQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/PostQueryExe.java index ef881b9..bac2e42 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/query/PostQueryExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/PostQueryExe.java @@ -54,11 +54,16 @@ public class PostQueryExe { } public MultiResponse execute(PostListQry qry) { + Map params = PageQueryHelper.toHashMap(qry); // 岗位集合 - MultiResponse postMRDO = postRepository.list(qry.getPostIds()); + MultiResponse postMRDO = postRepository.list(params); + if(postMRDO == null || CollUtil.isEmpty(postMRDO.getData())) { + return new MultiResponse<>(); + } + Long[] postIds = postMRDO.getData().stream().map(PostDO::getId).toArray(Long[]::new); // 岗位部门集合 - List postDepartmentDOList = postDepartmentRepository.list(qry.getPostIds()); + List postDepartmentDOList = postDepartmentRepository.list(postIds); // Map<岗位id, List<岗位部门对象>> Map> postDepartmentMap = new HashMap<>(); diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/PostListQry.java b/web-client/src/main/java/com/zcloud/basic/info/dto/PostListQry.java index 5b79eb3..313e650 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/dto/PostListQry.java +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/PostListQry.java @@ -26,5 +26,7 @@ public class PostListQry { // 主键id集合 private Long[] postIds; + // 部门id + private Long departmentId; } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java index a7f1ced..b347c37 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java @@ -18,7 +18,7 @@ public interface PostRepository extends BaseRepository { PageResponse listPage(Map params); - MultiResponse list(Long[] ids); + MultiResponse list(Map params); SingleResponse getInfoById(Long id); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java index b39ff03..1f45b26 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java @@ -40,9 +40,16 @@ public class PostRepositoryImpl extends BaseRepositoryImpl i } @Override - public MultiResponse list(Long[] ids) { + public MultiResponse list(Map params) { + Long[] ids = (Long[])params.get("postIds"); + Long departmentId = (Long)params.get("departmentId"); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id", ids); + if(ids != null && ids.length > 0) { + queryWrapper.in("id", ids); + } + if(departmentId != null && departmentId > 0) { + queryWrapper.eq("department_id", departmentId); + } queryWrapper.orderByDesc("create_time"); List postDOS = postMapper.selectList(queryWrapper); return MultiResponse.of(postDOS);