From 336b30aa1c28e2ff824e9ddf4dca08e4fd3138c3 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期一, 15 九月 2025 14:00:20 +0800
Subject: [PATCH] 调整领取逻辑

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java
index 9c32860..72fb330 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java
@@ -182,6 +182,7 @@
         RLock lock = null;
         try {
             lock = redissonClient.getLock(LOCK_COUPON_VIRTUAL_CARD_ID + cardId);
+            lock.lock();
             LambdaQueryWrapper<CouponVirtual> forUpdate = Wrappers.<CouponVirtual>lambdaQuery().eq(CouponVirtual::getId, cardId).last("FOR UPDATE");
             CouponVirtual cardInfo = this.getOne(forUpdate);
             if (cardInfo == null) {
@@ -228,8 +229,7 @@
             }
             return Result.ok().data(cardInfo.getCouponId());
         } finally {
-            assert lock != null;
-            if (lock.isHeldByCurrentThread()) {
+            if ( lock != null && lock.isHeldByCurrentThread()) {
                 lock.unlock();
             }
         }

--
Gitblit v1.8.0