From f5a352df9e40f98ec4ba43fcc0f280952decbe84 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 12 九月 2025 17:06:42 +0800
Subject: [PATCH] 分享虚拟商品优惠劵

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/CouponVirtualServiceImpl.java |   17 ++++++++
 framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVOInfo.java         |   67 +++++++++++++++++++++++++++++++++
 2 files changed, 83 insertions(+), 1 deletions(-)

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
new file mode 100644
index 0000000..8799881
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CouponVirtualVOInfo.java
@@ -0,0 +1,67 @@
+package cn.lili.modules.lmk.domain.vo;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * lmk-shop-java
+ *
+ * @author : zxl
+ * @date : 2025-09-12 15:19
+ **/
+@Data
+public class CouponVirtualVOInfo {
+    private static final long serialVersionUID = 1L;
+
+
+    private String orderId;
+
+
+
+    private String itemOrderId;
+
+
+    private String goodsId;
+
+
+    private String skuId;
+
+
+    private String skuName;
+
+
+    private String couponId;
+
+
+    private String couponNo;
+
+
+    private String couponName;
+
+
+    private String userId;
+
+
+    private String userNickname;
+
+    /** 棰嗗彇鏃堕棿 */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date claimTime;
+
+    /** 鍚嶇О */
+    private String name;
+
+    /** 鏄惁鍒嗕韩 */
+    private String shareStatus;
+
+    /** 鏄惁棰嗗彇 */
+    private String claimStatus;
+
+    private String goodsUrl;
+}
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 b9d97a4..a0906b9 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
@@ -4,10 +4,12 @@
 import cn.lili.common.exception.ServiceException;
 import cn.lili.common.security.AuthUser;
 import cn.lili.common.security.context.UserContext;
+import cn.lili.modules.goods.service.GoodsService;
 import cn.lili.modules.lmk.domain.entity.CouponVirtual;
 import cn.lili.modules.lmk.domain.form.CouponVirtualForm;
 import cn.lili.modules.lmk.domain.query.CouponVirtualQuery;
 import cn.lili.modules.lmk.domain.vo.CouponVirtualVO;
+import cn.lili.modules.lmk.domain.vo.CouponVirtualVOInfo;
 import cn.lili.modules.lmk.mapper.CouponVirtualMapper;
 import cn.lili.modules.lmk.service.CouponVirtualService;
 import cn.lili.modules.order.order.entity.dos.Order;
@@ -19,6 +21,7 @@
 import cn.lili.modules.order.order.service.OrderItemService;
 import cn.lili.modules.order.order.service.OrderService;
 import cn.lili.modules.promotion.service.MemberCouponService;
+import cn.lili.utils.COSUtil;
 import cn.lili.utils.PageUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -62,6 +65,10 @@
     private final OrderService orderService;
 
     private final MemberCouponService memberCouponService;
+
+    private final GoodsService goodsService;
+
+    private final COSUtil cosUtil;
     /**
      * 娣诲姞
      *
@@ -232,6 +239,14 @@
         if (couponVirtual == null) {
             throw new ServiceException("褰撳墠璐墿鍗′笉瀛樺湪");
         }
-        return Result.ok().data(couponVirtual);
+        CouponVirtualVOInfo virtualVOInfo = new CouponVirtualVOInfo();
+        BeanUtils.copyProperties(couponVirtual, virtualVOInfo);
+
+        String goodsId = virtualVOInfo.getGoodsId();
+        String url = goodsService.getById(goodsId).getOriginal();
+        if (StringUtils.isNotBlank(url) && !url.contains("http")) {
+            virtualVOInfo.setGoodsUrl(cosUtil.getPreviewUrl(url));
+        }
+        return Result.ok().data(virtualVOInfo);
     }
 }

--
Gitblit v1.8.0