From 0d89942a8822bac5cef83fd9fdbbbe6d11356547 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 17 Jan 2019 20:48:39 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=A0=8D=E4=BB=B7][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E7=A0=8D=E4=BB=B7=E8=B4=AD=E4=B9=B0=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/common/ErrorCode.java | 3 +++ .../service/impl/WxPayOrderServiceImpl.java | 27 +++++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 4014b98ed..5519fbb47 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -133,6 +133,9 @@ public enum ErrorCode{ ORDER_SAVE_ERR(3005,"订单保存失败"), ORDER_UPDATE_ERR(3006,"订单更新失败"), REMAIN_BACK_FAIL(3007, "库存恢复失败"), + ORDER_HAD_PAY(3008, "订单已支付"), + ORDER_HAD_CANCEL(3009, "订单已取消"), + ORDER_PRESS_IS_OVERTIME(3010, "砍价已过期"), /** * 卡券 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 3233346c0..aea61cee8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -116,11 +116,28 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { logger.error("pay order, order not allow, repaymentReq: " + record.toString() + ", payWay: " + payWay.toString()); throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND); } - if (order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode() && - order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_PRESS_COMPLETE.getCode()) { - // 添加砍价券判断 - logger.error("pay order, order status not allow, repaymentReq: " + order.toString() + " , payWay: " + payWay.toString()); - throw new MallinkException(ErrorCode.ORDER_IS_NOT_PAY); + if(order.getPressEndDate() == null) { + // 非砍价券 + if (order.getOrderStatus() == EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()) { + logger.error("订单已支付: " + order.toString() + " , payWay: " + payWay.toString()); + throw new MallinkException(ErrorCode.ORDER_HAD_PAY); + } else if (order.getOrderStatus() == EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()) { + logger.error("订单已取消: " + order.toString() + " , payWay: " + payWay.toString()); + throw new MallinkException(ErrorCode.ORDER_HAD_CANCEL); + } else { + if(order.getOrderStatus() != EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()) { + logger.error("订单已支付: " + order.toString() + " , payWay: " + payWay.toString()); + throw new MallinkException(ErrorCode.ORDER_IS_NOT_PAY); + } + } + } else if(order.getPressEndDate() != null) { + // 砍价券,只有在过期时无法支付 + // 砍价中,原价购买 + // 砍价完成,低价购买 + if (order.getOrderStatus() == EnumOrderStatus.ORDER_STATUS_PRESS_OVERTIME.getCode()) { + logger.error("砍价已过期: " + order.toString() + " , payWay: " + payWay.toString()); + throw new MallinkException(ErrorCode.ORDER_PRESS_IS_OVERTIME); + } } if (order.getPaymentType() != EnumPayType.PAY_PAYMENT.getCode()) { return new ResultData(ErrorCode.PAY_ORDER_IS_NOT_PAYMENT);