退款要判断是否是已付款的单
This commit is contained in:
parent
fb30737591
commit
a72d302696
|
|
@ -149,8 +149,10 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
Assert.notNull(orderMaster, "找不到对应的订单");
|
||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderDetail.getOrderMasterId());
|
||||
Assert.notNull(financialMaster, "找不到支付记录");
|
||||
Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员");
|
||||
Assert.isTrue(PayStatus.PAID.getCode().equals(financialMaster.getPayStatus()), "订单未支付");
|
||||
// Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员");
|
||||
// Assert.isTrue(PayStatus.PAID.getCode().equals(financialMaster.getPayStatus()), "订单未支付");
|
||||
// 是否已付款,用于判断是否需要退款
|
||||
boolean payReverse = PayStatus.PAID.getCode().equals(financialMaster.getPayStatus());
|
||||
// 申请退款金额
|
||||
BigDecimal refundMoney;
|
||||
if (ObjectUtils.isNotEmpty(afterServiceRecord.getAgreedRefund())) {
|
||||
|
|
@ -190,7 +192,9 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
financialMasterService.updateFinancialMaster(financialMaster);
|
||||
|
||||
// 发起支付撤销
|
||||
payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt);
|
||||
if(payReverse){
|
||||
payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt);
|
||||
}
|
||||
} else {
|
||||
// 如果退款金额 < 主单服务金额
|
||||
afterServiceRecord.setOriginalRefund(refundMoney);
|
||||
|
|
@ -199,7 +203,9 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
financialMasterService.updateFinancialMaster(financialMaster);
|
||||
String reverseAmt = AdapayUtils.bigDecimalToString(refundMoney);
|
||||
// 发起支付撤销
|
||||
payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt);
|
||||
if(payReverse){
|
||||
payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 是子师傅的子单 退款金额最大可以等于子单的派单金额
|
||||
|
|
@ -216,8 +222,11 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
financialDetailService.updateFinancialDetail(financialDetail);
|
||||
|
||||
// 发起支付撤销
|
||||
String reverseAmt = AdapayUtils.bigDecimalToString(financialMaster.getServerMoney());
|
||||
payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt);
|
||||
if(payReverse){
|
||||
String reverseAmt = AdapayUtils.bigDecimalToString(financialMaster.getServerMoney());
|
||||
payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), reverseAmt);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
afterServiceRecord.setRefundApplyTime(new Date());
|
||||
|
|
|
|||
|
|
@ -256,9 +256,13 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
logger.info("Set OrderDetail[{}].orderStatus = {}", orderDetailId, OrderStatus.CANCEL.code());
|
||||
// 查询出所有的子订单 就走主订单取消流程
|
||||
List<OrderDetail> orderDetails = orderDetailMapper.selectByOrderMasterId(orderDetail.getOrderMasterId());
|
||||
// 发起退款
|
||||
refund(orderDetail);
|
||||
|
||||
// 判断是否是已付款的订单,未付款不需要退款
|
||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderDetail.getOrderMasterId());
|
||||
Assert.notNull(financialMaster, "找不到对应的财务单");
|
||||
if (PayStatus.PAID.getCode().equals(financialMaster.getPayStatus())) {
|
||||
// 发起退款
|
||||
refund(orderDetail);
|
||||
}
|
||||
// 如果除了这个子订单以外 没有其它未取消的订单
|
||||
boolean allCancel = true;
|
||||
for (OrderDetail od : orderDetails) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue