From 33ffe1bfb43ef243e59d9dd541663a770b327bcf Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Wed, 8 Jan 2025 14:34:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(Bug=E4=BF=AE=E5=A4=8D):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E4=BA=A7=E5=93=81=E6=A0=87=E8=AF=86=E7=94=B1=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=87=AA=E5=AE=9A=E4=B9=89=E5=90=8E=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E5=9C=A8=E4=B8=8D=E5=90=8C=E7=BB=84=E7=BB=87=E4=B8=8B=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E7=9B=B8=E5=90=8C=E4=BA=A7=E5=93=81=E6=A0=87=E8=AF=86?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 新增字段:自定义标识,用户输入的自定义标识填充到该字段中,原产品标识还是自动生成 2. 需求规格标识根据自定义标识来生成 Signed-off-by: OTTO <731554297@qq.com> --- .../pms/product/domain/PmsProduct.java | 9 +++------ .../product/domain/vo/PmsProductInputVo.java | 4 ++-- .../pms/product/mapper/PmsProductMapper.java | 2 ++ .../PmsProductRequirementServiceImpl.java | 11 ++++++----- .../service/impl/PmsProductServiceImpl.java | 5 +++-- .../resources/mapper/pms/PmsProductMapper.xml | 19 +++++++++++++------ 6 files changed, 29 insertions(+), 21 deletions(-) diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/PmsProduct.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/PmsProduct.java index fbde92818..39600d4af 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/PmsProduct.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/PmsProduct.java @@ -66,16 +66,13 @@ public class PmsProduct extends BaseEntity /** 删除标志(0代表存在 2代表删除) */ private String delFlag; - /** 预留字段1 */ + @ApiModelProperty(value = "自定义标识") + private String customIdentifier; + @ApiModelProperty(value = "预留字段1") @JsonInclude(JsonInclude.Include.NON_EMPTY) private String reservedField1; - /** 预留字段2 */ - @ApiModelProperty(value = "预留字段2") - @JsonInclude(JsonInclude.Include.NON_EMPTY) - private String reservedField2; - public PmsProductDataVo toPmsProductDataVo() { PmsProductDataVo target = new PmsProductDataVo(); diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/PmsProductInputVo.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/PmsProductInputVo.java index 44cb814af..450576ddc 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/PmsProductInputVo.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/domain/vo/PmsProductInputVo.java @@ -42,10 +42,10 @@ public class PmsProductInputVo @ApiModelProperty(value = "关联企业标识", hidden = true) private String pmsEnterpriseIdentifier; - @ApiModelProperty(value = "产品标识", required = true) + @ApiModelProperty(value = "产品自定义标识", required = true) @NotNull @Size(max = 50, message = "长度需要小于50") - private String productIdentifier; + private String customIdentifier; public PmsProduct toPmsProduct(String pmsEnterpriseIdentifier) { PmsProduct target = new PmsProduct(); diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/mapper/PmsProductMapper.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/mapper/PmsProductMapper.java index c5867a77f..5ff4d24b8 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/mapper/PmsProductMapper.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/mapper/PmsProductMapper.java @@ -91,4 +91,6 @@ public interface PmsProductMapper Integer selectPmsProductCount(PmsProductSearchVo pmsProductSearchVo); Integer selectPmsProductByIdentifierCount(@Param("identifier") String identifier, @Param("pmsEnterpriseIdentifier") String pmsEnterpriseIdentifier); + + Integer selectPmsProductByCustomIdentifierCount(@Param("customIdentifier") String customIdentifier, @Param("enterpriseIdentifier") String enterpriseIdentifier); } diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java index abddccf18..2a169c8e7 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductRequirementServiceImpl.java @@ -372,7 +372,8 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS private void userReqToReqSpecs(PmsProductRequirement userReq, PmsProductReqOperationRecord record) { PmsProductRequirement reqSpecs = userReq.userReqToReqSpecs(); - reqSpecs.setIdentifier(genReqSpecsIdentifier(userReq.getPmsProductIdentifier(), userReq.getTitle(), null)); + PmsProduct pmsProduct = pmsProductService.selectPmsProductByIdentifier(userReq.getPmsProductIdentifier()); + reqSpecs.setIdentifier(genReqSpecsIdentifier(pmsProduct.getCustomIdentifier(), userReq.getTitle(), null)); reqSpecs.setCreateAndUpdate(SecurityUtils.getUsername()); pmsProductRequirementMapper.insertPmsProductRequirement(reqSpecs); record.setProductRequirementId(reqSpecs.getId()); @@ -434,17 +435,17 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS return toProductReqSpecsDetailVo(pmsProductRequirement); } - private String genReqSpecsIdentifier(String productIdentifier, String reqTitle, String oldIdentifier) { + private String genReqSpecsIdentifier(String customIdentifier, String reqTitle, String oldIdentifier) { // 去掉标题中特殊字符 String regEx = "\\pP|\\pS|\\s+"; reqTitle = Pattern.compile(regEx).matcher(reqTitle).replaceAll("").trim(); String reqTitleIdentifier = PinYinStringUtils.toFirstChar(reqTitle).toUpperCase(); - String identifier = productIdentifier + "-" + reqTitleIdentifier; + String identifier = customIdentifier + "-" + reqTitleIdentifier; if (!identifier.equals(oldIdentifier)) { Integer count = pmsProductRequirementMapper.selectReqSpecsCountByIdentifier(identifier); int nameCount = 1; while (count > 0) { - identifier = productIdentifier + "-" + reqTitleIdentifier + "-" + nameCount; + identifier = customIdentifier + "-" + reqTitleIdentifier + "-" + nameCount; count = pmsProductRequirementMapper.selectReqSpecsCountByIdentifier(identifier); nameCount++; } @@ -464,7 +465,7 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS checkReqSpecsParameter(pmsProductRequirement, pmsProduct, null); // 生成需求唯一标识 - pmsProductRequirement.setIdentifier(genReqSpecsIdentifier(pmsProduct.getProductIdentifier(), productReqSpecsInputVo.getTitle(), null)); + pmsProductRequirement.setIdentifier(genReqSpecsIdentifier(pmsProduct.getCustomIdentifier(), productReqSpecsInputVo.getTitle(), null)); // 设置默认需求状态 pmsProductRequirement.setStatus(ProductReqStatus.PENDING_REVIEW_REQ_SPECS.getKey()); diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductServiceImpl.java index 27db70ac1..c5c086cee 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/product/service/impl/PmsProductServiceImpl.java @@ -116,10 +116,11 @@ public class PmsProductServiceImpl implements IPmsProductService @Override public String insertPmsProduct(PmsProduct pmsProduct) { PmsEnterprise pmsEnterprise = pmsEnterpriseService.selectPmsEnterpriseByIdentifier(pmsProduct.getPmsEnterpriseIdentifier()); + pmsProduct.setProductIdentifier(genProductIdentifier()); checkNameDuplicates(pmsProduct.getProductName(), pmsProduct.getPmsEnterpriseIdentifier()); - Integer count = pmsProductMapper.selectPmsProductByIdentifierCount(pmsProduct.getProductIdentifier(), pmsEnterprise.getEnterpriseIdentifier()); + Integer count = pmsProductMapper.selectPmsProductByCustomIdentifierCount(pmsProduct.getCustomIdentifier(), pmsEnterprise.getEnterpriseIdentifier()); if (count > 0) { - throw new ServiceException("该产品标识在当前企业下已存在(产品标识[%s])", pmsProduct.getProductIdentifier()); + throw new ServiceException("该产品自定义标识在当前企业下已存在(产品自定义标识[%s])", pmsProduct.getCustomIdentifier()); } pmsProduct.setPmsEnterpriseId(pmsEnterprise.getId()); String currentUsername=SecurityUtils.getUsername(); diff --git a/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductMapper.xml b/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductMapper.xml index d7b702965..ff95794c7 100644 --- a/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductMapper.xml +++ b/microservices-modules/microservices-modules-pms/src/main/resources/mapper/pms/PmsProductMapper.xml @@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_by, del_flag, reserved_field_1, - reserved_field_2 + custom_identifier from pms_product @@ -59,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ppd.create_by, ppd.del_flag, ppd.reserved_field_1, - ppd.reserved_field_2 + ppd.custom_identifier from pms_product ppd left join pms_enterprise as pe on ppd.pms_enterprise_id = pe.id @@ -116,6 +116,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where ppd.product_identifier = #{identifier} and pe.enterprise_identifier = #{pmsEnterpriseIdentifier} + insert into pms_product @@ -136,7 +143,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_by, del_flag, reserved_field_1, - reserved_field_2, + custom_identifier, #{productName}, @@ -155,7 +162,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{createBy}, #{delFlag}, #{reservedField1}, - #{reservedField2}, + #{customIdentifier}, @@ -178,7 +185,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_by = #{createBy}, del_flag = #{delFlag}, reserved_field_1 = #{reservedField1}, - reserved_field_2 = #{reservedField2}, + custom_identifier = #{customIdentifier}, where id = #{id}