diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java index 8ffc70894..1d1605dd8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderGroupServiceImpl.java @@ -8,10 +8,7 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxOrderGroupMarketing; -import com.iformall.enums.EnumAppType; -import com.iformall.enums.EnumCouponStatus; -import com.iformall.enums.EnumOrderStatus; -import com.iformall.enums.EnumRefundStatus; +import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.WxOrderGroupService; @@ -66,6 +63,9 @@ public class WxOrderGroupServiceImpl implements WxOrderGroupService { @Autowired RedisLock redisLock; + @Autowired + WxCouponChannelMapper wxCouponChannelMapper; + @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) public void createOrderGroup(WxOrder order, WxCoupon wxCoupon) { @@ -227,6 +227,14 @@ public class WxOrderGroupServiceImpl implements WxOrderGroupService { @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) public ResultData toOrderGroup(WxOrderGroup wxOrderGroup) { + WxOrder orderTemp = wxOrderMapper.selectByPrimaryKey(wxOrderGroup.getOrderId()); + if (orderTemp == null) { + return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); + } + WxCouponChannel wxCouponChannel = wxCouponChannelMapper.selectByPrimaryKey(orderTemp.getCouponChannelId()); + if (wxCouponChannel.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())) { + return new ResultData(ErrorCode.COUPON_CHANNEL_IS_TAKE_OFF); + } WxOrder wxOrder = new WxOrder(); wxOrder.setTenantId(wxOrderGroup.getTenantId()); wxOrder.setId(wxOrderGroup.getOrderId());