diff --git a/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/ErrorCodeConstants.java b/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/ErrorCodeConstants.java index 0d155d11..37720c9f 100644 --- a/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/ErrorCodeConstants.java +++ b/yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/ErrorCodeConstants.java @@ -93,6 +93,7 @@ public interface ErrorCodeConstants { ErrorCode DIVIDE_NOT_EXISTS = new ErrorCode(1_007_902_001, "分账单不存在"); ErrorCode ORDER_NOT_COMPLETE = new ErrorCode(1_007_902_002, "还有订单尚未结算"); ErrorCode WX_ACCOUNT_NO = new ErrorCode(1_007_902_002, "微信充值金额不足"); + ErrorCode REFUND_NOT_COMPLETE = new ErrorCode(1_007_902_002, "还有退款正在进行"); ErrorCode DIVIDE_COMPANY_NOT_EXISTS = new ErrorCode(1_007_903_001, "分账公司不存在"); diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wxprofitsharing/WxProfitsharingServiceImpl.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wxprofitsharing/WxProfitsharingServiceImpl.java index 6e261d42..9ae5b63b 100644 --- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wxprofitsharing/WxProfitsharingServiceImpl.java +++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wxprofitsharing/WxProfitsharingServiceImpl.java @@ -412,6 +412,14 @@ public class WxProfitsharingServiceImpl implements WxProfitsharingService { throw new ServiceException(ORDER_NOT_COMPLETE); } + //判断用户是否正在退款 + List refundDOList1 = wxRefundMapper.selectList(Wrappers.lambdaQuery() + .eq(WxRefundDO::getStatus, PayDivideRefundStatusRespEnum.PROCESSING.getStatus()) + .eq(WxRefundDO::getUserId, drawMoneyVO.getUserId())); + if (CollectionUtil.isNotEmpty(refundDOList1)) { + throw new ServiceException(REFUND_NOT_COMPLETE); + } + //判断是否有金额可退款 BigDecimal wxAmount = wxProfitsharingMapper.getWxAmount(drawMoneyVO.getUserId()); if (wxAmount == null) {