From 8494619f6d7dca617ed4078334fe233f5057e181 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Fri, 12 Jun 2020 14:55:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=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 | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 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 c338ca830..5cc16d72a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -197,18 +197,20 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { }else if (EnumPayStatus.PAY_STATUS_NOTPAY.getCode()==wxpaystatus || EnumPayStatus.PAY_STATUS_FAIL.getCode()==wxpaystatus) { //支付调用,支付遇到问题,可以重复支付 if (repeatPay) { - oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); - Long payno = idworker.nextId(); - if (null == payno || payno.longValue() <=0) { - throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"订单支付流水号生成失败!handleWxOrderQuery:oldRecord:"+oldRecord+":wxstatus:"+wxpaystatus); - } - oldRecord.setPayOrderNo(String.valueOf(payno)); - - int sqlRow0 =wxPayOrderMapper.updateById(oldRecord); - if (sqlRow0 != 1) { - logger.error("pay order update error: " + oldRecord.toString()); - throw new MallinkException(ErrorCode.DB_FAIL); - } + if (oldRecord.getPayOrderStatus()!=EnumPayStatus.PAY_STATUS_WAIT.getCode()) { + oldRecord.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); + Long payno = idworker.nextId(); + if (null == payno || payno.longValue() <=0) { + throw new MallinkException(ErrorCode.PAY_ORDER_PAYING.getCode(),"订单支付流水号生成失败!handleWxOrderQuery:oldRecord:"+oldRecord+":wxstatus:"+wxpaystatus); + } + oldRecord.setPayOrderNo(String.valueOf(payno)); + + int sqlRow0 =wxPayOrderMapper.updateById(oldRecord); + if (sqlRow0 != 1) { + logger.error("pay order update error: " + oldRecord.toString()); + throw new MallinkException(ErrorCode.DB_FAIL); + } + } } return oldRecord; }