From 95f8eda23ff06243e68d33769c5e68f6f6de2c4b Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 03 六月 2025 16:40:57 +0800
Subject: [PATCH] 视频主页部分接口

---
 framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoForm.java         |    2 
 framework/src/main/resources/mapper/lmk/VideoMapper.xml                        |   40 +++++++++++++++++++
 buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java            |    6 +++
 framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java          |    8 ++++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java |   18 ++++++++
 framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java            |    8 ++++
 6 files changed, 79 insertions(+), 3 deletions(-)

diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java
index f9ad281..68671ba 100644
--- a/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/lmk/VideoController.java
@@ -90,4 +90,10 @@
     public Result getAuthorVideoPage(AuthorVideoQuery query) {
         return videoService.getAuthorVideoPage(query);
     }
+
+    @GetMapping("/author-collect-video-page")
+    @ApiOperation(value = "鑾峰彇瑙嗛涓婚〉浣滆�呮敹钘忕殑瑙嗛鍒嗛〉", notes = "鑾峰彇瑙嗛涓婚〉浣滆�呮敹钘忕殑瑙嗛鍒嗛〉")
+    public Result getAuthorCollectVideoPage(AuthorVideoQuery query) {
+        return videoService.getAuthorCollectVideoPage(query);
+    }
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoForm.java
index d5a4688..bcf2858 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoForm.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/VideoForm.java
@@ -39,7 +39,7 @@
     private String title;
 
     @ApiModelProperty("瑙嗛灏侀潰")
-    @NotBlank(message = "瑙嗛灏侀潰涓嶈兘涓虹┖")
+    @NotBlank(message = "瑙嗛灏侀潰涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     private String cover;
 
     @ApiModelProperty("瑙嗛鏍囩")
diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java
index 0839f17..cbb9fe8 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java
@@ -96,4 +96,12 @@
      * @param query
      */
     IPage getAuthorVideoPage(IPage page, @Param("query") AuthorVideoQuery query);
+
+    /**
+     * 鑾峰彇瑙嗛涓婚〉浣滆�呮敹钘忕殑瑙嗛鍒嗛〉
+     *
+     * @param page
+     * @param query
+     */
+    IPage getAuthorCollectVideoPage(IPage page, @Param("query") AuthorVideoQuery query);
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java b/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java
index de396a9..0acc5ad 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/VideoService.java
@@ -159,4 +159,12 @@
      * @return
      */
     Result getAuthorVideoPage(AuthorVideoQuery query);
+
+    /**
+     * 鑾峰彇瑙嗛涓婚〉浣滆�呮敹钘忚棰戝垎椤�
+     *
+     * @param query
+     * @return
+     */
+    Result getAuthorCollectVideoPage(AuthorVideoQuery query);
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
index b77a6df..e712108 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
@@ -198,7 +198,7 @@
             // 3. 鑾峰彇瑙嗛涓存椂璁块棶鍦板潃銆佽缃棰戞爣绛�
             page.getRecords().forEach(v -> {
                 v.setTagList(tagMap.get(v.getId()));
-//                v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey()));
+                v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverUrl()));
             });
         }
         return Result.ok().data(page.getRecords()).total(page.getTotal());
@@ -336,6 +336,22 @@
     public Result getAuthorVideoPage(AuthorVideoQuery query) {
         IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class);
         baseMapper.getAuthorVideoPage(page, query);
+        for (WxVideoVO vo : page.getRecords()) {
+            vo.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverUrl()));
+            vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoUrl()));
+        }
+        return Result.ok().data(page.getRecords()).total(page.getTotal());
+    }
+
+    @Override
+    public Result getAuthorCollectVideoPage(AuthorVideoQuery query) {
+        IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class);
+        baseMapper.getAuthorCollectVideoPage(page, query);
+        for (WxVideoVO vo : page.getRecords()) {
+            vo.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverUrl()));
+            vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoUrl()));
+            vo.setCollected(Boolean.TRUE);
+        }
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
 }
diff --git a/framework/src/main/resources/mapper/lmk/VideoMapper.xml b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
index 7964dd8..22895cf 100644
--- a/framework/src/main/resources/mapper/lmk/VideoMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -235,6 +235,9 @@
             LV.video_duration,
             LV.video_file_key,
             LV.title,
+            LV.goods_id,
+            LV.goods_view_num,
+            LV.goods_order_num,
             LV.recommend,
             LV.status,
             LV.play_num,
@@ -243,13 +246,48 @@
             LV.weight,
             LV.audit_pass_time,
             LV.update_time,
-            LV.id
+            LV.id,
+            LM.nick_name as authorName,
+            LM.face as authorAvatar
         FROM
             lmk_video LV
+                LEFT JOIN li_member LM ON LV.author_id = LM.id
         WHERE
             LV.delete_flag = 0 AND LV.status = '1' AND LV.author_id = #{query.authorId}
         ORDER BY
             LV.collect_num DESC
     </select>
 
+    <select id="getAuthorCollectVideoPage" resultMap="WxResultMap">
+        SELECT
+            LV.author_id,
+            LV.cover_url,
+            LV.video_fit,
+            LV.video_duration,
+            LV.video_file_key,
+            LV.title,
+            LV.goods_id,
+            LV.goods_view_num,
+            LV.goods_order_num,
+            LV.recommend,
+            LV.status,
+            LV.play_num,
+            LV.comment_num,
+            LV.collect_num,
+            LV.weight,
+            LV.audit_pass_time,
+            LV.update_time,
+            LV.id,
+            LM.nick_name as authorName,
+            LM.face as authorAvatar
+        FROM
+            lmk_my_collect LMC
+                INNER JOIN lmk_video LV ON LMC.ref_id = LV.id AND LV.delete_flag = 0 AND LV.status = '1'
+                LEFT JOIN li_member LM ON LV.author_id = LM.id
+        WHERE
+            LMC.delete_flag = 0 AND LMC.user_id = #{query.authorId} AND LMC.collect_type = 'video'
+        ORDER BY
+            LMC.create_time DESC
+    </select>
+
 </mapper>

--
Gitblit v1.8.0