| @@ -236,22 +236,23 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| throw new MallinkException(ErrorCode.REMAIN_IS_EMPTY); | throw new MallinkException(ErrorCode.REMAIN_IS_EMPTY); | ||||
| } | } | ||||
| // 检查是否未支付订单 | |||||
| int count = 0; | int count = 0; | ||||
| try { | |||||
| count = getUserOrderCount(user, coupon); | |||||
| } catch (Exception e) { | |||||
| //解锁 | |||||
| redisLock.unlock(couponIdStr, timeStr); | |||||
| throw new MallinkException(ErrorCode.DB_FAIL); | |||||
| } | |||||
| if (count > 0) { | |||||
| //解锁 | |||||
| redisLock.unlock(couponIdStr, timeStr); | |||||
| logger.error("此券购买数量已超限, couponId: " + couponIdStr + ", count: " + count); | |||||
| throw new MallinkException(ErrorCode.ORDER_UNPAID); | |||||
| if (coupon.getSalePrice() > 0) { | |||||
| // 检查是否未支付订单 | |||||
| try { | |||||
| count = getUserOrderCount(user, coupon); | |||||
| } catch (Exception e) { | |||||
| //解锁 | |||||
| redisLock.unlock(couponIdStr, timeStr); | |||||
| throw new MallinkException(ErrorCode.DB_FAIL); | |||||
| } | |||||
| if (count > 0) { | |||||
| //解锁 | |||||
| redisLock.unlock(couponIdStr, timeStr); | |||||
| logger.error("此券购买数量已超限, couponId: " + couponIdStr + ", count: " + count); | |||||
| throw new MallinkException(ErrorCode.ORDER_UNPAID); | |||||
| } | |||||
| } | } | ||||
| //检查已购买数量 | //检查已购买数量 | ||||
| try { | try { | ||||
| count = getUserCouponOrderCount(user, coupon); | count = getUserCouponOrderCount(user, coupon); | ||||