diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibraryDataVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibraryDataVo.java index 9281131b7..5e2e5856c 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibraryDataVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibraryDataVo.java @@ -1,6 +1,7 @@ package com.microservices.pms.productLibrary.domain.vo; import com.alibaba.fastjson2.JSONObject; +import com.microservices.pms.product.domain.PmsProduct; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -49,8 +50,8 @@ public class PmsProductLibraryDataVo { private JSONObject attributes; - @ApiModelProperty(value = "关联产品标识") - private String productIdentifier; + @ApiModelProperty(value = "关联产品") + private PmsProduct product; @ApiModelProperty(value = "产品版本号") diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibrarySimpleVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibrarySimpleVo.java index 253d11fed..1da2cb830 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibrarySimpleVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibrarySimpleVo.java @@ -1,6 +1,7 @@ package com.microservices.pms.productLibrary.domain.vo; import com.alibaba.fastjson2.JSONObject; +import com.microservices.pms.product.domain.PmsProduct; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -20,8 +21,8 @@ public class PmsProductLibrarySimpleVo extends PmsProductLibraryRepositoriesSimp @ApiModelProperty(value = "其他属性") private JSONObject attributes; - @ApiModelProperty(value = "关联产品标识") - private String productIdentifier; + @ApiModelProperty(value = "关联产品") + private PmsProduct product; @ApiModelProperty(value = "产品版本号") diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryServiceImpl.java index e2151bb74..77bda905f 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryServiceImpl.java @@ -15,6 +15,7 @@ import com.microservices.pms.document.domain.vo.PmsDocumentVo; import com.microservices.pms.document.service.IPmsDocumentService; import com.microservices.pms.enterprise.domain.PmsEnterprise; import com.microservices.pms.enterprise.service.IPmsEnterpriseService; +import com.microservices.pms.product.service.IPmsProductService; import com.microservices.pms.productLibrary.domain.PmsProductLibraryComponent; import com.microservices.pms.productLibrary.domain.PmsProductLibraryRepositories; import com.microservices.pms.productLibrary.domain.ProductLibraryRepositoriesFormatEnum; @@ -43,6 +44,7 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -76,6 +78,8 @@ public class PmsProductLibraryServiceImpl implements IPmsProductLibraryService { private IPmsDocumentService pmsDocumentService; @Autowired private IPmsCommonService pmsCommonService; + @Autowired + private IPmsProductService pmsProductService; @Override public GenericsTableDataInfo selectComponentList(PmsProductLibraryComponentSearchVo search) { @@ -107,7 +111,9 @@ public class PmsProductLibraryServiceImpl implements IPmsProductLibraryService { @Override public PmsProductLibraryDataVo selectPmsProductLibraryDataByName(String enterpriseIdentifier, String repoName) { PmsProductLibraryRepositories pmsProductLibraryRepositories = selectPmsProductLibraryByName(enterpriseIdentifier, repoName); - return pmsProductLibraryRepositories.toPmsProductLibraryDataVo(); + PmsProductLibraryDataVo pmsProductLibraryDataVo = pmsProductLibraryRepositories.toPmsProductLibraryDataVo(); + pmsProductLibraryDataVo.setProduct(pmsProductService.selectPmsProductByIdentifier(pmsProductLibraryRepositories.getProductIdentifier())); + return pmsProductLibraryDataVo; } @@ -122,12 +128,22 @@ public class PmsProductLibraryServiceImpl implements IPmsProductLibraryService { @Override public GenericsTableDataInfo selectPmsProductLibraryPageList(PmsProductLibrarySearchVo searchVo) { - return PageUtils.toPage(pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryList(searchVo), this::toPmsProductLibrarySimpleVo); + HashMap hashMap = new HashMap<>(); + return PageUtils.toPage(pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryList(searchVo), x -> toPmsProductLibrarySimpleVo(x, hashMap)); } - private PmsProductLibrarySimpleVo toPmsProductLibrarySimpleVo(PmsProductLibraryRepositories pmsProductLibraryRepositories) { + private PmsProductLibrarySimpleVo toPmsProductLibrarySimpleVo(PmsProductLibraryRepositories pmsProductLibraryRepositories, HashMap hashMap) { PmsProductLibrarySimpleVo pmsProductLibrarySimpleVo = pmsProductLibraryRepositories.toPmsProductLibrarySimpleVo(); pmsCommonService.setBaseEntityVo(pmsProductLibrarySimpleVo, pmsProductLibraryRepositories); + if (StringUtils.isNotEmpty(pmsProductLibraryRepositories.getProductIdentifier())) { + pmsProductLibrarySimpleVo.setProduct( + PmsUtils.getSelectObjectInCache( + hashMap + , x -> pmsProductService.selectPmsProductByIdentifier(x) + , pmsProductLibraryRepositories.getProductIdentifier() + ) + ); + } return pmsProductLibrarySimpleVo; }