dev:岗位管理-dubbo接口修改

main
SondonYong 2025-11-04 13:37:43 +08:00
parent a46b8a0e4e
commit e7b503e6b3
1 changed files with 36 additions and 21 deletions

View File

@ -6,7 +6,9 @@ import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.PostServiceI; import com.zcloud.basic.info.api.PostServiceI;
import com.zcloud.basic.info.dto.PostListQry; import com.zcloud.basic.info.dto.PostListQry;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.dto.clientobject.PostCO; import com.zcloud.basic.info.dto.clientobject.PostCO;
import com.zcloud.gbscommon.utils.DeepCopyUtil;
import com.zcloud.gbscommon.zcloudpost.facade.ZcloudPostFacade; import com.zcloud.gbscommon.zcloudpost.facade.ZcloudPostFacade;
import com.zcloud.gbscommon.zcloudpost.request.ZcloudPostQry; import com.zcloud.gbscommon.zcloudpost.request.ZcloudPostQry;
import com.zcloud.gbscommon.zcloudpost.response.ZcloudPostCO; import com.zcloud.gbscommon.zcloudpost.response.ZcloudPostCO;
@ -15,7 +17,9 @@ import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -39,12 +43,18 @@ public class ZcloudPostFacadeImpl implements ZcloudPostFacade {
return null; return null;
} }
ZcloudPostCO zcloudPostCO = new ZcloudPostCO(); // ZcloudPostCO zcloudPostCO = new ZcloudPostCO();
BeanUtils.copyProperties(postCO.getData(), zcloudPostCO); // BeanUtils.copyProperties(postCO.getData(), zcloudPostCO);
List<ZcloudPostDepartmentCO> zcloudPostDepartmentCOS = BeanUtil.copyToList(postCO.getData().getDepartmentList(), ZcloudPostDepartmentCO.class); // 定义映射关系
Map<Class<?>, Class<?>> mapping = new HashMap<>();
mapping.put(DepartmentCO.class, ZcloudPostDepartmentCO.class);
zcloudPostCO.setDepartmentList(zcloudPostDepartmentCOS); ZcloudPostCO zcloudPostCO = DeepCopyUtil.deepCopy(postCO.getData(), ZcloudPostCO.class, mapping);
// List<ZcloudPostDepartmentCO> zcloudPostDepartmentCOS = BeanUtil.copyToList(postCO.getData().getDepartmentList(), ZcloudPostDepartmentCO.class);
// zcloudPostCO.setDepartmentList(zcloudPostDepartmentCOS);
return SingleResponse.of(zcloudPostCO); return SingleResponse.of(zcloudPostCO);
} }
@ -59,24 +69,29 @@ public class ZcloudPostFacadeImpl implements ZcloudPostFacade {
return null; return null;
} }
Map<Class<?>, Class<?>> mapping = new HashMap<>();
mapping.put(DepartmentCO.class, ZcloudPostDepartmentCO.class);
List<ZcloudPostCO> zcloudPostCOList = DeepCopyUtil.copyList(list.getData(), ZcloudPostCO.class, mapping);
// List<ZcloudPostCO> zcloudPostCOList = BeanUtil.copyToList(list.getData(), ZcloudPostCO.class); // List<ZcloudPostCO> zcloudPostCOList = BeanUtil.copyToList(list.getData(), ZcloudPostCO.class);
List<ZcloudPostCO> zcloudPostCOList = list.getData().stream() // List<ZcloudPostCO> zcloudPostCOList = list.getData().stream()
.map(postCO -> { // .map(postCO -> {
// 复制基本属性 // // 复制基本属性
ZcloudPostCO zcloudPostCO = BeanUtil.toBean(postCO, ZcloudPostCO.class); // ZcloudPostCO zcloudPostCO = BeanUtil.toBean(postCO, ZcloudPostCO.class);
//
// 手动处理嵌套List // // 手动处理嵌套List
if (CollUtil.isNotEmpty(postCO.getDepartmentList())) { // if (CollUtil.isNotEmpty(postCO.getDepartmentList())) {
List<ZcloudPostDepartmentCO> deptList = BeanUtil.copyToList( // List<ZcloudPostDepartmentCO> deptList = BeanUtil.copyToList(
postCO.getDepartmentList(), // postCO.getDepartmentList(),
ZcloudPostDepartmentCO.class // ZcloudPostDepartmentCO.class
); // );
zcloudPostCO.setDepartmentList(deptList); // zcloudPostCO.setDepartmentList(deptList);
} // }
//
return zcloudPostCO; // return zcloudPostCO;
}) // })
.collect(Collectors.toList()); // .collect(Collectors.toList());
return MultiResponse.of(zcloudPostCOList); return MultiResponse.of(zcloudPostCOList);
} }