From b9eccd0d793412791f92b48cd466f8c8d3a23d0a Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期四, 18 九月 2025 14:42:32 +0800 Subject: [PATCH] 礼品卡标识取消后标识能置空 --- framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java | 5 +++-- 1 files changed, 3 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 1308bbd..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) { @@ -219,6 +220,7 @@ cardInfo.setUserNickname(nickName); cardInfo.setUserId(userId); cardInfo.setClaimStatus(ClaimStatusEnum.CLAIM.name()); + cardInfo.setShareStatus(ShareStatusEnum.SHARE.name()); cardInfo.setClaimTime(new Date()); boolean b = this.updateById(cardInfo); //鍘婚鍙栦紭鎯犲嵎 @@ -227,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