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 | 61 ++++++++++++++++++++++++++---- 1 files changed, 53 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 f5cf45c..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,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; + } } -- Gitblit v1.9.1