From a06aa3c488bf5b45146e0969a5b2c21d0af847e8 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 17 Dec 2021 11:30:12 +0800
Subject: [PATCH] 20211216

---
 src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java |   72 ++++++++++++++++++++++++++++++++----
 1 files changed, 64 insertions(+), 8 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java
index 0b6bdea..bf845cd 100644
--- a/src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java
@@ -3,15 +3,16 @@
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.AppContants;
-import cc.mrbird.febs.video.entity.VideoMasterDataEntity;
-import cc.mrbird.febs.video.entity.VideoMasterInfoEntity;
-import cc.mrbird.febs.video.entity.VideoMasterItemsEntity;
-import cc.mrbird.febs.video.entity.VideoMasterSourceEntity;
-import cc.mrbird.febs.video.mapper.VideoMasterDataMapper;
-import cc.mrbird.febs.video.mapper.VideoMasterInfoMapper;
-import cc.mrbird.febs.video.mapper.VideoMasterItemsMapper;
-import cc.mrbird.febs.video.mapper.VideoMasterSourceMapper;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.video.conversion.VideoConversion;
+import cc.mrbird.febs.video.conversion.VideoMemberConversion;
+import cc.mrbird.febs.video.dto.VideoListDto;
+import cc.mrbird.febs.video.entity.*;
+import cc.mrbird.febs.video.mapper.*;
 import cc.mrbird.febs.video.service.IVideoMasterInfoService;
+import cc.mrbird.febs.video.vo.VideoInfoItemVo;
+import cc.mrbird.febs.video.vo.VideoInfoVo;
+import cc.mrbird.febs.video.vo.VideoListVo;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -37,6 +38,7 @@
     private final VideoMasterItemsMapper videoMasterItemsMapper;
     private final VideoMasterSourceMapper videoMasterSourceMapper;
     private final VideoMasterDataMapper videoMasterDataMapper;
+    private final VideoMemberMapper videoMemberMapper;
 
     @Override
     public IPage<VideoMasterInfoEntity> findInPage(VideoMasterInfoEntity info, QueryRequest request) {
@@ -141,4 +143,58 @@
 
         this.baseMapper.updateById(masterInfo);
     }
+
+    @Override
+    public List<VideoListVo> findVideoList(VideoListDto videoListDto) {
+        Page<VideoListVo> page = new Page<>(videoListDto.getPageNum(), videoListDto.getPageSize());
+
+        videoListDto.setIsUp(AppContants.FLAG_INT_Y);
+        IPage<VideoListVo> data = this.baseMapper.selectVideoListInPage(videoListDto, page);
+        return data.getRecords();
+    }
+
+    @Override
+    public VideoInfoVo findVideoInfo(Long videoId, Long itemId) {
+        VideoMasterInfoEntity videoInfoEntity = this.baseMapper.selectEntityById(videoId);
+        if (videoInfoEntity == null) {
+            throw new FebsException("视频不存在");
+        }
+
+        VideoInfoVo videoInfoVo = VideoConversion.INSTANCE.videoInfoEntityToInfoVo(videoInfoEntity);
+        List<VideoInfoItemVo> items = VideoConversion.INSTANCE.videoItemEntitiesToItemVoes(videoInfoEntity.getItems());
+        videoInfoVo.setItems(items);
+
+        VideoMasterDataEntity data = this.videoMasterDataMapper.selectDataByMasterId(videoInfoEntity.getId());
+        videoInfoVo.setPlayCnt(data.getPlayCnt());
+        videoInfoVo.setCollectCnt(data.getCollectCnt());
+        videoInfoVo.setStarCnt(data.getStarCnt());
+
+        VideoMemberEntity loginUser = LoginUserUtil.getLoginUser();
+        if (loginUser == null) {
+            videoInfoVo.setNotLogin(AppContants.FLAG_INT_N);
+            return videoInfoVo;
+        }
+
+        if (AppContants.FLAG_INT_N.equals(videoInfoEntity.getIsFree())) {
+            VideoMemberEntity member = this.videoMemberMapper.selectById(loginUser.getId());
+            if (AppContants.FLAG_INT_N.equals(member.getIsVip())) {
+                videoInfoVo.setNotVip(AppContants.FLAG_INT_N);
+                return videoInfoVo;
+            }
+        }
+
+        VideoMasterItemsEntity currentItem = this.videoMasterItemsMapper.selectItemByVideoIdAndItemId(videoId, itemId);
+        if (currentItem == null) {
+            throw new FebsException("视频不存在");
+        }
+
+        videoInfoVo.setNotLogin(AppContants.FLAG_INT_Y);
+        videoInfoVo.setNotVip(AppContants.FLAG_INT_Y);
+        videoInfoVo.setSubTitle(currentItem.getName());
+        videoInfoVo.setVideoUrl(currentItem.getVideoUrl());
+        videoInfoVo.setThumb(currentItem.getThumb());
+        videoInfoVo.setItemId(currentItem.getId());
+        videoInfoVo.setTimeLength(currentItem.getTimeLength());
+        return videoInfoVo;
+    }
 }

--
Gitblit v1.9.1