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 f91d9f955..44cb814af 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 @@ -44,6 +44,7 @@ public class PmsProductInputVo @ApiModelProperty(value = "产品标识", required = true) @NotNull + @Size(max = 50, message = "长度需要小于50") private String productIdentifier; public PmsProduct toPmsProduct(String pmsEnterpriseIdentifier) { 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 032877180..c5867a77f 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 @@ -77,7 +77,7 @@ public interface PmsProductMapper * 根据名称查找产品数量 * * @param name - * @param pmsEnterpriseId + * @param pmsEnterpriseIdentifier * @return */ Integer selectPmsProductByNameCount(@Param("name") String name, @Param("pmsEnterpriseIdentifier") String pmsEnterpriseIdentifier); @@ -89,4 +89,6 @@ public interface PmsProductMapper * @return 产品数量 */ Integer selectPmsProductCount(PmsProductSearchVo pmsProductSearchVo); + + Integer selectPmsProductByIdentifierCount(@Param("identifier") String identifier, @Param("pmsEnterpriseIdentifier") String pmsEnterpriseIdentifier); } 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 6d6313f96..867554cd8 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 @@ -114,10 +114,13 @@ public class PmsProductServiceImpl implements IPmsProductService * @return 结果 */ @Override - public String insertPmsProduct(PmsProduct pmsProduct) - { - checkNameDuplicates(pmsProduct.getProductName(), pmsProduct.getPmsEnterpriseIdentifier()); + public String insertPmsProduct(PmsProduct pmsProduct) { PmsEnterprise pmsEnterprise = pmsEnterpriseService.selectPmsEnterpriseByIdentifier(pmsProduct.getPmsEnterpriseIdentifier()); + checkNameDuplicates(pmsProduct.getProductName(), pmsProduct.getPmsEnterpriseIdentifier()); + Integer count = pmsProductMapper.selectPmsProductByIdentifierCount(pmsProduct.getProductIdentifier(), pmsEnterprise.getEnterpriseIdentifier()); + if (count > 0) { + throw new ServiceException("该产品标识在当前企业下已存在(产品标识[%s])", pmsProduct.getProductIdentifier()); + } pmsProduct.setPmsEnterpriseId(pmsEnterprise.getId()); String currentUsername=SecurityUtils.getUsername(); Date now=DateUtils.getNowDate(); 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 46531f9e8..d7b702965 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 @@ -109,6 +109,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join pms_enterprise as pe on ppd.pms_enterprise_id=pe.id + insert into pms_product