加价后修改订单状态问题修复
This commit is contained in:
parent
1fbd155e09
commit
6e6bd07f23
|
|
@ -149,39 +149,39 @@ 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) {
|
||||
OrderDetail orderDetail2Update = new OrderDetail();
|
||||
orderDetail2Update.setId(orderDetail.getId());
|
||||
orderDetail2Update.setOrderStatus(OrderStatus.CANCEL.code());
|
||||
int affectedOrderDetail = orderDetailService.updateOrderDetail(orderDetail);
|
||||
int affectedOrderDetail = orderDetailService.updateOrderDetail(orderDetail2Update);
|
||||
if (affectedOrderDetail != 1) {
|
||||
throw new Exception("子订单修改状态为已取消失败。");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue