fix
Helius
2021-12-20 865721523230a003a5aeccaf8eab031a65601932
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;
    }