From 42d8d3fad7187f82f36e814e33175ac96908cd7a Mon Sep 17 00:00:00 2001 From: donqi Date: Mon, 17 Oct 2022 01:16:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E4=B8=8A=E4=B8=80commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AfterServiceRecordServiceImpl.java | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java index b58ca21e..6ab451fd 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/AfterServiceRecordServiceImpl.java @@ -149,32 +149,32 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService Assert.notNull(orderMaster, "找不到对应的订单"); FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderDetail.getOrderMasterId()); Assert.notNull(financialMaster, "找不到订单"); -// if(PayTypeEnum.ALIPAY_QR.getCode().equals(orderMaster.getPayType()) && ! PayStatus.PAID.getCode().equals(financialMaster.getPayStatus())){ -// financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney)); -// financialMasterService.updateFinancialMaster(financialMaster); -// financialDetailService.updateFinancialDetail(financialDetail); -// param.setOriginalRefund(BigDecimal.ZERO); -// } else { -// Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员"); -// JSONObject response = null; -// try { -// response = adapayService.payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), String.valueOf(refundMoney)); -// if (AdapayStatusEnum.pending.code.equals(response.getString("status"))) { -// financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney)); -// financialMasterService.updateFinancialMaster(financialMaster); -// financialDetailService.updateFinancialDetail(financialDetail); -// param.setOriginalRefund(refundMoney); -// } else if (AdapayStatusEnum.failed.code.equals(response.getString("status"))) { -// if("reverse_amt_over".equals(response.getString("error_code"))){ -// throw new BaseException("退款金额大于最后一次支付,请撤销改金额再发起"); -// }else { -// throw new BaseException("发起退款异常"); -// } -// } -// } catch (BaseAdaPayException e) { -// throw new BaseException(e.getMessage()); -// } -// } + if(PayTypeEnum.ALIPAY_QR.getCode().equals(orderMaster.getPayType()) && ! PayStatus.PAID.getCode().equals(financialMaster.getPayStatus())){ + financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney)); + financialMasterService.updateFinancialMaster(financialMaster); + financialDetailService.updateFinancialDetail(financialDetail); + param.setOriginalRefund(BigDecimal.ZERO); + } else { + Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员"); + JSONObject response = null; + try { + response = adapayService.payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), String.valueOf(refundMoney)); + if (AdapayStatusEnum.pending.code.equals(response.getString("status"))) { + financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney)); + financialMasterService.updateFinancialMaster(financialMaster); + financialDetailService.updateFinancialDetail(financialDetail); + param.setOriginalRefund(refundMoney); + } else if (AdapayStatusEnum.failed.code.equals(response.getString("status"))) { + if("reverse_amt_over".equals(response.getString("error_code"))){ + throw new BaseException("退款金额大于最后一次支付,请撤销改金额再发起"); + }else { + throw new BaseException("发起退款异常"); + } + } + } catch (BaseAdaPayException e) { + throw new BaseException(e.getMessage()); + } + } // 判断子单payMoney是否已经是0了,是的话就修改子单状态为已取消;主单状态会随之更改,不用做处理。 if (financialDetail.getPayMoney().compareTo(BigDecimal.ZERO) == 0) {