From 30b41cc526165b70e04a1fe1438cb79bb035a7bf Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期五, 13 六月 2025 11:08:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java           |   18 ++++++++++++++++++
 framework/src/main/resources/mapper/lmk/VideoMapper.xml                        |    3 +++
 framework/src/main/java/cn/lili/modules/lmk/domain/form/WxVideoForm.java       |    4 ++--
 framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java |   18 +++++++++++++++---
 4 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/WxVideoForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/WxVideoForm.java
index 791a4bb..ab5fce0 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/form/WxVideoForm.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/WxVideoForm.java
@@ -29,7 +29,7 @@
 public class WxVideoForm extends AbsForm {
 
 
-    @NotBlank(message = "瑙嗛涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+//    @NotBlank(message = "瑙嗛涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("瑙嗛")
     private String videoFileKey;
 
@@ -38,7 +38,7 @@
     private String title;
 
     @ApiModelProperty("瑙嗛灏侀潰")
-    @NotBlank(message = "瑙嗛灏侀潰涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+//    @NotBlank(message = "瑙嗛灏侀潰涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     private String cover;
 
     @ApiModelProperty("瑙嗛鍐呭绫诲瀷锛氳棰戙�佸浘鐗�")
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
index 4c98650..179415f 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
@@ -42,6 +42,24 @@
     private String videoFileKey;
     private String videoUrl;
 
+    /**
+     * @see cn.lili.modules.lmk.enums.general.VideoContentTypeEnum
+     */
+    @ApiModelProperty("瑙嗛鍐呭绫诲瀷锛氳棰戙�佸浘鐗�")
+    private String videoContentType;
+
+    /**
+     * @see cn.lili.modules.lmk.enums.general.VideoTypeEnum
+     */
+    @ApiModelProperty("瑙嗛绫诲瀷锛氳棰戙�佸ぇ鍋ュ悍銆佺鍘�")
+    private String videoType;
+
+    @ApiModelProperty("鍥鹃泦-json鏁扮粍")
+    private String videoImgs;
+
+    @ApiModelProperty("鍥鹃泦")
+    private List<String> imgs;
+
     @ApiModelProperty("瑙嗛鏍囩")
     private List<SimpleVideoTagVO> tagList;
 
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 c2b7097..b107ff1 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
@@ -14,6 +14,7 @@
 import cn.lili.modules.member.service.FootprintService;
 import cn.lili.modules.member.service.MemberService;
 import cn.lili.utils.COSUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import cn.lili.modules.lmk.mapper.VideoMapper;
 import cn.lili.base.Result;
@@ -130,7 +131,11 @@
         Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
         List<SimpleVideoTagVO> tags = videoTagRefService.getTagsByVideoIds(Arrays.asList(id));
         vo.setTagList(tags);
-        vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoFileKey()));
+        if (VideoContentTypeEnum.VIDEO.getValue().equals(vo.getVideoContentType())) {
+            vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoFileKey()));
+        } else if (VideoContentTypeEnum.IMG.getValue().equals(vo.getVideoContentType()) && StringUtils.isNotBlank(vo.getVideoImgs())) {
+            vo.setImgs(JSON.parseArray(vo.getVideoImgs(), String.class).stream().map(fileKey -> cosUtil.getPreviewUrl(fileKey)).collect(Collectors.toList()));
+        }
         return Result.ok().data(vo);
     }
 
@@ -156,6 +161,9 @@
         video.setStatus(VideoStatusEnum.AUDITING.getValue());
         video.setCoverUrl(form.getCover());
         video.setVideoType(VideoTypeEnum.VIDEO.getValue());
+        if (VideoContentTypeEnum.IMG.getValue().equals(form.getVideoContentType())) {
+            video.setVideoImgs(JSON.toJSONString(form.getVideoImgs()));
+        }
         baseMapper.insert(video);
         // 2.澶勭悊鏍囩
         List<VideoTagRef> videoTagRefs = form.getTags().stream().map(tag -> {
@@ -296,8 +304,12 @@
                 v.setGoods(new VideoGoodsVO());
                 v.setTagList(tagMap.get(v.getId()));
                 v.setCollected(CollectionUtils.isNotEmpty(collectMap.get(v.getId())));
-//                v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey()));
-                v.setVideoUrl("https://videos.pexels.com/video-files/13602965/13602965-hd_1920_1080_30fps.mp4");
+                if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) {
+                    //                v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey()));
+                    v.setVideoUrl("https://videos.pexels.com/video-files/13602965/13602965-hd_1920_1080_30fps.mp4");
+                } else if (VideoContentTypeEnum.IMG.getValue().equals(v.getVideoContentType()) && StringUtils.isNotBlank(v.getVideoImgs())) {
+                    v.setImgs(JSON.parseArray(v.getVideoImgs(), String.class).stream().map(fileKey -> cosUtil.getPreviewUrl(fileKey)).collect(Collectors.toList()));
+                }
                 v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey()));
                 v.setSubscribeThisAuthor(subscribes.contains(v.getAuthorId()));
             });
diff --git a/framework/src/main/resources/mapper/lmk/VideoMapper.xml b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
index 8a3e44e..f7a65ba 100644
--- a/framework/src/main/resources/mapper/lmk/VideoMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -41,6 +41,9 @@
         <result column="collect_num" property="collectNum" />
         <result column="comment_num" property="commentNum" />
         <result column="status" property="status" />
+        <result column="video_content_type" property="videoContentType" />
+        <result column="video_type" property="videoType" />
+        <result column="video_imgs" property="videoImgs" />
     </resultMap>
 
 

--
Gitblit v1.8.0