From 865721523230a003a5aeccaf8eab031a65601932 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 20 Dec 2021 11:40:38 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java |   53 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 13 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 81ba9de..8f40ed5 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
@@ -13,6 +13,7 @@
 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.IVideoMasterDataService;
 import cc.mrbird.febs.video.service.IVideoMasterInfoService;
 import cc.mrbird.febs.video.vo.VideoInfoItemVo;
 import cc.mrbird.febs.video.vo.VideoInfoVo;
@@ -48,6 +49,7 @@
     private final VideoCommentLikeMapper videoCommentLikeMapper;
     private final VideoHistoryMapper videoHistoryMapper;
     private final VideoMemberMapper videoMemberMapper;
+    private final IVideoMasterDataService videoMasterDataService;
 
     @Override
     public IPage<VideoMasterInfoEntity> findInPage(VideoMasterInfoEntity info, QueryRequest request) {
@@ -179,20 +181,8 @@
         videoInfoVo.setCollectCnt(data.getCollectCnt());
         videoInfoVo.setStarCnt(data.getStarCnt());
 
-        if (AppContants.FLAG_INT_N.equals(videoInfoEntity.getIsFree())) {
-            if (loginUser == null) {
-                videoInfoVo.setNotLogin(AppContants.FLAG_INT_N);
-                return videoInfoVo;
-            }
-
-            VideoMemberEntity member = this.videoMemberMapper.selectById(loginUser.getId());
-            if (AppContants.FLAG_INT_N.equals(member.getIsVip())) {
-                videoInfoVo.setNotVip(AppContants.FLAG_INT_N);
-                return videoInfoVo;
-            }
-        }
-
         if (loginUser != null) {
+            // 是否点赞
             VideoCommentLikeEntity commentLike = this.videoCommentLikeMapper.selectCommentLikeByMemberIdAndRelateId(loginUser.getId(), videoInfoEntity.getId());
             if (commentLike != null) {
                 videoInfoVo.setIsLike(1);
@@ -200,6 +190,7 @@
                 videoInfoVo.setIsLike(2);
             }
 
+            // 是否收藏
             VideoCollectionEntity collection = this.videoCollectionMapper.selectVideoCollectionByVideoIdAndMemberId(videoInfoEntity.getId(), loginUser.getId());
             if (collection != null) {
                 videoInfoVo.setIsCollect(1);
@@ -207,6 +198,23 @@
                 videoInfoVo.setIsCollect(2);
             }
         }
+
+        // 视频是否需要vip
+        if (AppContants.FLAG_INT_N.equals(videoInfoEntity.getIsFree())) {
+            // 判断用户是否登录
+            if (loginUser == null) {
+                videoInfoVo.setNotLogin(AppContants.FLAG_INT_N);
+                return videoInfoVo;
+            }
+
+            // 判断用户是否为vip
+            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) {
@@ -220,6 +228,25 @@
         videoInfoVo.setThumb(currentItem.getThumb());
         videoInfoVo.setItemId(currentItem.getId());
         videoInfoVo.setTimeLength(currentItem.getTimeLength());
+
+        // 增加播放量
+        this.videoMasterDataService.modifyVideoData(videoInfoEntity.getId(), 1, 1);
+
+        // 历史记录
+        if (loginUser != null) {
+            VideoHistoryEntity history = this.videoHistoryMapper.selectByMemberIdAndVideoId(loginUser.getId(), videoInfoEntity.getId());
+            if (history == null) {
+                history = new VideoHistoryEntity();
+                history.setVideoId(videoInfoEntity.getId());
+                history.setMemberId(loginUser.getId());
+                history.setVideoItemId(currentItem.getId());
+                this.videoHistoryMapper.insert(history);
+            } else {
+                history.setVideoItemId(currentItem.getId());
+                this.videoHistoryMapper.updateById(history);
+            }
+        }
+
         return videoInfoVo;
     }
 

--
Gitblit v1.9.1