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}