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 f6a2b16..decce2a 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,6 +1,7 @@ package com.zcloud.basic.info.facade; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.SingleResponse; import com.zcloud.basic.info.api.PostServiceI; @@ -9,12 +10,14 @@ 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 com.zcloud.gbscommon.zcloudpost.response.ZcloudPostDepartmentCO; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.beans.BeanUtils; import javax.annotation.Resource; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @author SondonYong @@ -39,6 +42,10 @@ public class ZcloudPostFacadeImpl implements ZcloudPostFacade { ZcloudPostCO zcloudPostCO = new ZcloudPostCO(); BeanUtils.copyProperties(postCO.getData(), zcloudPostCO); + List zcloudPostDepartmentCOS = BeanUtil.copyToList(postCO.getData().getDepartmentList(), ZcloudPostDepartmentCO.class); + + zcloudPostCO.setDepartmentList(zcloudPostDepartmentCOS); + return SingleResponse.of(zcloudPostCO); } @@ -52,7 +59,24 @@ public class ZcloudPostFacadeImpl implements ZcloudPostFacade { return null; } - List zcloudPostCOList = BeanUtil.copyToList(list.getData(), ZcloudPostCO.class); +// List zcloudPostCOList = BeanUtil.copyToList(list.getData(), ZcloudPostCO.class); + List zcloudPostCOList = list.getData().stream() + .map(postCO -> { + // 复制基本属性 + ZcloudPostCO zcloudPostCO = BeanUtil.toBean(postCO, ZcloudPostCO.class); + + // 手动处理嵌套List + if (CollUtil.isNotEmpty(postCO.getDepartmentList())) { + List deptList = BeanUtil.copyToList( + postCO.getDepartmentList(), + ZcloudPostDepartmentCO.class + ); + zcloudPostCO.setDepartmentList(deptList); + } + + return zcloudPostCO; + }) + .collect(Collectors.toList()); return MultiResponse.of(zcloudPostCOList); }