From 2bea3cf20e907b6cc44d70a316a897843aa30234 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 14 Mar 2019 11:24:23 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=88=B8=E8=BF=87=E6=9C=9F][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]:=E9=80=80=E6=AC=BE=E9=94=99=E8=AF=AFcatch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedule/CouponOrderExpiringSchedule.java | 23 +++++++++++++++---- .../impl/WxRefundOrderServiceImpl.java | 5 ++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java index 9581d32e0..6821a6c71 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java @@ -59,22 +59,37 @@ public class CouponOrderExpiringSchedule { List list = wxCouponOrderMapper.findExpiredFreeCouponOrderByValidDate(); list.stream().forEach(co -> { // 券过期,更改状态及库存退回 - couponOrderExpire(co); + try { + couponOrderExpire(co); + } catch (Exception e) { + logger.error(e.getMessage()); + } + }); } @Scheduled(cron = "0 5 0 * * ?") // 每天凌晨00:05 - //@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次 + // @Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次 public void couponOrderRefundSchedule() { List list = wxCouponOrderMapper.findExpiredCouponOrderByValidDate(); list.stream().forEach(co -> { // 券过期,更改状态及库存退回 - couponOrderExpire(co); + try { + couponOrderExpire(co); + } catch (Exception e) { + logger.error(e.getMessage()); + } + // 退款 - couponOrderExpireRefund(co); + try { + couponOrderExpireRefund(co); + } catch (Exception e) { + logger.error(e.getMessage()); + } + }); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java index b8eea9157..d82116136 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java @@ -271,6 +271,10 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { } WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(wxCouponOrder.getOrderId()); + if (wxOrder == null) { + logger.error("订单ID不存在:" + couponOrderId); + throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND); + } if (payType == EnumPayType.PAY_B_REFUND) { logger.info("B端发起退款: bUserId-" + bUserId); @@ -295,6 +299,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { } else { logger.info("自己发起退款: cUserId-" + bUserId); } + if (wxOrder.getPayment() <= 0) { logger.error("订单支付金额小于等于0: " + wxOrder.toString()); throw new MallinkException(ErrorCode.REFUND_PAY_ORDER_IS_ZERO);