加价后修改订单状态问题修复
This commit is contained in:
parent
1fbd155e09
commit
6e6bd07f23
|
|
@ -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("子订单修改状态为已取消失败。");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue