From 8bfcdc67288b607e333da334ec84abc58ff6dfc4 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 12 六月 2025 15:11:11 +0800
Subject: [PATCH] 视频表增加字段

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java |   82 +++++++++++++++++++++++++++++++---------
 1 files changed, 63 insertions(+), 19 deletions(-)

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 ef88f79..a9875df 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
@@ -1,22 +1,19 @@
 package cn.lili.modules.lmk.service.impl;
 
 import cn.lili.common.security.context.UserContext;
-import cn.lili.modules.lmk.domain.entity.VideoAuditRecord;
-import cn.lili.modules.lmk.domain.entity.VideoTag;
-import cn.lili.modules.lmk.domain.entity.VideoTagRef;
+import cn.lili.modules.lmk.domain.entity.*;
 import cn.lili.modules.lmk.domain.form.*;
 import cn.lili.modules.lmk.domain.query.AuthorVideoQuery;
 import cn.lili.modules.lmk.domain.query.ManagerVideoQuery;
 import cn.lili.modules.lmk.domain.vo.*;
-import cn.lili.modules.lmk.enums.general.TagCreateTypeEnum;
-import cn.lili.modules.lmk.enums.general.VideoStatusEnum;
-import cn.lili.modules.lmk.enums.general.ViewTypeEnum;
+import cn.lili.modules.lmk.enums.general.*;
 import cn.lili.modules.lmk.service.*;
 import cn.lili.modules.member.entity.dos.FootPrint;
+import cn.lili.modules.member.entity.dos.Member;
 import cn.lili.modules.member.service.FootprintService;
+import cn.lili.modules.member.service.MemberService;
 import cn.lili.utils.COSUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import cn.lili.modules.lmk.domain.entity.Video;
 import cn.lili.modules.lmk.mapper.VideoMapper;
 import cn.lili.base.Result;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
@@ -55,6 +52,9 @@
     private final COSUtil cosUtil;
     private final FootprintService footprintService;
     private final MySubscribeService mySubscribeService;
+    private final MemberService memberService;
+    private final VideoAccountService videoAccountService;
+
 
     /**
      * 娣诲姞
@@ -62,8 +62,8 @@
      * @return
      */
     @Override
-    public Result add(VideoForm form) {
-        Video entity = VideoForm.getEntityByForm(form, null);
+    public Result add(WxVideoForm form) {
+        Video entity = WxVideoForm.getEntityByForm(form, null);
         baseMapper.insert(entity);
         return Result.ok("娣诲姞鎴愬姛");
     }
@@ -74,7 +74,7 @@
      * @return
      */
     @Override
-    public Result update(VideoForm form) {
+    public Result update(WxVideoForm form) {
         Video entity = baseMapper.selectById(form.getId());
 
         // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
@@ -148,12 +148,13 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Result publish(VideoForm form) {
+    public Result publish(WxVideoForm form) {
         // 1.淇濆瓨瑙嗛
-        Video video = VideoForm.getEntityByForm(form, null);
+        Video video = WxVideoForm.getEntityByForm(form, null);
         video.setAuthorId(UserContext.getCurrentUserId());
         video.setStatus(VideoStatusEnum.AUDITING.getValue());
         video.setCoverUrl(form.getCover());
+        video.setVideoType(VideoTypeEnum.VIDEO.getValue());
         baseMapper.insert(video);
         // 2.澶勭悊鏍囩
         List<VideoTagRef> videoTagRefs = form.getTags().stream().map(tag -> {
@@ -265,7 +266,7 @@
         IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class);
         switch (query.getVideoFrom()) {
             case "recommend":
-                baseMapper.recommendVideo(page);
+                baseMapper.recommendVideo(page, query);
                 break;
             case "author":
                 AuthorVideoQuery query1 = new AuthorVideoQuery();
@@ -275,7 +276,7 @@
             case "collect":
                 AuthorVideoQuery query2 = new AuthorVideoQuery();
                 query2.setAuthorId(query.getAuthorId());
-                baseMapper.getAuthorVideoPage(page, query2);
+                baseMapper.getAuthorCollectVideoPage(page, query2);
                 break;
             default:
                 break;
@@ -294,7 +295,9 @@
                 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(cosUtil.getPreviewUrl(v.getVideoFileKey()));
+                v.setVideoUrl("https://videos.pexels.com/video-files/13602965/13602965-hd_1920_1080_30fps.mp4");
+                v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey()));
                 v.setSubscribeThisAuthor(subscribes.contains(v.getAuthorId()));
             });
         }
@@ -350,10 +353,13 @@
     @Override
     public Result getAuthorVideoPage(AuthorVideoQuery query) {
         IPage<WxVideoVO> page = PageUtil.getPage(query, WxVideoVO.class);
+        query.setAuthorSelf(UserContext.getCurrentUserId().equals(query.getAuthorId()));
         baseMapper.getAuthorVideoPage(page, query);
         for (WxVideoVO vo : page.getRecords()) {
-            vo.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverUrl()));
-            vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoUrl()));
+            vo.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverFileKey()));
+//            vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoFileKey()));
+            vo.setVideoUrl("https://videos.pexels.com/video-files/13602965/13602965-hd_1920_1080_30fps.mp4");
+            vo.setOptions(VideoSupportOpEnum.getVideoOpByStatus(vo.getStatus()));
         }
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
@@ -363,10 +369,48 @@
         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.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverFileKey()));
+//            vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoFileKey()));
+            vo.setVideoUrl("https://videos.pexels.com/video-files/13602965/13602965-hd_1920_1080_30fps.mp4");
             vo.setCollected(Boolean.TRUE);
         }
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Result homePageInfoEdit(VideoHomePageInfoForm form) {
+        new LambdaUpdateChainWrapper<>(memberService.getBaseMapper())
+                .eq(Member::getId, UserContext.getCurrentUserId())
+                .set(Member::getNickName, form.getNickName())
+                .set(Member::getFace, form.getAvatar())
+                .update();
+        new LambdaUpdateChainWrapper<>(videoAccountService.getBaseMapper())
+                .eq(VideoAccount::getUserId, UserContext.getCurrentUserId())
+                .set(VideoAccount::getMotto, form.getMotto())
+                .update();
+        return Result.ok("淇濆瓨鎴愬姛");
+    }
+
+    @Override
+    public Result wxDetail(String id) {
+        WxEditVideoVO vo = baseMapper.wxDetail(id);
+        if (Objects.isNull(vo)) {
+            return Result.error("瑙嗛涓嶅瓨鍦�");
+        }
+        vo.setCoverUrl(cosUtil.getPreviewUrl(vo.getCoverFileKey()));
+//        vo.setVideoUrl(cosUtil.getPreviewUrl(vo.getVideoFileKey()));
+        vo.setVideoUrl("https://videos.pexels.com/video-files/13602965/13602965-hd_1920_1080_30fps.mp4");
+        List<WxVideoTagForm> tags = videoTagRefService.getTagsByVideoIds(Arrays.asList(vo.getId()))
+                .stream()
+                .map(i -> {
+                    WxVideoTagForm tag = new WxVideoTagForm();
+                    tag.setTagName(i.getTagName());
+                    tag.setId(i.getId());
+                    return tag;
+                })
+                .collect(Collectors.toList());
+        vo.setTags(tags);
+        return Result.ok().data(vo);
+    }
 }

--
Gitblit v1.8.0