From 2d8d7828a200007c87144b796d598060e9c7632d Mon Sep 17 00:00:00 2001 From: gongbiao Date: Thu, 28 Mar 2019 19:39:13 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=8B=BC=E5=9B=A2][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E5=BE=85=E6=94=AF=E4=BB=98]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/schedule/OrderExpiringSchedule.java | 12 +++++++++++- .../src/main/java/com/iformall/common/ErrorCode.java | 2 ++ .../iformall/service/impl/WxOrderServiceImpl.java | 3 +-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java index 1419d360d..6875941be 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java @@ -1,9 +1,11 @@ package com.iformall.schedule; import com.iformall.domain.po.WxAppinfo; +import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxOrder; import com.iformall.enums.*; import com.iformall.mapper.WxAppinfoMapper; +import com.iformall.mapper.WxCouponMapper; import com.iformall.mapper.WxOrderGroupMapper; import com.iformall.mapper.WxOrderMapper; import com.iformall.service.WxOrderGroupService; @@ -47,6 +49,9 @@ public class OrderExpiringSchedule { @Autowired WxRefundOrderService wxRefundOrderService; + @Autowired + WxCouponMapper wxCouponMapper; + @Scheduled(cron = "0 */5 * * * *?") // 每5分钟检查一次 //@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次 public void orderExpireSchedule() { @@ -130,10 +135,15 @@ public class OrderExpiringSchedule { @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) public void orderExpired(WxOrder order) { + Integer status = EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode(); + WxCoupon wxCoupon = wxCouponMapper.selectByPrimaryKey(order.getProductId()); + if (wxCoupon.getType().equals(EnumCouponType.COUPON_GROUP.getCode())) { + status = EnumOrderStatus.ORDER_STATUS_COOPERATING_BREAK.getCode(); + } WxOrder updateOrder = new WxOrder(); updateOrder.setId(order.getId()); updateOrder.setUpdateDate(new Date()); - updateOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_OVERTIME_CANCEL.getCode()); + updateOrder.setOrderStatus(status); wxOrderMapper.updateByPrimaryKeySelective(updateOrder); // 库存退回 diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 4b7717908..445e51a2d 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -377,6 +377,8 @@ public enum ErrorCode{ ORDER_GROUP_COOPERATING_FAILD(28001, "参团失败"), ORDER_GROUP_COOPERATING_FINISHED(28002, "拼团人数已满"), ORDER_GROUP_COOPERATING_ATTEND(28003, "您已参与拼团"), + ORDER_GROUP_COOPERATING_UNPAID(28004, "您有未支付的拼团订单"), + ; private int code; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index efa37bef4..9b62bbf06 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -370,11 +370,10 @@ public class WxOrderServiceImpl implements WxOrderService { WxOrder order = new WxOrder(); order.setOrderGroupId(group.getId()); order.setCUserId(user.getId()); - order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING.getCode()); int count = wxOrderMapper.selectCount(order); if (count > 0) { logger.error("重复的拼团>>>" + orderGroupId); - throw new MallinkException(ErrorCode.ORDER_IS_FAIL); + throw new MallinkException(ErrorCode.ORDER_GROUP_COOPERATING_UNPAID); } }