From 3ee5944153632a13c5fa3db451421e8cf43607ea Mon Sep 17 00:00:00 2001 From: caiyuchao Date: Mon, 26 May 2025 11:14:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E6=94=B9=E6=97=B6=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E5=AE=A2=E6=88=B7=E5=90=8D=E7=A7=B0=E5=92=8C=E7=BC=96?= =?UTF-8?q?=E5=8F=B7=E5=94=AF=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../license/enums/ErrorCodeConstants.java | 4 +++- .../service/customer/CustomerServiceImpl.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/agt-module-license/agt-module-license-api/src/main/java/org/agt/module/license/enums/ErrorCodeConstants.java b/agt-module-license/agt-module-license-api/src/main/java/org/agt/module/license/enums/ErrorCodeConstants.java index 616eb38..c61c52b 100644 --- a/agt-module-license/agt-module-license-api/src/main/java/org/agt/module/license/enums/ErrorCodeConstants.java +++ b/agt-module-license/agt-module-license-api/src/main/java/org/agt/module/license/enums/ErrorCodeConstants.java @@ -8,5 +8,7 @@ import org.agt.framework.common.exception.ErrorCode; * @since: 2025-05-22 */ public interface ErrorCodeConstants { - ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(2000, "客户不存在"); + ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(1_100_001_001, "客户不存在"); + ErrorCode CUSTOMER_NAME_DUPLICATE = new ErrorCode(1_100_001_002, "客户名称`{}`已存在"); + ErrorCode CUSTOMER_CODE_DUPLICATE = new ErrorCode(1_100_001_003, "客户编号`{}`已存在"); } diff --git a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerServiceImpl.java b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerServiceImpl.java index cc2b531..55cb24e 100644 --- a/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerServiceImpl.java +++ b/agt-module-license/agt-module-license-server/src/main/java/org/agt/module/license/service/customer/CustomerServiceImpl.java @@ -12,6 +12,8 @@ import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import static org.agt.framework.common.exception.util.ServiceExceptionUtil.exception; +import static org.agt.module.license.enums.ErrorCodeConstants.CUSTOMER_CODE_DUPLICATE; +import static org.agt.module.license.enums.ErrorCodeConstants.CUSTOMER_NAME_DUPLICATE; import static org.agt.module.license.enums.ErrorCodeConstants.CUSTOMER_NOT_EXISTS; /** @@ -28,6 +30,8 @@ public class CustomerServiceImpl implements CustomerService { @Override public Long createCustomer(CustomerSaveReqVO createReqVO) { + // 校验客户名称和编号是否唯一 + validateCustomerNameAndCodeUnique(createReqVO.getName(), createReqVO.getCode(), createReqVO.getId()); // 插入 CustomerDO customer = BeanUtils.toBean(createReqVO, CustomerDO.class); customerMapper.insert(customer); @@ -37,6 +41,8 @@ public class CustomerServiceImpl implements CustomerService { @Override public void updateCustomer(CustomerSaveReqVO updateReqVO) { + // 校验客户名称和编号是否唯一 + validateCustomerNameAndCodeUnique(updateReqVO.getName(), updateReqVO.getCode(), updateReqVO.getId()); // 校验存在 validateCustomerExists(updateReqVO.getId()); // 更新 @@ -58,6 +64,17 @@ public class CustomerServiceImpl implements CustomerService { } } + private void validateCustomerNameAndCodeUnique(String name, String code, Long id) { + Boolean isNameUnique = validateCustomerNameUnique(name, id); + if (!isNameUnique) { + throw exception(CUSTOMER_NAME_DUPLICATE, name); + } + Boolean isCodeUnique = validateCustomerCodeUnique(code, id); + if (!isCodeUnique) { + throw exception(CUSTOMER_CODE_DUPLICATE, code); + } + } + @Override public CustomerDO getCustomer(Long id) { return customerMapper.selectById(id);