diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java index e70e8bc1..7fb7c36c 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java @@ -148,6 +148,7 @@ public interface ErrorCodeConstants { ErrorCode STATISTICS_SPACE_CAPSULE_ORDER_NOT_EXISTS = new ErrorCode(1_004_021_001, "太空舱订单营业额统计不存在"); ErrorCode INVOICE_INFORMATION_NOT_EXISTS = new ErrorCode(1_004_022_001, "用户发票信息不存在"); + ErrorCode INVOICE_INFORMATION_NOT_TAX_EXISTS = new ErrorCode(1_004_022_005, "税号已存在"); ErrorCode BILLING_NOT_COMPLETE = new ErrorCode(1_004_023_00, "还有金额未开票"); ErrorCode BILLING_NOT_EXISTS = new ErrorCode(1_004_023_00, "开票记录不存在"); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/invoiceinformation/InvoiceInformationServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/invoiceinformation/InvoiceInformationServiceImpl.java index e85accf8..29ef0990 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/invoiceinformation/InvoiceInformationServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/invoiceinformation/InvoiceInformationServiceImpl.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.member.service.invoiceinformation; +import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.member.controller.admin.invoiceinformation.vo.InvoiceInformationPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.invoiceinformation.vo.InvoiceInformationSaveReqVO; import cn.iocoder.yudao.module.member.dal.dataobject.invoiceinformation.InvoiceInformationDO; @@ -12,8 +14,11 @@ import org.springframework.validation.annotation.Validated; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import java.util.List; + import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.INVOICE_INFORMATION_NOT_EXISTS; +import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.INVOICE_INFORMATION_NOT_TAX_EXISTS; /** * 用户发票信息 Service 实现类 @@ -29,6 +34,13 @@ public class InvoiceInformationServiceImpl implements InvoiceInformationService @Override public Long createInvoiceInformation(InvoiceInformationSaveReqVO createReqVO) { + String taxNum = createReqVO.getTaxNum(); + List invoiceInformationDOS = invoiceInformationMapper + .selectList(new LambdaQueryWrapperX() + .eq(InvoiceInformationDO::getTaxNum, taxNum)); + if(CollUtil.isNotEmpty(invoiceInformationDOS)){ + throw exception(INVOICE_INFORMATION_NOT_TAX_EXISTS); + } // 插入 InvoiceInformationDO invoiceInformation = BeanUtils.toBean(createReqVO, InvoiceInformationDO.class); invoiceInformationMapper.insert(invoiceInformation); @@ -40,6 +52,14 @@ public class InvoiceInformationServiceImpl implements InvoiceInformationService public void updateInvoiceInformation(InvoiceInformationSaveReqVO updateReqVO) { // 校验存在 validateInvoiceInformationExists(updateReqVO.getId()); + String taxNum = updateReqVO.getTaxNum(); + List invoiceInformationDOS = invoiceInformationMapper + .selectList(new LambdaQueryWrapperX() + .ne(InvoiceInformationDO::getId,updateReqVO.getId()) + .eq(InvoiceInformationDO::getTaxNum, taxNum)); + if(CollUtil.isNotEmpty(invoiceInformationDOS)){ + throw exception(INVOICE_INFORMATION_NOT_TAX_EXISTS); + } // 更新 InvoiceInformationDO updateObj = BeanUtils.toBean(updateReqVO, InvoiceInformationDO.class); invoiceInformationMapper.updateById(updateObj);