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