加价后修改订单状态问题修复

This commit is contained in:
donqi 2022-10-17 01:13:14 +08:00
parent 1fbd155e09
commit 6e6bd07f23
1 changed files with 27 additions and 27 deletions

View File

@ -149,39 +149,39 @@ 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, "找不到订单");
if(PayTypeEnum.ALIPAY_QR.getCode().equals(orderMaster.getPayType()) && ! PayStatus.PAID.getCode().equals(financialMaster.getPayStatus())){ // if(PayTypeEnum.ALIPAY_QR.getCode().equals(orderMaster.getPayType()) && ! PayStatus.PAID.getCode().equals(financialMaster.getPayStatus())){
financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney)); // financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney));
financialMasterService.updateFinancialMaster(financialMaster); // financialMasterService.updateFinancialMaster(financialMaster);
financialDetailService.updateFinancialDetail(financialDetail); // financialDetailService.updateFinancialDetail(financialDetail);
param.setOriginalRefund(BigDecimal.ZERO); // param.setOriginalRefund(BigDecimal.ZERO);
} else { // } else {
Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员"); // Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员");
JSONObject response = null; // JSONObject response = null;
try { // try {
response = adapayService.payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), String.valueOf(refundMoney)); // response = adapayService.payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), String.valueOf(refundMoney));
if (AdapayStatusEnum.pending.code.equals(response.getString("status"))) { // if (AdapayStatusEnum.pending.code.equals(response.getString("status"))) {
financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney)); // financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney));
financialMasterService.updateFinancialMaster(financialMaster); // financialMasterService.updateFinancialMaster(financialMaster);
financialDetailService.updateFinancialDetail(financialDetail); // financialDetailService.updateFinancialDetail(financialDetail);
param.setOriginalRefund(refundMoney); // param.setOriginalRefund(refundMoney);
} else if (AdapayStatusEnum.failed.code.equals(response.getString("status"))) { // } else if (AdapayStatusEnum.failed.code.equals(response.getString("status"))) {
if("reverse_amt_over".equals(response.getString("error_code"))){ // if("reverse_amt_over".equals(response.getString("error_code"))){
throw new BaseException("退款金额大于最后一次支付,请撤销改金额再发起"); // throw new BaseException("退款金额大于最后一次支付,请撤销改金额再发起");
}else { // }else {
throw new BaseException("发起退款异常"); // throw new BaseException("发起退款异常");
} // }
} // }
} catch (BaseAdaPayException e) { // } catch (BaseAdaPayException e) {
throw new BaseException(e.getMessage()); // throw new BaseException(e.getMessage());
} // }
} // }
// 判断子单payMoney是否已经是0了是的话就修改子单状态为已取消主单状态会随之更改不用做处理 // 判断子单payMoney是否已经是0了是的话就修改子单状态为已取消主单状态会随之更改不用做处理
if (financialDetail.getPayMoney().compareTo(BigDecimal.ZERO) == 0) { if (financialDetail.getPayMoney().compareTo(BigDecimal.ZERO) == 0) {
OrderDetail orderDetail2Update = new OrderDetail(); OrderDetail orderDetail2Update = new OrderDetail();
orderDetail2Update.setId(orderDetail.getId()); orderDetail2Update.setId(orderDetail.getId());
orderDetail2Update.setOrderStatus(OrderStatus.CANCEL.code()); orderDetail2Update.setOrderStatus(OrderStatus.CANCEL.code());
int affectedOrderDetail = orderDetailService.updateOrderDetail(orderDetail); int affectedOrderDetail = orderDetailService.updateOrderDetail(orderDetail2Update);
if (affectedOrderDetail != 1) { if (affectedOrderDetail != 1) {
throw new Exception("子订单修改状态为已取消失败。"); throw new Exception("子订单修改状态为已取消失败。");
} }