|
|
|
@@ -354,13 +354,13 @@ public class WxOrderServiceImpl implements WxOrderService { |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 用户购买的订单数量 |
|
|
|
* 用户购买的订单产品数量 |
|
|
|
* |
|
|
|
* @param user |
|
|
|
* @param counpon |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private int getUserOrderCount(WxCUserBasicInfo user, WxCoupon counpon) { |
|
|
|
private int getUserOrderProductCount(WxCUserBasicInfo user, WxCoupon counpon) { |
|
|
|
// + Order 待支付 |
|
|
|
try { |
|
|
|
WxOrder orderQ = new WxOrder(); |
|
|
|
@@ -374,7 +374,7 @@ public class WxOrderServiceImpl implements WxOrderService { |
|
|
|
statusS.add(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); |
|
|
|
statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode()); |
|
|
|
orderQ.setStatusS(statusS); |
|
|
|
return wxOrderMapper.countList(orderQ); |
|
|
|
return wxOrderMapper.countListProduct(orderQ); |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("购买是否超限-DB, couponId: " + counpon.getId() + ", e:" + e.getMessage(),e); |
|
|
|
throw new MallinkException(ErrorCode.ORDER_IS_FAIL.getCode(),"["+counpon.getTitle()+"]查询待支付错误."+e.getMessage()); |
|
|
|
@@ -608,7 +608,7 @@ public class WxOrderServiceImpl implements WxOrderService { |
|
|
|
if (coupon.getSalePrice() > 0) { |
|
|
|
// 检查是否未支付订单 |
|
|
|
try { |
|
|
|
unPaidcount = getUserOrderCount(user, coupon); |
|
|
|
unPaidcount = getUserOrderProductCount(user, coupon); |
|
|
|
} catch (Exception e) { |
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL.getCode(),"["+coupon.getTitle()+"]查询未支付订单失败."); |
|
|
|
} |
|
|
|
@@ -644,11 +644,9 @@ public class WxOrderServiceImpl implements WxOrderService { |
|
|
|
} |
|
|
|
|
|
|
|
//如果允许未支付的,则未支付的+已支付的不能超过限购 |
|
|
|
if (allowUnPayOrder) { |
|
|
|
if ((unPaidcount+paidCount) > coupon.getUseLimitQuantity()) { |
|
|
|
logger.error("此券[未支付+已支付]购买数量已超限, couponId: " + couponIdStr + ", count: " + paidCount); |
|
|
|
throw new MallinkException(ErrorCode.ORDER_IS_LIMITED.getCode(),"此券[未支付+已支付]购买数量已超限["+coupon.getTitle()+"], couponId: " + couponIdStr + ", count: " + paidCount); |
|
|
|
} |
|
|
|
if ((unPaidcount+paidCount) > coupon.getUseLimitQuantity()) { |
|
|
|
logger.error("此券[未支付+已支付]购买数量已超限, couponId: " + couponIdStr + ", count: " + paidCount); |
|
|
|
throw new MallinkException(ErrorCode.ORDER_IS_LIMITED.getCode(),"此券[未支付+已支付]购买数量已超限["+coupon.getTitle()+"], couponId: " + couponIdStr + ", count: " + paidCount); |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
|