From d48b46152f08410fcb4940a29067d82435b8cbe9 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 20 Dec 2021 16:26:10 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++--------- 1 files changed, 71 insertions(+), 18 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 e60f7a7..9b8d80f 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; @@ -29,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -48,6 +50,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) { @@ -169,6 +172,7 @@ throw new FebsException("视频不存在"); } + VideoMemberEntity loginUser = LoginUserUtil.getLoginUser(); VideoInfoVo videoInfoVo = VideoConversion.INSTANCE.videoInfoEntityToInfoVo(videoInfoEntity); List<VideoInfoItemVo> items = VideoConversion.INSTANCE.videoItemEntitiesToItemVoes(videoInfoEntity.getItems()); videoInfoVo.setItems(items); @@ -178,19 +182,40 @@ videoInfoVo.setCollectCnt(data.getCollectCnt()); videoInfoVo.setStarCnt(data.getStarCnt()); + if (loginUser != null) { + // 是否点赞 + VideoCommentLikeEntity commentLike = this.videoCommentLikeMapper.selectCommentLikeByMemberIdAndRelateId(loginUser.getId(), videoInfoEntity.getId()); + if (commentLike != null) { + videoInfoVo.setIsLike(1); + } else { + videoInfoVo.setIsLike(2); + } + + // 是否收藏 + VideoCollectionEntity collection = this.videoCollectionMapper.selectVideoCollectionByVideoIdAndMemberId(videoInfoEntity.getId(), loginUser.getId()); + if (collection != null) { + videoInfoVo.setIsCollect(1); + } else { + videoInfoVo.setIsCollect(2); + } + } + + // 视频是否需要vip if (AppContants.FLAG_INT_N.equals(videoInfoEntity.getIsFree())) { - VideoMemberEntity loginUser = LoginUserUtil.getLoginUser(); + // 判断用户是否登录 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) { @@ -204,6 +229,27 @@ 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()); + history.setUpdatedTime(new Date()); + history.setCreatedTime(new Date()); + this.videoHistoryMapper.insert(history); + } else { + history.setVideoItemId(currentItem.getId()); + this.videoHistoryMapper.updateById(history); + } + } + return videoInfoVo; } @@ -220,10 +266,11 @@ videoCollectionMapper.deleteById(videoCollection.getId()); //收藏数-1 - VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(videoId); - int collectCnt = videoMasterDataEntity.getCollectCnt(); - videoMasterDataEntity.setCollectCnt((collectCnt - 1) <= 0 ? 0:(collectCnt - 1)); - videoMasterDataMapper.updateById(videoMasterDataEntity); + this.videoMasterDataService.modifyVideoData(videoMasterInfoEntity.getId(), -1, 2); +// VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(videoId); +// int collectCnt = videoMasterDataEntity.getCollectCnt(); +// videoMasterDataEntity.setCollectCnt((collectCnt - 1) <= 0 ? 0:(collectCnt - 1)); +// videoMasterDataMapper.updateById(videoMasterDataEntity); return new FebsResponse().success().message("已取消收藏"); }else{ VideoCollectionEntity videoCollectionEntity = new VideoCollectionEntity(); @@ -231,10 +278,12 @@ videoCollectionEntity.setVideoId(videoId); videoCollectionMapper.insert(videoCollectionEntity); //收藏数+1 - VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(videoId); - int collectCnt = videoMasterDataEntity.getCollectCnt(); - videoMasterDataEntity.setCollectCnt((collectCnt + 1) <= 0 ? 0:(collectCnt + 1)); - videoMasterDataMapper.updateById(videoMasterDataEntity); + + this.videoMasterDataService.modifyVideoData(videoMasterInfoEntity.getId(), 1, 2); +// VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(videoId); +// int collectCnt = videoMasterDataEntity.getCollectCnt(); +// videoMasterDataEntity.setCollectCnt((collectCnt + 1) <= 0 ? 0:(collectCnt + 1)); +// videoMasterDataMapper.updateById(videoMasterDataEntity); return new FebsResponse().success().message("已收藏"); } } @@ -245,19 +294,21 @@ Integer type = apiVideoLikeDto.getType(); Long relateId = apiVideoLikeDto.getRelateId(); VideoCommentLikeEntity videoCommentLikeEntity = videoCommentLikeMapper.selectCommentLikeByMemberIdAndRelateId(id,relateId); + + VideoMasterInfoEntity videoMasterInfoEntity = this.baseMapper.selectById(relateId); if(videoCommentLikeEntity != null){ if(1 == type){ //视频 - VideoMasterInfoEntity videoMasterInfoEntity = this.baseMapper.selectById(relateId); if(videoMasterInfoEntity == null){ throw new FebsException("视频不存在"); } videoCommentLikeMapper.deleteById(videoCommentLikeEntity.getId()); //点赞数-1 - VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(relateId); - int starCnt = videoMasterDataEntity.getStarCnt(); - videoMasterDataEntity.setStarCnt((starCnt - 1) <= 0 ? 0:(starCnt - 1)); - videoMasterDataMapper.updateById(videoMasterDataEntity); + this.videoMasterDataService.modifyVideoData(videoMasterInfoEntity.getId(), -1, 3); +// VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(relateId); +// int starCnt = videoMasterDataEntity.getStarCnt(); +// videoMasterDataEntity.setStarCnt((starCnt - 1) <= 0 ? 0:(starCnt - 1)); +// videoMasterDataMapper.updateById(videoMasterDataEntity); return new FebsResponse().success().message("已取消点赞"); }else if(2 == type){ //评论 @@ -277,10 +328,12 @@ videoCommentLike.setMemberId(id); videoCommentLikeMapper.insert(videoCommentLike); //点赞数+1 - VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(relateId); - int starCnt = videoMasterDataEntity.getStarCnt(); - videoMasterDataEntity.setStarCnt((starCnt + 1) <= 0 ? 0:(starCnt + 1)); - videoMasterDataMapper.updateById(videoMasterDataEntity); + + this.videoMasterDataService.modifyVideoData(videoMasterInfoEntity.getId(), 1, 3); +// VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(relateId); +// int starCnt = videoMasterDataEntity.getStarCnt(); +// videoMasterDataEntity.setStarCnt((starCnt + 1) <= 0 ? 0:(starCnt + 1)); +// videoMasterDataMapper.updateById(videoMasterDataEntity); return new FebsResponse().success().message("已点赞"); } -- Gitblit v1.9.1