From 05027af4c6b8c7e4b5c6008c8d9ceccd29472990 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 21 Dec 2021 11:40:48 +0800
Subject: [PATCH] 20211216
---
src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java | 101 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 70 insertions(+), 31 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 0717275..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) {
@@ -179,12 +182,33 @@
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())) {
+ // 判断用户是否登录
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);
@@ -192,23 +216,10 @@
}
}
+
VideoMasterItemsEntity currentItem = this.videoMasterItemsMapper.selectItemByVideoIdAndItemId(videoId, itemId);
if (currentItem == null) {
throw new FebsException("视频不存在");
- }
-
- 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);
}
videoInfoVo.setNotLogin(AppContants.FLAG_INT_Y);
@@ -218,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;
}
@@ -234,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();
@@ -245,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("已收藏");
}
}
@@ -259,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){
//评论
@@ -291,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