diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java index c81982470..f20fafb6b 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java @@ -12,7 +12,6 @@ import com.iformall.domain.po.WxPayOrder; import com.iformall.enums.EnumPayStatus; import com.iformall.enums.EnumPayWay; import com.iformall.exception.MallinkException; -import com.iformall.service.WxCouponService; import com.iformall.service.WxOrderService; import com.iformall.service.WxPayOrderService; import com.iformall.utils.IPUtil; @@ -44,9 +43,6 @@ public class WxPayOrderController extends BaseController { @Autowired private WxOrderService wxOrderService; - @Autowired - private WxCouponService wxCouponService; - @ApiOperation(value = "发起微信小程序支付订单", notes = "{\"orderId\":\"string\"}") @RequestMapping(value = "/create", method = RequestMethod.POST) public ResultData _create(@RequestBody Map paramMap, HttpServletRequest request) throws Exception { 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 2e1014317..182a7c894 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -99,6 +99,9 @@ public class WxOrderServiceImpl implements WxOrderService { @Autowired WxOrderPressMapper wxOrderPressMapper; + @Autowired + WxOrderGroupMapper wxOrderGroupMapper; + @Override public PageInfo listAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.findList(record)); @@ -354,7 +357,13 @@ public class WxOrderServiceImpl implements WxOrderService { logger.error("商户不存在, couponId: " + couponIdStr); throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND); } - + if (!orderGroupId.equals(0L)) { + WxOrderGroup group = wxOrderGroupMapper.selectByPrimaryKey(orderGroupId); + if (group.getStatus().equals(EnumOrderStatus.ORDER_STATUS_COOPERATING_COMPLETE.getCode())) { + logger.error("下订单拼团人数已满>>>" + orderGroupId); + throw new MallinkException(ErrorCode.ORDER_GROUP_COOPERATING_FINISHED); + } + } // 减库存操作 stockReduce(user, coupon, couponIdStr); 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 301ad821e..2f63f8604 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -123,8 +123,17 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { } if (!order.getOrderGroupId().equals(0L) && order.getOrderStatus().equals(EnumOrderStatus.ORDER_STATUS_COOPERATING_COMPLETE.getCode())) { + logger.error("支付时拼团已满>>" + order.getOrderGroupId()); throw new MallinkException(ErrorCode.ORDER_GROUP_COOPERATING_FINISHED); } + + WxCoupon wxCoupon = wxCouponMapper.selectByPrimaryKey(order.getProductId()); + if (wxCoupon.getType().equals(EnumCouponType.COUPON_GROUP.getCode()) && + wxCoupon.getStatus().equals(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode())) { + logger.error("券已经下架了>>>" + order.getProductId()); + throw new MallinkException(ErrorCode.COUPON_CHANNEL_IS_TAKE_OFF); + } + if(order.getPressEndDate() == null) { // 非砍价券 if (order.getOrderStatus() == EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()) { diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 4be9f1a72..f300c71d3 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -233,7 +233,7 @@ from wx_coupon c,wx_order o left join wx_coupon_order co on co.order_id = o.id left join wx_coupon_action_log cal on cal.coupon_order_id = co.id - where o.product_id = c.id + where o.product_id = c.id and c.type!=9 and o.c_user_id = #{cUserId}