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 15d44575a..554a3ebbe 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -489,15 +489,16 @@ public class WxOrderServiceImpl implements WxOrderService { // 减库存 int num = wxCouponMapper.reduceInventory(coupon.getId(), 1, coupon.getRemainInventory()); if (num == 0) { + // 解锁 + redisLock.unlock(couponIdStr, timeStr); logger.error("此券减库存失败, couponId: " + couponIdStr); throw new MallinkException(ErrorCode.ORDER_IS_FAIL); } } catch (RuntimeException e) { + // 解锁 + redisLock.unlock(couponIdStr, timeStr); logger.error("此券减库存失败, couponId: " + couponIdStr); throw new MallinkException(ErrorCode.ORDER_IS_FAIL); - } finally { - //解锁 - redisLock.unlock(couponIdStr, timeStr); } }