From 083aadec140d59c23d7a8fa64b8e9faaca183ac9 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 17 Dec 2021 15:52:45 +0800
Subject: [PATCH] 20211216

---
 src/main/java/cc/mrbird/febs/video/mapper/VideoCommentLikeMapper.java           |    3 +
 src/main/resources/mapper/modules/VideoHistoryMapper.xml                        |   16 ++++++++
 src/main/java/cc/mrbird/febs/video/mapper/VideoHistoryMapper.java               |   12 ++++++
 src/main/java/cc/mrbird/febs/video/dto/ApiVideoHistoryDto.java                  |   13 ++++++
 src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java |   15 ++++++-
 src/main/java/cc/mrbird/febs/video/controller/ApiVideoController.java           |   10 +++++
 src/main/java/cc/mrbird/febs/video/service/IVideoMasterInfoService.java         |    3 +
 7 files changed, 69 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/video/controller/ApiVideoController.java b/src/main/java/cc/mrbird/febs/video/controller/ApiVideoController.java
index 8ecda48..1e92490 100644
--- a/src/main/java/cc/mrbird/febs/video/controller/ApiVideoController.java
+++ b/src/main/java/cc/mrbird/febs/video/controller/ApiVideoController.java
@@ -1,7 +1,9 @@
 package cc.mrbird.febs.video.controller;
 
+import cc.mrbird.febs.common.annotation.ControllerEndpoint;
 import cc.mrbird.febs.common.entity.FebsResponse;
 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.service.IVideoMasterInfoService;
@@ -13,6 +15,7 @@
 import io.swagger.annotations.ApiResponses;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.web.bind.annotation.*;
 
 /**
@@ -57,4 +60,11 @@
     public FebsResponse videoLike(@RequestBody ApiVideoLikeDto apiVideoLikeDto) {
         return videoMasterInfoService.videoLike(apiVideoLikeDto);
     }
+
+    @ApiOperation(value = "删除历史观看记录", notes = "删除历史观看记录")
+    @PostMapping(value = "/delVideoHistory")
+    public FebsResponse delVideoHistory(@RequestBody ApiVideoHistoryDto apiVideoHistoryDto) {
+        return videoMasterInfoService.delVideoHistory(apiVideoHistoryDto);
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/video/dto/ApiVideoHistoryDto.java b/src/main/java/cc/mrbird/febs/video/dto/ApiVideoHistoryDto.java
new file mode 100644
index 0000000..e43bf52
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/dto/ApiVideoHistoryDto.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.video.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiVideoHistoryDto", description = "接收参数类")
+public class ApiVideoHistoryDto {
+
+    @ApiModelProperty(value = "观看历史IDS", example = "1,2,3")
+    private String ids;
+}
diff --git a/src/main/java/cc/mrbird/febs/video/mapper/VideoCommentLikeMapper.java b/src/main/java/cc/mrbird/febs/video/mapper/VideoCommentLikeMapper.java
index 30058bf..6becc1d 100644
--- a/src/main/java/cc/mrbird/febs/video/mapper/VideoCommentLikeMapper.java
+++ b/src/main/java/cc/mrbird/febs/video/mapper/VideoCommentLikeMapper.java
@@ -2,9 +2,10 @@
 
 import cc.mrbird.febs.video.entity.VideoCommentLikeEntity;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 public interface VideoCommentLikeMapper extends BaseMapper<VideoCommentLikeEntity> {
 
-    VideoCommentLikeEntity selectCommentLikeByMemberIdAndRelateId(Long id, Long relateId);
+    VideoCommentLikeEntity selectCommentLikeByMemberIdAndRelateId(@Param("memberId")Long id, @Param("relateId")Long relateId);
 
 }
diff --git a/src/main/java/cc/mrbird/febs/video/mapper/VideoHistoryMapper.java b/src/main/java/cc/mrbird/febs/video/mapper/VideoHistoryMapper.java
new file mode 100644
index 0000000..65919a8
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/video/mapper/VideoHistoryMapper.java
@@ -0,0 +1,12 @@
+package cc.mrbird.febs.video.mapper;
+
+import cc.mrbird.febs.video.entity.VideoHistoryEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface VideoHistoryMapper extends BaseMapper<VideoHistoryEntity> {
+
+    int delVideoHistoryByIdsAndMemberId(@Param("list")List<String> idList, @Param("memberId")Long id);
+}
diff --git a/src/main/java/cc/mrbird/febs/video/service/IVideoMasterInfoService.java b/src/main/java/cc/mrbird/febs/video/service/IVideoMasterInfoService.java
index 30d4f03..95587b8 100644
--- a/src/main/java/cc/mrbird/febs/video/service/IVideoMasterInfoService.java
+++ b/src/main/java/cc/mrbird/febs/video/service/IVideoMasterInfoService.java
@@ -3,6 +3,7 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 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.VideoMasterInfoEntity;
@@ -32,5 +33,7 @@
     FebsResponse videoCollection(ApiVideoCollectionDto apiVideoCollectionDto);
 
     FebsResponse videoLike(ApiVideoLikeDto apiVideoLikeDto);
+
+    FebsResponse delVideoHistory(ApiVideoHistoryDto apiVideoHistoryDto);
 }
 
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 6dc4dd2..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
@@ -8,6 +8,7 @@
 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.*;
@@ -45,6 +46,7 @@
     private final VideoCollectionMapper videoCollectionMapper;
     private final VideoCommentInfoMapper videoCommentInfoMapper;
     private final VideoCommentLikeMapper videoCommentLikeMapper;
+    private final VideoHistoryMapper videoHistoryMapper;
     private final VideoMemberMapper videoMemberMapper;
 
     @Override
@@ -254,7 +256,7 @@
                 //点赞数-1
                 VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(relateId);
                 int starCnt = videoMasterDataEntity.getStarCnt();
-                videoMasterDataEntity.setCollectCnt((starCnt - 1) <= 0 ? 0:(starCnt - 1));
+                videoMasterDataEntity.setStarCnt((starCnt - 1) <= 0 ? 0:(starCnt - 1));
                 videoMasterDataMapper.updateById(videoMasterDataEntity);
                 return new FebsResponse().success().message("已取消点赞");
             }else if(2 == type){
@@ -277,10 +279,19 @@
             //点赞数+1
             VideoMasterDataEntity videoMasterDataEntity = videoMasterDataMapper.selectDataByMasterId(relateId);
             int starCnt = videoMasterDataEntity.getStarCnt();
-            videoMasterDataEntity.setCollectCnt((starCnt + 1) <= 0 ? 0:(starCnt + 1));
+            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("成功");
+    }
 }
diff --git a/src/main/resources/mapper/modules/VideoHistoryMapper.xml b/src/main/resources/mapper/modules/VideoHistoryMapper.xml
new file mode 100644
index 0000000..6a68928
--- /dev/null
+++ b/src/main/resources/mapper/modules/VideoHistoryMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cc.mrbird.febs.video.mapper.VideoHistoryMapper">
+
+
+    <delete id="delVideoHistoryByIdsAndMemberId">
+        delete from video_history
+        where member_id = #{memberId}
+          and id in
+        <foreach collection="list" item="item" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+    </delete>
+
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1