From a576bf75eec664e7b167a7a5eb6fabe2552ccbcc Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期五, 12 九月 2025 19:17:28 +0800
Subject: [PATCH] 修改礼品卡领取

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 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 a0906b9..9c32860 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
@@ -133,6 +133,12 @@
     public Result page(CouponVirtualQuery query) {
         IPage<CouponVirtualVO> page = PageUtil.getPage(query, CouponVirtualVO.class);
         baseMapper.getPage(page, query);
+        for (CouponVirtualVO record : page.getRecords()) {
+            String original = record.getOriginal();
+            if (StringUtils.isNotBlank(original) && !original.contains("http")) {
+                record.setOriginal(cosUtil.getPreviewUrl(original));
+            }
+        }
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
 
@@ -178,6 +184,9 @@
             lock = redissonClient.getLock(LOCK_COUPON_VIRTUAL_CARD_ID + cardId);
             LambdaQueryWrapper<CouponVirtual> forUpdate = Wrappers.<CouponVirtual>lambdaQuery().eq(CouponVirtual::getId, cardId).last("FOR UPDATE");
             CouponVirtual cardInfo = this.getOne(forUpdate);
+            if (cardInfo == null) {
+                throw new ServiceException("褰撳墠浼樻儬鍗蜂笉瀛樺湪");
+            }
             if (ClaimStatusEnum.CLAIM.name().equals(cardInfo.getClaimStatus())) {
                 throw new ServiceException("褰撳墠璐墿鍗″凡缁忚棰嗗彇");
             }
@@ -210,6 +219,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);
             //鍘婚鍙栦紭鎯犲嵎

--
Gitblit v1.8.0