From 1b992addb4f4fc78b19748927bdefa32df239842 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 29 七月 2025 11:37:23 +0800
Subject: [PATCH] 用户主页显示问题,活动列表查询问题

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java
index f4b64ea..d5cd650 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java
@@ -4,10 +4,13 @@
 import cn.lili.common.properties.RocketmqCustomProperties;
 import cn.lili.common.security.context.UserContext;
 import cn.lili.modules.goods.entity.vos.GoodsVO;
+import cn.lili.modules.lmk.domain.query.AuthorVideoQuery;
 import cn.lili.modules.lmk.domain.vo.*;
+import cn.lili.modules.lmk.service.VideoService;
 import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
 import cn.lili.rocketmq.tags.CommentTagsEnum;
 import cn.lili.rocketmq.tags.VideoTagsEnum;
+import cn.lili.utils.COSUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import cn.lili.modules.lmk.domain.entity.MyCollect;
@@ -18,15 +21,21 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cn.lili.modules.lmk.domain.form.MyCollectForm;
 import cn.lili.modules.lmk.domain.query.MyCollectQuery;
+import com.xkcoding.http.util.StringUtil;
 import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
 import cn.lili.utils.PageUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -43,6 +52,14 @@
     private final RocketmqCustomProperties rocketmqCustomProperties;
     private final LmkFileServiceImpl fileService;
     private final RocketMQTemplate rocketMQTemplate;
+    private VideoService videoService; // 绉婚櫎浜唂inal
+    private COSUtil cOSUtil;
+
+    @Autowired
+    public void setVideoService(VideoService videoService) {
+        // 杩欓噷鍙互娣诲姞棰濆鐨勫垵濮嬪寲閫昏緫
+        this.videoService = videoService;
+    }
 
 
     /**
@@ -179,14 +196,30 @@
                 activityVO.setUrl(fileService.getPreviewUrl(activityVO.getCover()));
             }
         }else if (CollectTypeEnum.video.getType().equals(query.getType())) {
-            baseMapper.getVideoCollectPage(page, userId);
-            List<VideoVO> videoList = page.getRecords().stream()
-                    .filter(obj -> obj instanceof VideoVO)
-                    .map(obj -> (VideoVO) obj)
+            AuthorVideoQuery videoQuery = new AuthorVideoQuery();
+            videoQuery.setAuthorId(UserContext.getCurrentUserId());
+            videoQuery.setAuthorSelf(true);
+            videoQuery.setPageSize(query.getPageSize());
+
+            videoQuery.setPageNumber(query.getPageNumber());
+            Result result = videoService.getAuthorCollectVideoPage(videoQuery);
+            List<WxVideoVO> list = Optional.ofNullable(result.get("data"))
+                    .filter(data -> data instanceof List<?>)
+                    .map(data -> (List<?>) data)
+                    .orElse(Collections.emptyList())
+                    .stream()
+                    .filter(WxVideoVO.class::isInstance)
+                    .map(WxVideoVO.class::cast)
                     .collect(Collectors.toList());
-            for (VideoVO video : videoList) {
-                video.setCoverUrl(fileService.getPreviewUrl(video.getCoverUrl()));
+            for (WxVideoVO wxVideoVO : list){
+                if (!CollectionUtils.isEmpty(wxVideoVO.getImgs())){
+                    List<String> newImages = wxVideoVO
+                            .getImgs().stream().map(item -> cOSUtil.getPreviewUrl(item)).collect(Collectors.toList());
+                    wxVideoVO.setImgs(newImages);
+                }
+
             }
+            return result;
         }else if (CollectTypeEnum.goods.getType().equals(query.getType())) {
             baseMapper.getGoodsCollectPage(page, userId);
 

--
Gitblit v1.8.0