未支付的订单可以取消,跳过退款
This commit is contained in:
parent
67aaad5519
commit
2077230be3
|
|
@ -149,8 +149,6 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
||||||
Assert.notNull(orderMaster, "找不到对应的订单");
|
Assert.notNull(orderMaster, "找不到对应的订单");
|
||||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderDetail.getOrderMasterId());
|
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderDetail.getOrderMasterId());
|
||||||
Assert.notNull(financialMaster, "找不到支付记录");
|
Assert.notNull(financialMaster, "找不到支付记录");
|
||||||
// Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员");
|
|
||||||
// Assert.isTrue(PayStatus.PAID.getCode().equals(financialMaster.getPayStatus()), "订单未支付");
|
|
||||||
// 是否已付款,用于判断是否需要退款
|
// 是否已付款,用于判断是否需要退款
|
||||||
boolean payReverse = PayStatus.PAID.getCode().equals(financialMaster.getPayStatus());
|
boolean payReverse = PayStatus.PAID.getCode().equals(financialMaster.getPayStatus());
|
||||||
// 申请退款金额
|
// 申请退款金额
|
||||||
|
|
|
||||||
|
|
@ -294,9 +294,8 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
Assert.notNull(financialMaster, "FinancialMaster is null !");
|
Assert.notNull(financialMaster, "FinancialMaster is null !");
|
||||||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(orderDetailId);
|
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(orderDetailId);
|
||||||
Assert.notNull(financialMaster, "找不到支付记录");
|
Assert.notNull(financialMaster, "找不到支付记录");
|
||||||
Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员");
|
boolean paid = PayStatus.PAID.getCode().equals(financialMaster.getPayStatus()) ||
|
||||||
Assert.isTrue(PayStatus.PAID.getCode().equals(financialMaster.getPayStatus()) ||
|
PayStatus.PAYED_ADD.getCode().equals(financialMaster.getPayStatus());
|
||||||
PayStatus.PAYED_ADD.getCode().equals(financialMaster.getPayStatus()), "订单未支付");
|
|
||||||
|
|
||||||
// 主财务单金额
|
// 主财务单金额
|
||||||
BigDecimal masterMoney = financialMaster.getPayMoney();
|
BigDecimal masterMoney = financialMaster.getPayMoney();
|
||||||
|
|
@ -337,6 +336,11 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
financialMaster.setPayMoney(masterMoney.subtract(detailMoney));
|
financialMaster.setPayMoney(masterMoney.subtract(detailMoney));
|
||||||
financialMasterService.updateFinancialMaster(financialMaster);
|
financialMasterService.updateFinancialMaster(financialMaster);
|
||||||
|
|
||||||
|
if (!paid) {
|
||||||
|
logger.info("子订单[id={}]未支付 不需要退款", orderDetailId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员");
|
||||||
// 发起退款
|
// 发起退款
|
||||||
String refundAmt = AdapayUtils.bigDecimalToString(detailMoney);
|
String refundAmt = AdapayUtils.bigDecimalToString(detailMoney);
|
||||||
logger.info("子订单[id={}]发起退款: refundAmt={}元", orderDetailId, refundAmt);
|
logger.info("子订单[id={}]发起退款: refundAmt={}元", orderDetailId, refundAmt);
|
||||||
|
|
|
||||||
|
|
@ -378,8 +378,6 @@ public class OrderMasterServiceImpl implements OrderMasterService {
|
||||||
Assert.notNull(financialMaster, "找不到订单");
|
Assert.notNull(financialMaster, "找不到订单");
|
||||||
boolean paid = PayStatus.PAID.getCode().equals(financialMaster.getPayStatus()) ||
|
boolean paid = PayStatus.PAID.getCode().equals(financialMaster.getPayStatus()) ||
|
||||||
PayStatus.PAYED_ADD.getCode().equals(financialMaster.getPayStatus());
|
PayStatus.PAYED_ADD.getCode().equals(financialMaster.getPayStatus());
|
||||||
Assert.isTrue(paid, "订单未支付");
|
|
||||||
Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员");
|
|
||||||
|
|
||||||
// 改主订单的支付状态
|
// 改主订单的支付状态
|
||||||
updatePayStatus(orderMasterId, PayStatus.REFUND.getCode());
|
updatePayStatus(orderMasterId, PayStatus.REFUND.getCode());
|
||||||
|
|
@ -413,6 +411,12 @@ public class OrderMasterServiceImpl implements OrderMasterService {
|
||||||
logger.info("主订单[{}]无需退款 reverseAmt={}", orderMasterId, payMoney);
|
logger.info("主订单[{}]无需退款 reverseAmt={}", orderMasterId, payMoney);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!paid) {
|
||||||
|
logger.info("主订单[{}]未支付,无需退款", orderMasterId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员");
|
||||||
|
// 退款
|
||||||
String reverseAmt = payMoney.setScale(2, RoundingMode.DOWN).toString();
|
String reverseAmt = payMoney.setScale(2, RoundingMode.DOWN).toString();
|
||||||
JSONObject response = adapayService.payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt, RefundType.ROM);
|
JSONObject response = adapayService.payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt, RefundType.ROM);
|
||||||
if (AdapayStatusEnum.succeeded.code.equals(response.getString("status")) ||
|
if (AdapayStatusEnum.succeeded.code.equals(response.getString("status")) ||
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue