diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/document/service/impl/PmsDocumentServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/document/service/impl/PmsDocumentServiceImpl.java index 493122104..c6025537f 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/document/service/impl/PmsDocumentServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/document/service/impl/PmsDocumentServiceImpl.java @@ -84,7 +84,7 @@ public class PmsDocumentServiceImpl implements IPmsDocumentService public PmsDocumentDetailVo selectPmsDocumentDetailVoByIdAndEnterpriseId(Long id, Long enterpriseId) { PmsDocument pmsDocument = this.selectPmsDocumentByIdAndEnterpriseId(id, enterpriseId); if (pmsDocument == null) { - throw new ServiceException("The entered parameter is incorrect"); + throw new ServiceException("组织知识库下不存在该文档(文档标识[%s])", id); } PmsDocumentDetailVo pmsDocumentDetailVo = new PmsDocumentDetailVo(); BeanUtils.copyProperties(pmsDocument, pmsDocumentDetailVo); diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/controller/PmsProductLibraryController.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/controller/PmsProductLibraryController.java index 44c729945..908bf5bf3 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/controller/PmsProductLibraryController.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/controller/PmsProductLibraryController.java @@ -127,7 +127,7 @@ public class PmsProductLibraryController extends BaseController { componentRawInputVo.setRepoName(name); componentRawInputVo.setEnterpriseIdentifier(enterpriseIdentifier); componentRawInputVo.setFormat(ProductLibraryRepositoriesFormatEnum.PRODUCT.getKey()); - return toAjax(pmsProductLibraryComponentService.insertRawComponent(componentRawInputVo)); + return toAjax(pmsProductLibraryService.uploadProductAsset(componentRawInputVo)); } /** diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/AssetRawInputVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/AssetRawInputVo.java index b9bbabc0c..07bf3af3a 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/AssetRawInputVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/AssetRawInputVo.java @@ -24,6 +24,6 @@ public class AssetRawInputVo { private String fileIdentifier; @ApiModelProperty(value = "文件流", hidden = true) private SysFileBytes fileBytes; - @ApiModelProperty(value = "制品标识", hidden = true) + @ApiModelProperty(value = "制品标识") private String assetIdentifier; } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ComponentRawInputVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ComponentRawInputVo.java index bfde1bcf8..0199b0dae 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ComponentRawInputVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ComponentRawInputVo.java @@ -86,7 +86,6 @@ public class ComponentRawInputVo { throw new ServiceException("用户提供的制品额外属性格式错误,请确保为JSON格式"); } } - pmsProductLibraryComponent.setPmsEnterpriseIdentifier(enterpriseIdentifier); return pmsProductLibraryComponent; } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryComponentService.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryComponentService.java index dde038426..ffece4399 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryComponentService.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryComponentService.java @@ -1,7 +1,6 @@ package com.microservices.pms.productLibrary.service; import com.microservices.pms.productLibrary.domain.PmsProductLibraryComponent; -import com.microservices.pms.productLibrary.domain.PmsProductLibraryRepositories; import com.microservices.pms.productLibrary.domain.vo.*; import java.util.List; @@ -121,8 +120,6 @@ public interface IPmsProductLibraryComponentService { */ List selectPmsProductLibraryComponentListByDatabase(Long repoId); - PmsProductLibraryRepositories getPmsProductLibraryRepositories(Boolean isProduct, String enterpriseIdentifier, String repositoryName, String snapshotName); - /** * 批量锁定制品,防止重复移入 * diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryRepositoriesService.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryRepositoriesService.java index f4b14c123..adf44e760 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryRepositoriesService.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryRepositoriesService.java @@ -131,4 +131,6 @@ public interface IPmsProductLibraryRepositoriesService { List getLockStatusRepositoryList(String enterpriseIdentifier, String repoIds); PmsProductLibraryRepositories selectPmsProductLibraryRepositoriesById(Long repoId); + + PmsProductLibraryRepositories getPmsProductLibraryRepositories(Boolean isProduct, String enterpriseIdentifier, String repositoryName, String snapshotName); } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryService.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryService.java index 0ab05dc81..a27b71158 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryService.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/IPmsProductLibraryService.java @@ -91,4 +91,12 @@ public interface IPmsProductLibraryService { * @return 产品库打包对象 */ ProductPackagedResultVo getPackagedProduct(String enterpriseIdentifier, String productRepoName); + + /** + * 上传产品库制品 + * + * @param componentRawInputVo 产品库制品输入对象 + * @return 结果 + */ + Boolean uploadProductAsset(ComponentRawInputVo componentRawInputVo); } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryComponentServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryComponentServiceImpl.java index 33164421b..93597d582 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryComponentServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryComponentServiceImpl.java @@ -75,24 +75,6 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary return pmsProductLibraryComponentMapper.selectPmsProductLibraryComponentById(id); } - @Override - public PmsProductLibraryRepositories getPmsProductLibraryRepositories(Boolean isProduct, String enterpriseIdentifier, String repoName, String snapshotName) { - PmsProductLibraryRepositories pmsProductLibraryRepositories; - if (isProduct) { - pmsProductLibraryRepositories = - pmsProductLibraryProductRepoService.selectPmsProductLibraryByName(enterpriseIdentifier, repoName); - } else { - if (StringUtils.isNotEmpty(snapshotName)) { - pmsProductLibraryRepositories = - pmsProductLibrarySnapshotRepoService.selectPmsProductLibrarySnapshotByName(enterpriseIdentifier, repoName, snapshotName); - } else { - pmsProductLibraryRepositories = - pmsProductLibraryRepositoriesService.selectPmsProductLibraryRepositoriesByName(enterpriseIdentifier, repoName); - } - } - return pmsProductLibraryRepositories; - } - /** * 查询制品库-制品列表 * @@ -104,7 +86,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public NexusComponentResultVo> selectPmsProductLibraryComponentListByNexus(String enterpriseIdentifier, ComponentSearchVo componentSearchVo, boolean isProduct) { PmsProductLibraryRepositories pmsProductLibraryRepositories = - getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, componentSearchVo.getRepositoryName(), componentSearchVo.getSnapshotRepoName()); + pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, componentSearchVo.getRepositoryName(), componentSearchVo.getSnapshotRepoName()); componentSearchVo.setRepositoryName(pmsProductLibraryRepositories.getNexusRepositoriesName()); NexusComponentSearchVo nexusComponentSearchVo = NexusComponentSearchVo.toRead(componentSearchVo, nexusRequestHelper.getNexusTid()); @@ -126,7 +108,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public NexusComponentResultVo getAssetDetailByAssetId(String enterpriseIdentifier, String repoName, String snapshotName, String assetId, boolean isProduct) { - PmsProductLibraryRepositories pmsProductLibraryRepositories = getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); + PmsProductLibraryRepositories pmsProductLibraryRepositories = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); NexusComponentSearchVo nexusComponentSearchVo = NexusComponentSearchVo.toReadAsset(pmsProductLibraryRepositories.getNexusRepositoriesName(), assetId, nexusRequestHelper.getNexusTid()); NexusComponentResultVo assetResultDataVo = @@ -179,7 +161,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public NexusComponentResultVo getComponentDetailByComponentId(String enterpriseIdentifier, String repoName, String snapshotName, String componentId, boolean isProduct) { - PmsProductLibraryRepositories pmsProductLibraryRepositories = getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); + PmsProductLibraryRepositories pmsProductLibraryRepositories = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); NexusComponentSearchVo nexusComponentSearchVo = NexusComponentSearchVo.toReadComponent(pmsProductLibraryRepositories.getNexusRepositoriesName(), componentId, nexusRequestHelper.getNexusTid()); NexusComponentResultVo componentResultVo = @@ -216,7 +198,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public NexusComponentResultVo getCanDeleteFolderByNode(String enterpriseIdentifier, ComponentSearchVo componentSearchVo, boolean isProduct) { - PmsProductLibraryRepositories pmsProductLibraryRepositories = getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, componentSearchVo.getRepositoryName(), componentSearchVo.getSnapshotRepoName()); + PmsProductLibraryRepositories pmsProductLibraryRepositories = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, componentSearchVo.getRepositoryName(), componentSearchVo.getSnapshotRepoName()); NexusComponentSearchVo nexusComponentSearchVo = NexusComponentSearchVo.toCanDeleteFolder(pmsProductLibraryRepositories.getNexusRepositoriesName(), componentSearchVo.getNode(), nexusRequestHelper.getNexusTid()); return nexusRequestHelper.doRequestToJavaObject( @@ -229,7 +211,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public NexusComponentResultVo getCanDeleteComponentByComponentId(String enterpriseIdentifier, String repoName, String snapshotName, String componentId, boolean isProduct) { - PmsProductLibraryRepositories pmsProductLibraryRepositories = getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); + PmsProductLibraryRepositories pmsProductLibraryRepositories = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); NexusComponentSearchVo nexusComponentSearchVo = NexusComponentSearchVo.toCanDeleteComponent(pmsProductLibraryRepositories.getNexusRepositoriesName(), componentId, nexusRequestHelper.getNexusTid()); return nexusRequestHelper.doRequestToJavaObject( @@ -242,7 +224,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public NexusComponentResultVo getCanDeleteAssetByAssetId(String enterpriseIdentifier, String repoName, String snapshotName, String assetId, boolean isProduct) { - PmsProductLibraryRepositories pmsProductLibraryRepositories = getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); + PmsProductLibraryRepositories pmsProductLibraryRepositories = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); NexusComponentSearchVo nexusComponentSearchVo = NexusComponentSearchVo.toCanDeleteAsset(pmsProductLibraryRepositories.getNexusRepositoriesName(), assetId, nexusRequestHelper.getNexusTid()); return nexusRequestHelper.doRequestToJavaObject( @@ -255,7 +237,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public NexusComponentResultVo> deleteAssetByAssetId(String enterpriseIdentifier, String repoName, String snapshotName, String assetId, boolean isProduct) { - PmsProductLibraryRepositories pmsProductLibraryRepositories = getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); + PmsProductLibraryRepositories pmsProductLibraryRepositories = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); pmsProductLibraryRepositoriesService.checkLockRepositoryStatus(enterpriseIdentifier, pmsProductLibraryRepositories.getId()); NexusComponentSearchVo nexusComponentSearchVo = NexusComponentSearchVo.toDeleteAsset(pmsProductLibraryRepositories.getNexusRepositoriesName(), assetId, nexusRequestHelper.getNexusTid()); @@ -272,7 +254,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public NexusComponentResultVo> deleteComponentByComponentId(String enterpriseIdentifier, String repoName, String snapshotName, String componentId, boolean isProduct) { - PmsProductLibraryRepositories pmsProductLibraryRepositories = getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); + PmsProductLibraryRepositories pmsProductLibraryRepositories = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, repoName, snapshotName); pmsProductLibraryRepositoriesService.checkLockRepositoryStatus(enterpriseIdentifier, pmsProductLibraryRepositories.getId()); NexusComponentSearchVo nexusComponentSearchVo = NexusComponentSearchVo.toDeleteComponent(pmsProductLibraryRepositories.getNexusRepositoriesName(), componentId, nexusRequestHelper.getNexusTid()); @@ -289,7 +271,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public NexusComponentResultVo deleteFolderByNode(String enterpriseIdentifier, ComponentSearchVo componentSearchVo, boolean isProduct) { - PmsProductLibraryRepositories pmsProductLibraryRepositories = getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, componentSearchVo.getRepositoryName(), componentSearchVo.getSnapshotRepoName()); + PmsProductLibraryRepositories pmsProductLibraryRepositories = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(isProduct, enterpriseIdentifier, componentSearchVo.getRepositoryName(), componentSearchVo.getSnapshotRepoName()); pmsProductLibraryRepositoriesService.checkLockRepositoryStatus(enterpriseIdentifier, pmsProductLibraryRepositories.getId()); NexusComponentSearchVo nexusComponentSearchVo = NexusComponentSearchVo.toDeleteFolder(pmsProductLibraryRepositories.getNexusRepositoriesName(), componentSearchVo.getNode(), nexusRequestHelper.getNexusTid()); @@ -384,7 +366,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary public Boolean insertMavenComponent(ComponentMavenInputVo componentMavenInputVo) { // 构建制品列表,用于数据库记录 List pmsProductLibraryComponents = new ArrayList<>(); - PmsProductLibraryRepositories repo = getPmsProductLibraryRepositories( + PmsProductLibraryRepositories repo = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories( false, componentMavenInputVo.getEnterpriseIdentifier(), componentMavenInputVo.getRepoName(), @@ -452,7 +434,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary componentRawInputVo.setDirectory(EscapeUtil.encodeChineseCharacters(componentRawInputVo.getDirectory())); // 构建制品列表,用于数据库记录 List pmsProductLibraryComponents = new ArrayList<>(); - PmsProductLibraryRepositories repo = getPmsProductLibraryRepositories( + PmsProductLibraryRepositories repo = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories( ProductLibraryRepositoriesFormatEnum.isProduct(componentRawInputVo.getFormat()), componentRawInputVo.getEnterpriseIdentifier(), componentRawInputVo.getRepoName(), @@ -507,7 +489,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public Boolean insertNpmComponent(ComponentInputVo componentInputVo) { - PmsProductLibraryRepositories repo = getPmsProductLibraryRepositories( + PmsProductLibraryRepositories repo = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories( false, componentInputVo.getEnterpriseIdentifier(), componentInputVo.getRepoName(), @@ -545,7 +527,7 @@ public class PmsProductLibraryComponentServiceImpl implements IPmsProductLibrary @Override public Boolean insertPypiComponent(ComponentInputVo componentInputVo) { - PmsProductLibraryRepositories repo = getPmsProductLibraryRepositories( + PmsProductLibraryRepositories repo = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories( false, componentInputVo.getEnterpriseIdentifier(), componentInputVo.getRepoName(), diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryRepositoriesServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryRepositoriesServiceImpl.java index ab15b6d17..974782106 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryRepositoriesServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibraryRepositoriesServiceImpl.java @@ -15,6 +15,8 @@ import com.microservices.pms.productLibrary.domain.*; import com.microservices.pms.productLibrary.domain.vo.*; import com.microservices.pms.productLibrary.mapper.PmsProductLibraryRepositoriesMapper; import com.microservices.pms.productLibrary.service.IPmsProductLibraryRepositoriesService; +import com.microservices.pms.productLibrary.service.IPmsProductLibraryService; +import com.microservices.pms.productLibrary.service.IPmsProductLibrarySnapshotRepoService; import com.microservices.pms.utils.NexusRequestHelper; import com.microservices.pms.utils.NexusRequestUrl; import org.springframework.beans.factory.annotation.Autowired; @@ -39,6 +41,10 @@ public class PmsProductLibraryRepositoriesServiceImpl implements IPmsProductLibr private NexusRequestHelper nexusRequestHelper; @Autowired private RedisService redisService; + @Autowired + private IPmsProductLibrarySnapshotRepoService pmsProductLibrarySnapshotRepoService; + @Autowired + private IPmsProductLibraryService pmsProductLibraryService; @Override public PmsProductLibraryRepositories selectPmsProductLibraryRepositoriesByName(String enterpriseIdentifier, String name) { @@ -405,4 +411,22 @@ public class PmsProductLibraryRepositoriesServiceImpl implements IPmsProductLibr throw new ServiceException("该制品库锁定中,无法进行操作(制品库Id[%s])", repoId); } } + + @Override + public PmsProductLibraryRepositories getPmsProductLibraryRepositories(Boolean isProduct, String enterpriseIdentifier, String repoName, String snapshotName) { + PmsProductLibraryRepositories pmsProductLibraryRepositories; + if (isProduct) { + pmsProductLibraryRepositories = + pmsProductLibraryService.selectPmsProductLibraryByName(enterpriseIdentifier, repoName); + } else { + if (StringUtils.isNotEmpty(snapshotName)) { + pmsProductLibraryRepositories = + pmsProductLibrarySnapshotRepoService.selectPmsProductLibrarySnapshotByName(enterpriseIdentifier, repoName, snapshotName); + } else { + pmsProductLibraryRepositories = + selectPmsProductLibraryRepositoriesByName(enterpriseIdentifier, repoName); + } + } + return pmsProductLibraryRepositories; + } } 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 387e39656..980293d9c 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 @@ -9,6 +9,7 @@ import com.microservices.common.core.utils.StringUtils; import com.microservices.common.core.utils.html.EscapeUtil; import com.microservices.common.core.web.page.GenericsTableDataInfo; import com.microservices.common.security.utils.SecurityUtils; +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.productLibrary.domain.PmsProductLibraryComponent; @@ -30,6 +31,7 @@ import com.microservices.system.api.utils.FeignUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -54,11 +56,15 @@ public class PmsProductLibraryServiceImpl implements IPmsProductLibraryService { @Autowired private IPmsProductLibraryAsyncService pmsProductLibraryAsyncService; @Autowired + @Lazy private IPmsProductLibraryComponentService pmsProductLibraryComponentService; @Autowired + @Lazy private IPmsProductLibraryRepositoriesService pmsProductLibraryRepositoriesService; @Autowired private RemoteFileService remoteFileService; + @Autowired + private IPmsDocumentService pmsDocumentService; @Override public GenericsTableDataInfo selectComponentList(PmsProductLibraryComponentSearchVo search) { @@ -158,6 +164,31 @@ public class PmsProductLibraryServiceImpl implements IPmsProductLibraryService { return productPackagedResultVo; } + @Override + public Boolean uploadProductAsset(ComponentRawInputVo componentRawInputVo) { + PmsProductLibraryRepositories repo = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories( + ProductLibraryRepositoriesFormatEnum.isProduct(componentRawInputVo.getFormat()), + componentRawInputVo.getEnterpriseIdentifier(), + componentRawInputVo.getRepoName(), + componentRawInputVo.getSnapshotName()); + + PmsEnterprise pmsEnterprise = pmsEnterpriseService.selectPmsEnterpriseByIdentifier(componentRawInputVo.getEnterpriseIdentifier()); + for (AssetRawInputVo assetRawInputVo : componentRawInputVo.getAssetList()) { + if (!StringUtils.isNumeric(assetRawInputVo.getAssetIdentifier())) { + throw new ServiceException("制品标识格式错误,产品库的制品标识应该为文档Id(制品文件名称[%s])", assetRawInputVo.getFilename()); + } + + PmsProductLibraryComponent pmsProductLibraryComponent = + pmsProductLibraryComponentMapper.selectPmsProductLibraryComponentByIdentifier(repo.getId(), assetRawInputVo.getAssetIdentifier()); + if (pmsProductLibraryComponent != null) { + throw new ServiceException("产品库已存在该文档,请勿重复上传(文档文件名称[%s])", assetRawInputVo.getFilename()); + } + pmsDocumentService.selectPmsDocumentDetailVoByIdAndEnterpriseId(Long.parseLong(assetRawInputVo.getAssetIdentifier()), pmsEnterprise.getId()); + } + + return pmsProductLibraryComponentService.insertRawComponent(componentRawInputVo); + } + @Override public int insertPmsProductLibrary(ProductRepositoriesInputVo productRepositoriesInputVo) { @@ -233,11 +264,11 @@ public class PmsProductLibraryServiceImpl implements IPmsProductLibraryService { @Override public NexusComponentResultVo> selectPmsProductLibraryKeyComponentList(String enterpriseIdentifier, ComponentSearchVo componentSearchVo) { - PmsProductLibraryRepositories productRepo = pmsProductLibraryComponentService.getPmsProductLibraryRepositories(true, enterpriseIdentifier, componentSearchVo.getProductRepoName(), null); + PmsProductLibraryRepositories productRepo = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(true, enterpriseIdentifier, componentSearchVo.getProductRepoName(), null); PmsProductLibraryComponent productComponentSearch = new PmsProductLibraryComponent(); productComponentSearch.setRepoId(productRepo.getId()); List productComponentList = pmsProductLibraryComponentMapper.selectPmsProductLibraryComponentList(productComponentSearch); - PmsProductLibraryRepositories repo = pmsProductLibraryComponentService.getPmsProductLibraryRepositories(false, enterpriseIdentifier, componentSearchVo.getRepositoryName(), null); + PmsProductLibraryRepositories repo = pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(false, enterpriseIdentifier, componentSearchVo.getRepositoryName(), null); componentSearchVo.setRepositoryName(repo.getNexusRepositoriesName()); // Docker类型调用Nexus获取制品列表接口获取 if (ProductLibraryRepositoriesFormatEnum.DOCKER.getKey().equals(repo.getFormat())) { diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibrarySnapshotRepoServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibrarySnapshotRepoServiceImpl.java index 25cb98c24..de68ca285 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibrarySnapshotRepoServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/service/impl/PmsProductLibrarySnapshotRepoServiceImpl.java @@ -19,6 +19,7 @@ import com.microservices.pms.productLibrary.service.IPmsProductLibrarySnapshotRe import com.microservices.pms.utils.NexusRequestHelper; import com.microservices.pms.utils.NexusRequestUrl; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; /** @@ -31,6 +32,7 @@ public class PmsProductLibrarySnapshotRepoServiceImpl implements IPmsProductLibr private PmsProductLibraryRepositoriesMapper pmsProductLibraryRepositoriesMapper; @Autowired + @Lazy private IPmsProductLibraryRepositoriesService pmsProductLibraryRepositoriesService; @Autowired private IPmsProductLibraryAsyncService pmsProductLibraryAsyncService;