feat(软件发展新技术课题联调): 产品库逻辑调整

产品版本列表返回关联产品详情

Signed-off-by: OTTO <731554297@qq.com>
This commit is contained in:
OTTO 2024-12-25 13:47:27 +08:00
parent a53437d060
commit 5a20b86f8b
3 changed files with 25 additions and 7 deletions

View File

@ -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 = "产品版本号")

View File

@ -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 = "产品版本号")

View File

@ -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<PmsProductLibraryComponentDataVo> 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<PmsProductLibrarySimpleVo> selectPmsProductLibraryPageList(PmsProductLibrarySearchVo searchVo) {
return PageUtils.toPage(pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryList(searchVo), this::toPmsProductLibrarySimpleVo);
HashMap<String, Object> hashMap = new HashMap<>();
return PageUtils.toPage(pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryList(searchVo), x -> toPmsProductLibrarySimpleVo(x, hashMap));
}
private PmsProductLibrarySimpleVo toPmsProductLibrarySimpleVo(PmsProductLibraryRepositories pmsProductLibraryRepositories) {
private PmsProductLibrarySimpleVo toPmsProductLibrarySimpleVo(PmsProductLibraryRepositories pmsProductLibraryRepositories, HashMap<String, Object> 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;
}