diff --git a/mallinkService/src/main/java/com/iformall/service/tt/impl/TtOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/tt/impl/TtOrderServiceImpl.java index 513fd1dd1..fdd339097 100644 --- a/mallinkService/src/main/java/com/iformall/service/tt/impl/TtOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/tt/impl/TtOrderServiceImpl.java @@ -236,21 +236,24 @@ public class TtOrderServiceImpl implements TtOrderService { } else if(order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()){ logger.info("订单未支付: " + order.toString()); OrderQueryResult orderQueryResult = DouYinPayHelper.orderQuery(appInfo.getAppId(), payAcount.getApiKey(), order.getId().toString(), null); - String trade_state = orderQueryResult.getOrderStatus(); - if ("PROCESSING".equals(trade_state)) {//处理中 - return new ResultData(ErrorCode.PAY_ORDER_PAYING); - }else if ("SUCCESS".equals(trade_state)) {//成功 - TtOrder orderSuc = new TtOrder(); - orderSuc.setId(order.getId()); - orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); - orderSuc.setUpdateDate(new Date()); - ttOrderMapper.updateById(orderSuc); - return new ResultData(ErrorCode.PAY_ORDER_EXIST,"该订单已经支付,请勿重复支付!"); - }else if ("FAIL".equals(trade_state)) {//失败 + if(orderQueryResult != null){ + String trade_state = orderQueryResult.getOrderStatus(); + if ("PROCESSING".equals(trade_state)) {//处理中 + return new ResultData(ErrorCode.PAY_ORDER_PAYING); + }else if ("SUCCESS".equals(trade_state)) {//成功 + TtOrder orderSuc = new TtOrder(); + orderSuc.setId(order.getId()); + orderSuc.setOrderStatus(EnumTtOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); + orderSuc.setUpdateDate(new Date()); + ttOrderMapper.updateById(orderSuc); + return new ResultData(ErrorCode.PAY_ORDER_EXIST,"该订单已经支付,请勿重复支付!"); + }else if ("FAIL".equals(trade_state)) {//失败 - }else if ("TIMEOUT".equals(trade_state)) {//超时 + }else if ("TIMEOUT".equals(trade_state)) {//超时 + } } + } else{ if (order.getOrderStatus() != EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()) { logger.error("订单已支付: " + order.toString()); @@ -292,6 +295,9 @@ public class TtOrderServiceImpl implements TtOrderService { if(order.getOrderStatus() == EnumTtOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()){ logger.info("订单支付中: " + order.toString()); OrderQueryResult orderQueryResult = DouYinPayHelper.orderQuery(appInfo.getAppId(), payAccount.getApiKey(), order.getId().toString(), null); + if(orderQueryResult == null){ + return new ResultData(ErrorCode.PAY_ORDER_ERROR,"查询单号不存在"); + } String trade_state = orderQueryResult.getOrderStatus(); if ("PROCESSING".equals(trade_state)) {//处理中 return new ResultData(ErrorCode.PAY_ORDER_PAYING);