From 43fa0ec4dc02c2bb1a2ac5e9eea81cae4d2cb11d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 17 Dec 2021 16:08:18 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-video
---
src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 103 insertions(+), 6 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 bf845cd..e60f7a7 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
@@ -1,11 +1,15 @@
package cc.mrbird.febs.video.service.impl;
+import cc.mrbird.febs.common.entity.FebsResponse;
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.ApiVideoCollectionDto;
+import cc.mrbird.febs.video.dto.ApiVideoHistoryDto;
+import cc.mrbird.febs.video.dto.ApiVideoLikeDto;
import cc.mrbird.febs.video.dto.VideoListDto;
import cc.mrbird.febs.video.entity.*;
import cc.mrbird.febs.video.mapper.*;
@@ -15,6 +19,7 @@
import cc.mrbird.febs.video.vo.VideoListVo;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -38,6 +43,10 @@
private final VideoMasterItemsMapper videoMasterItemsMapper;
private final VideoMasterSourceMapper videoMasterSourceMapper;
private final VideoMasterDataMapper videoMasterDataMapper;
+ private final VideoCollectionMapper videoCollectionMapper;
+ private final VideoCommentInfoMapper videoCommentInfoMapper;
+ private final VideoCommentLikeMapper videoCommentLikeMapper;
+ private final VideoHistoryMapper videoHistoryMapper;
private final VideoMemberMapper videoMemberMapper;
@Override
@@ -169,13 +178,13 @@
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 loginUser = LoginUserUtil.getLoginUser();
+ 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);
@@ -197,4 +206,92 @@
videoInfoVo.setTimeLength(currentItem.getTimeLength());
return videoInfoVo;
}
+
+ @Override
+ public FebsResponse videoCollection(ApiVideoCollectionDto apiVideoCollectionDto) {
+ Long id = LoginUserUtil.getLoginUser().getId();
+ Long videoId = apiVideoCollectionDto.getVideoId();
+ VideoMasterInfoEntity videoMasterInfoEntity = this.baseMapper.selectById(videoId);
+ if(videoMasterInfoEntity == null){
+ throw new FebsException("视频不存在");
+ }
+ VideoCollectionEntity videoCollection = videoCollectionMapper.selectVideoCollectionByVideoIdAndMemberId(videoId, id);
+ if(videoCollection != null){
+ 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);
+ return new FebsResponse().success().message("已取消收藏");
+ }else{
+ VideoCollectionEntity videoCollectionEntity = new VideoCollectionEntity();
+ videoCollectionEntity.setMemberId(id);
+ 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);
+ return new FebsResponse().success().message("已收藏");
+ }
+ }
+
+ @Override
+ public FebsResponse videoLike(ApiVideoLikeDto apiVideoLikeDto) {
+ Long id = LoginUserUtil.getLoginUser().getId();
+ Integer type = apiVideoLikeDto.getType();
+ Long relateId = apiVideoLikeDto.getRelateId();
+ VideoCommentLikeEntity videoCommentLikeEntity = videoCommentLikeMapper.selectCommentLikeByMemberIdAndRelateId(id,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);
+ return new FebsResponse().success().message("已取消点赞");
+ }else if(2 == type){
+ //评论
+ VideoCommentInfoEntity videoCommentInfoEntity = videoCommentInfoMapper.selectById(relateId);
+ if(videoCommentInfoEntity == null){
+ throw new FebsException("评论不存在");
+ }
+ videoCommentLikeMapper.deleteById(videoCommentLikeEntity.getId());
+ return new FebsResponse().success().message("已取消点赞");
+ }else{
+ throw new FebsException("网络繁忙");
+ }
+ }else{
+ VideoCommentLikeEntity videoCommentLike = new VideoCommentLikeEntity();
+ videoCommentLike.setType(type);
+ videoCommentLike.setRelateId(relateId);
+ 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);
+ return new FebsResponse().success().message("已点赞");
+ }
+
+ }
+
+ @Override
+ public FebsResponse delVideoHistory(ApiVideoHistoryDto apiVideoHistoryDto) {
+ Long id = LoginUserUtil.getLoginUser().getId();
+ String ids = apiVideoHistoryDto.getIds();
+ List<String> idList = StrUtil.split(ids, ',');
+ videoHistoryMapper.delVideoHistoryByIdsAndMemberId(idList,id);
+ return new FebsResponse().success().message("成功");
+ }
}
--
Gitblit v1.9.1