From a53437d060128f7b61060bed6aa543a0927f0dba Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Wed, 25 Dec 2024 11:33:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=BD=AF=E4=BB=B6=E5=8F=91=E5=B1=95?= =?UTF-8?q?=E6=96=B0=E6=8A=80=E6=9C=AF=E8=AF=BE=E9=A2=98=E8=81=94=E8=B0=83?= =?UTF-8?q?):=20=E4=BA=A7=E5=93=81=E5=BA=93=E9=80=BB=E8=BE=91=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 产品版本(原产品库)新增产品版本号和关联产品标识字段 Signed-off-by: OTTO <731554297@qq.com> --- .../PmsProductLibraryController.java | 7 ++- .../domain/PmsProductLibraryRepositories.java | 15 +++++ .../domain/vo/PmsProductLibraryDataVo.java | 58 +++++++++++++++++++ .../domain/vo/PmsProductLibrarySearchVo.java | 28 +++++++++ .../domain/vo/PmsProductLibrarySimpleVo.java | 7 +++ .../domain/vo/ProductRepositoriesInputVo.java | 15 ++++- .../vo/ProductRepositoriesOperateVo.java | 6 ++ .../PmsProductLibraryRepositoriesMapper.java | 6 +- .../service/IPmsProductLibraryService.java | 7 +-- .../impl/PmsProductLibraryServiceImpl.java | 8 +-- .../PmsProductLibraryRepositoriesMapper.xml | 17 ++++++ 11 files changed, 158 insertions(+), 16 deletions(-) create mode 100644 microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibraryDataVo.java create mode 100644 microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibrarySearchVo.java 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 291f06da5..fa89c4b71 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 @@ -54,7 +54,7 @@ public class PmsProductLibraryController extends BaseController { // @RequiresPermissions("pms:pmsProductLibraryRepositories:list") @GetMapping("/byRepoName/{repoName}") @ApiOperation(value = "获取产品库详情") - public GenericsAjaxResult getByRepoName(@PathVariable String enterpriseIdentifier, + public GenericsAjaxResult getByRepoName(@PathVariable String enterpriseIdentifier, @ApiParam(value = "产品库标识", required = true) @PathVariable String repoName) { return GenericsAjaxResult.success(pmsProductLibraryService.selectPmsProductLibraryDataByName(enterpriseIdentifier, repoName)); } @@ -67,9 +67,10 @@ public class PmsProductLibraryController extends BaseController { @ApiOperation(value = "查询产品库列表") public GenericsTableDataInfo list( @PathVariable String enterpriseIdentifier, - @ApiParam("模糊搜索产品库标识") String name) { + @ApiParam("产品库搜索条件") PmsProductLibrarySearchVo pmsProductLibrarySearchVo) { + pmsProductLibrarySearchVo.setPmsEnterpriseIdentifier(enterpriseIdentifier); startPage(); - return pmsProductLibraryService.selectPmsProductLibraryPageList(enterpriseIdentifier, name); + return pmsProductLibraryService.selectPmsProductLibraryPageList(pmsProductLibrarySearchVo); } /** diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/PmsProductLibraryRepositories.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/PmsProductLibraryRepositories.java index dedb519bb..67f01027e 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/PmsProductLibraryRepositories.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/PmsProductLibraryRepositories.java @@ -91,6 +91,14 @@ public class PmsProductLibraryRepositories extends BaseEntity { @ApiModelProperty(value = "打包的文件标识") private String packagedFileIdentifier; + + @ApiModelProperty(value = "关联产品标识") + private String productIdentifier; + + + @ApiModelProperty(value = "产品版本号") + private String version; + public RepoAttributesVo getRepoAttributes() { return JSONObject.parseObject(this.attributes, RepoAttributesVo.class); } @@ -102,6 +110,13 @@ public class PmsProductLibraryRepositories extends BaseEntity { return target; } + public PmsProductLibraryDataVo toPmsProductLibraryDataVo() { + PmsProductLibraryDataVo target = new PmsProductLibraryDataVo(); + BeanUtils.copyProperties(this, target); + target.setAttributes(JSONObject.parseObject(attributes)); + return target; + } + public PmsProductLibraryRepositoriesSimpleVo toPmsProductLibraryRepositoriesSimpleVo() { PmsProductLibraryRepositoriesSimpleVo target = new PmsProductLibraryRepositoriesSimpleVo(); BeanUtils.copyProperties(this, target); 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 new file mode 100644 index 000000000..9281131b7 --- /dev/null +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibraryDataVo.java @@ -0,0 +1,58 @@ +package com.microservices.pms.productLibrary.domain.vo; + +import com.alibaba.fastjson2.JSONObject; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 制品库数据对象 + * + * @author otto + * @date 2024-07-11 + */ +@Data +@ApiModel("产品库数据对象") +public class PmsProductLibraryDataVo { + + /** + * 制品仓库ID + */ + private Long id; + + @ApiModelProperty(value = "产品版本标识") + private String name; + + @ApiModelProperty(value = "产品版本名称") + private String alias; + + /** + * 制品仓库名称类型 + */ + @ApiModelProperty(value = "制品库类型") + private String type; + + @ApiModelProperty(value = "制品库格式") + private String format; + + /** + * 制品仓库访问路径 + */ + @ApiModelProperty(value = "制品仓库访问路径") + private String url; + + + /** + * 其他属性 + */ + @ApiModelProperty(value = "其他属性") + private JSONObject attributes; + + + @ApiModelProperty(value = "关联产品标识") + private String productIdentifier; + + + @ApiModelProperty(value = "产品版本号") + private String version; +} diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibrarySearchVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibrarySearchVo.java new file mode 100644 index 000000000..ac54e8128 --- /dev/null +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/PmsProductLibrarySearchVo.java @@ -0,0 +1,28 @@ +package com.microservices.pms.productLibrary.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 制品库数据对象 + * + * @author otto + * @date 2024-07-11 + */ +@Data +@ApiModel("产品库搜索对象") +public class PmsProductLibrarySearchVo { + + @ApiModelProperty(value = "产品版本标识") + private String name; + + @ApiModelProperty(value = "产品版本名称") + private String alias; + + @ApiModelProperty(value = "关联产品标识") + private String productIdentifier; + + @ApiModelProperty(value = "关联企业标识", hidden = true) + private String pmsEnterpriseIdentifier; +} 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 fc66e978a..253d11fed 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 @@ -19,4 +19,11 @@ public class PmsProductLibrarySimpleVo extends PmsProductLibraryRepositoriesSimp */ @ApiModelProperty(value = "其他属性") private JSONObject attributes; + + @ApiModelProperty(value = "关联产品标识") + private String productIdentifier; + + + @ApiModelProperty(value = "产品版本号") + private String version; } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ProductRepositoriesInputVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ProductRepositoriesInputVo.java index dad9c8d04..6414f21c1 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ProductRepositoriesInputVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ProductRepositoriesInputVo.java @@ -17,15 +17,24 @@ import javax.validation.constraints.Pattern; @Data @ApiModel("产品库输入对象") public class ProductRepositoriesInputVo extends ProductRepositoriesOperateVo { - @ApiModelProperty(value = "产品库标识") + @ApiModelProperty(value = "产品库标识", required = true) @NotBlank(message = "产品库标识不能为空") @Pattern(regexp = "^[A-Za-z0-9](?!_)(?!\\.)[A-Za-z0-9_\\-.]*$", message = "产品库标识不符合规范") private String name; - @ApiModelProperty(value = "产品库名称") + @ApiModelProperty(value = "产品库名称", required = true) @NotBlank(message = "产品库名称不能为空") private String alias; + + @ApiModelProperty(value = "关联产品标识", required = true) + @NotBlank(message = "关联产品标识不能为空") + private String productIdentifier; + + @ApiModelProperty(value = "产品版本号", required = true) + @NotBlank(message = "产品版本号不能为空") + private String version; + @Override public NexusHostedRepoInputVo toNexusRepoDataVo() { NexusHostedRepoInputVo target = super.toNexusRepoDataVo(); @@ -38,6 +47,8 @@ public class ProductRepositoriesInputVo extends ProductRepositoriesOperateVo { PmsProductLibraryRepositories target = super.toPmsProductLibraryRepositories(); target.setName(name); target.setAlias(alias); + target.setProductIdentifier(productIdentifier); + target.setVersion(version); return target; } } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ProductRepositoriesOperateVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ProductRepositoriesOperateVo.java index 88045a961..38bdc188d 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ProductRepositoriesOperateVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/domain/vo/ProductRepositoriesOperateVo.java @@ -33,6 +33,12 @@ public class ProductRepositoriesOperateVo { @ApiModelProperty(value = "产品库描述") private String describe; + @ApiModelProperty(value = "关联产品标识") + private String productIdentifier; + + @ApiModelProperty(value = "产品版本号") + private String version; + public NexusHostedRepoInputVo toNexusRepoDataVo() { NexusHostedRepoInputVo target = new NexusHostedRepoInputVo(); diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/mapper/PmsProductLibraryRepositoriesMapper.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/mapper/PmsProductLibraryRepositoriesMapper.java index 7094fdb14..acb73b533 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/mapper/PmsProductLibraryRepositoriesMapper.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/productLibrary/mapper/PmsProductLibraryRepositoriesMapper.java @@ -1,6 +1,7 @@ package com.microservices.pms.productLibrary.mapper; import com.microservices.pms.productLibrary.domain.PmsProductLibraryRepositories; +import com.microservices.pms.productLibrary.domain.vo.PmsProductLibrarySearchVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -121,11 +122,10 @@ public interface PmsProductLibraryRepositoriesMapper { /** * 查询产品库列表 * - * @param pmsEnterpriseIdentifier 组织标识 - * @param name 产品库标识 + * @param searchVo 产品库标识 * @return 产品库列表 */ - List selectPmsProductLibraryList(@Param("pmsEnterpriseIdentifier") String pmsEnterpriseIdentifier, @Param("name") String name); + List selectPmsProductLibraryList(PmsProductLibrarySearchVo searchVo); List selectPmsProductLibrarySnapshotPageList(@Param("pmsEnterpriseIdentifier") String pmsEnterpriseIdentifier, @Param("repoName") String repoName, @Param("snapshotName") 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 af2af5be4..ff9af761b 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 @@ -13,7 +13,7 @@ public interface IPmsProductLibraryService { GenericsTableDataInfo selectComponentList(PmsProductLibraryComponentSearchVo search); - PmsProductLibraryRepositoriesDataVo selectPmsProductLibraryDataByName(String enterpriseIdentifier, String repoName); + PmsProductLibraryDataVo selectPmsProductLibraryDataByName(String enterpriseIdentifier, String repoName); /** * 根据组织标识和名称查找产品库 @@ -28,11 +28,10 @@ public interface IPmsProductLibraryService { /** * 查询产品库列表 * - * @param enterpriseIdentifier 组织标识 - * @param name 产品库标识 + * @param searchVo 产品库标识 * @return 产品库列表 */ - GenericsTableDataInfo selectPmsProductLibraryPageList(String enterpriseIdentifier, String name); + GenericsTableDataInfo selectPmsProductLibraryPageList(PmsProductLibrarySearchVo searchVo); /** 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 0c8dbf5cf..e2151bb74 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 @@ -105,9 +105,9 @@ public class PmsProductLibraryServiceImpl implements IPmsProductLibraryService { } @Override - public PmsProductLibraryRepositoriesDataVo selectPmsProductLibraryDataByName(String enterpriseIdentifier, String repoName) { + public PmsProductLibraryDataVo selectPmsProductLibraryDataByName(String enterpriseIdentifier, String repoName) { PmsProductLibraryRepositories pmsProductLibraryRepositories = selectPmsProductLibraryByName(enterpriseIdentifier, repoName); - return pmsProductLibraryRepositories.toPmsProductLibraryRepositoriesDataVo(); + return pmsProductLibraryRepositories.toPmsProductLibraryDataVo(); } @@ -121,8 +121,8 @@ public class PmsProductLibraryServiceImpl implements IPmsProductLibraryService { } @Override - public GenericsTableDataInfo selectPmsProductLibraryPageList(String enterpriseIdentifier, String name) { - return PageUtils.toPage(pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryList(enterpriseIdentifier, name), this::toPmsProductLibrarySimpleVo); + public GenericsTableDataInfo selectPmsProductLibraryPageList(PmsProductLibrarySearchVo searchVo) { + return PageUtils.toPage(pmsProductLibraryRepositoriesMapper.selectPmsProductLibraryList(searchVo), this::toPmsProductLibrarySimpleVo); } private PmsProductLibrarySimpleVo toPmsProductLibrarySimpleVo(PmsProductLibraryRepositories pmsProductLibraryRepositories) { diff --git a/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductLibraryRepositoriesMapper.xml b/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductLibraryRepositoriesMapper.xml index c992f9034..1ddf7b805 100644 --- a/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductLibraryRepositoriesMapper.xml +++ b/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductLibraryRepositoriesMapper.xml @@ -22,6 +22,8 @@ + + @@ -41,6 +43,8 @@ pplr.snapshot_name, pplr.format, pplr.packaged_file_identifier, + pplr.product_identifier, + pplr.version, pe.enterprise_identifier from pms_product_library_repositories pplr left join pms_enterprise as pe on pplr.pms_enterprise_id = pe.id @@ -53,6 +57,9 @@ and pplr.name like concat('%', #{name}, '%') and pplr.type = #{type} and pplr.format = #{format} + and pplr.product_identifier = + #{productIdentifier} + and pplr.url = #{url} and pplr.dept_id = #{deptId} and pplr.pms_enterprise_id = #{pmsEnterpriseId} @@ -65,7 +72,11 @@