From 9cf6b14b3367d813d5cd18f3d2d6b4d9fd72198f Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Wed, 10 Jun 2020 23:59:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=A7=A3=E5=86=B3=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E6=94=AF=E4=BB=98bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxPayOrderServiceImpl.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index f732eb154..abd6991f1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -119,32 +119,40 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { public WxPayOrder handleWxOrderQuery(WxPayOrder oldRecord,WxOrder order,WxAppinfo appInfo,WxPayAccount payAccount,IdWorker idworker) { int wxpaystatus = WxPayOrderServiceHelper.wxOrderPayStatus(oldRecord, order, appInfo, payAccount); if (EnumPayStatus.PAY_STATUS_SUCCESS.getCode()==wxpaystatus) { - oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); - wxPayOrderMapper.updateById(oldRecord); + if (oldRecord.getPayOrderStatus() != EnumPayStatus.PAY_STATUS_SUCCESS.getCode()) { + oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); + wxPayOrderMapper.updateById(oldRecord); + } if (order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()) { order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); wxOrderMapper.updateById(order); } throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"该订单已经支付,请勿重复支付!"); }else if (EnumPayStatus.PAY_STATUS_REFUND.getCode()==wxpaystatus) { - oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REFUND.getCode()); - wxPayOrderMapper.updateById(oldRecord); + if (oldRecord.getPayOrderStatus() != EnumPayStatus.PAY_STATUS_REFUND.getCode()) { + oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REFUND.getCode()); + wxPayOrderMapper.updateById(oldRecord); + } if (order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_REFUND_SUCCESS.getCode()) { order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_REFUND_SUCCESS.getCode()); wxOrderMapper.updateById(order); } throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"该订单已经退款,无法支付!"); }else if (EnumPayStatus.PAY_STATUS_CLOSE.getCode()==wxpaystatus) { - oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_CLOSE.getCode()); - wxPayOrderMapper.updateById(oldRecord); + if (oldRecord.getPayOrderStatus() != EnumPayStatus.PAY_STATUS_CLOSE.getCode()) { + oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_CLOSE.getCode()); + wxPayOrderMapper.updateById(oldRecord); + } if (order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()) { order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()); wxOrderMapper.updateById(order); } throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"该订单已经关闭,无法支付!"); }else if (EnumPayStatus.PAY_STATUS_REVERSE.getCode()==wxpaystatus) { - oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REVERSE.getCode()); - wxPayOrderMapper.updateById(oldRecord); + if (oldRecord.getPayOrderStatus() != EnumPayStatus.PAY_STATUS_REVERSE.getCode()) { + oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REVERSE.getCode()); + wxPayOrderMapper.updateById(oldRecord); + } if (order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()) { order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()); wxOrderMapper.updateById(order);