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

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java |    9 +++++++++
 framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVOInfo.java         |    5 +++++
 framework/src/main/resources/mapper/lmk/CouponVirtualMapper.xml                        |    8 +++++---
 framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVO.java             |    3 +++
 4 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVO.java
index 180b8be..6393c98 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVO.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVO.java
@@ -5,6 +5,7 @@
 
 import cn.lili.base.AbsVo;
 import cn.lili.modules.lmk.domain.entity.CouponVirtual;
+import com.baomidou.mybatisplus.annotation.TableField;
 import org.springframework.lang.NonNull;
 import org.springframework.beans.BeanUtils;
 import io.swagger.annotations.ApiModel;
@@ -61,6 +62,8 @@
 
     private Boolean deleteFlag;
 
+    private String original;
+
     public static CouponVirtualVO getVoByEntity(@NonNull CouponVirtual entity, CouponVirtualVO vo) {
         if(vo == null) {
             vo = new CouponVirtualVO();
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVOInfo.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVOInfo.java
index 8799881..07faf60 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVOInfo.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVOInfo.java
@@ -18,6 +18,7 @@
 public class CouponVirtualVOInfo {
     private static final long serialVersionUID = 1L;
 
+    private String id;
 
     private String orderId;
 
@@ -54,6 +55,10 @@
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date claimTime;
 
+    /** 棰嗗彇鏃堕棿 */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
     /** 鍚嶇О */
     private String name;
 
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..1308bbd 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("褰撳墠璐墿鍗″凡缁忚棰嗗彇");
             }
diff --git a/framework/src/main/resources/mapper/lmk/CouponVirtualMapper.xml b/framework/src/main/resources/mapper/lmk/CouponVirtualMapper.xml
index 9db5226..16a2ad1 100644
--- a/framework/src/main/resources/mapper/lmk/CouponVirtualMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/CouponVirtualMapper.xml
@@ -18,6 +18,7 @@
         <result column="create_time" property="createTime" />
         <result column="update_by" property="updateBy" />
         <result column="delete_flag" property="deleteFlag" />
+        <result column="original" property="original" />
     </resultMap>
 
     <select id="getById" resultMap="BaseResultMap">
@@ -60,11 +61,12 @@
             LCV.create_time,
             LCV.update_by,
             LCV.delete_flag,
-            LCV.id
+            LCV.id,
+            LGS.original
         FROM
-            lmk_coupon_virtual LCV
+        lmk_coupon_virtual LCV JOIN li_goods_sku LGS ON LGS.id = LCV.sku_id
         WHERE
-            LCV.delete_flag = 0
+        LCV.delete_flag = 0 AND LGS.delete_flag = 0
         <if test="query.orderId != null and query.orderId !=''">
            AND LCV.order_id = #{query.orderId}
         </if>

--
Gitblit v1.8.0