src/main/java/com/ruoyi/projectManagement/service/impl/InfoServiceImpl.java
@@ -105,6 +105,9 @@ CompletableFuture<ShippingAddressDto> shippingFuture = CompletableFuture.supplyAsync(() -> shippingAddressHandleService.getByInfoId(id)); CompletableFuture<List<SalesLedgerProduct>> listCompletableFuture = CompletableFuture.supplyAsync(() -> salesLedgerService.getSalesLedgerProductListByRelateId(id,SaleEnum.MANAGEMENT)); // 下级项目信息 CompletableFuture<List<SaveInfoDto>> subordinateInfoListFuture = CompletableFuture.supplyAsync(() -> infoHandleService.getSubordinateInfo(id)); // 商品 // 等待所有异步完成 @@ -114,13 +117,13 @@ ContractInfoDto contract = contractFuture.get(); ShippingAddressDto shippingAddress = shippingFuture.get(); List<SalesLedgerProduct> salesLedgerProductList = listCompletableFuture.get(); List<SaveInfoDto> saveInfoDtos = subordinateInfoListFuture.get(); InfoVo vo = new InfoVo(); vo.setInfo(info); vo.setContractInfo(contract); vo.setShippingAddress(shippingAddress); vo.setSalesLedgerProductList(salesLedgerProductList); vo.setSubordinateInfoList(saveInfoDtos); return vo; } src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoHandleService.java
@@ -8,15 +8,12 @@ import com.ruoyi.basic.service.CustomerFollowUpFileService; import com.ruoyi.common.enums.PlanStageEnum; import com.ruoyi.common.enums.ReviewStatusEnum; import com.ruoyi.common.utils.EnumUtil; import com.ruoyi.projectManagement.dto.PlanStageDto; import com.ruoyi.projectManagement.dto.SaveInfoDto; import com.ruoyi.projectManagement.mapper.InfoMapper; import com.ruoyi.projectManagement.pojo.Info; import com.ruoyi.projectManagement.pojo.PlanNode; import com.ruoyi.projectManagement.service.PlanService; import com.ruoyi.projectManagement.service.impl.PlanServiceImpl; import com.ruoyi.projectManagement.vo.PlanVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -73,11 +70,30 @@ public SaveInfoDto getInfoById(@NotNull Long id){ Info info = infoMapper.selectById(id); return convert(info); } private SaveInfoDto convert(Info info) { SaveInfoDto saveInfoDto = BeanUtil.copyProperties(info, SaveInfoDto.class); // 附件处理 saveInfoDto.setTeamList(info.getTeam()); customerFollowUpFileService.fillAttachment(Lists.newArrayList(saveInfoDto), SaveInfoDto::getAttachment, SaveInfoDto::setAttachmentList); return saveInfoDto; } /** * 获取改id下子项目信息 * * @param id * @return */ public List<SaveInfoDto> getSubordinateInfo(@NotNull Long id) { LambdaQueryWrapper<Info> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Info::getProjectManagementInfoParentId, id); queryWrapper.orderByAsc(Info::getCreateTime); List<Info> infoList = infoMapper.selectList(queryWrapper); return infoList.stream().map(this::convert).collect(Collectors.toList()); } @@ -89,6 +105,7 @@ /** * 生成项目编号 * * @return */ private String generateSerialNumber() { src/main/java/com/ruoyi/projectManagement/vo/InfoVo.java
@@ -1,11 +1,13 @@ package com.ruoyi.projectManagement.vo; import com.ruoyi.projectManagement.dto.SaveInfoDto; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.List; /** * @author buhuazhen @@ -21,4 +23,7 @@ // 项目阶段 private String xxx; // 下级项目 private List<SaveInfoDto> subordinateInfoList; }