xiaoyong931011
2021-12-17 5d9add8982a94cabc61c4acfb7573e8ca6f2e39d
src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java
@@ -3,16 +3,15 @@
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.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.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.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;
@@ -39,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) {
@@ -152,4 +152,49 @@
        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;
    }
}