From c3c6bbcd290da994c152495723c75a869185660f Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Fri, 17 Dec 2021 20:24:27 +0800 Subject: [PATCH] fix --- src/main/resources/mapper/modules/VideoHistoryMapper.xml | 3 +++ src/main/java/cc/mrbird/febs/video/mapper/VideoHistoryMapper.java | 2 ++ src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterInfoServiceImpl.java | 16 +++++++++++----- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/video/mapper/VideoHistoryMapper.java b/src/main/java/cc/mrbird/febs/video/mapper/VideoHistoryMapper.java index 65919a8..a133fbb 100644 --- a/src/main/java/cc/mrbird/febs/video/mapper/VideoHistoryMapper.java +++ b/src/main/java/cc/mrbird/febs/video/mapper/VideoHistoryMapper.java @@ -9,4 +9,6 @@ public interface VideoHistoryMapper extends BaseMapper<VideoHistoryEntity> { int delVideoHistoryByIdsAndMemberId(@Param("list")List<String> idList, @Param("memberId")Long id); + + VideoHistoryEntity selectByMemberIdAndVideoId(@Param("memberId") Long memberId, @Param("videoId") Long videoId); } 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 d0c217f..fcef6c5 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 @@ -223,11 +223,17 @@ videoInfoVo.setTimeLength(currentItem.getTimeLength()); if (loginUser != null) { - VideoHistoryEntity history = new VideoHistoryEntity(); - history.setVideoId(videoInfoEntity.getId()); - history.setMemberId(loginUser.getId()); - history.setVideoItemId(currentItem.getId()); - this.videoHistoryMapper.insert(history); + 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()); + this.videoHistoryMapper.insert(history); + } else { + history.setVideoItemId(currentItem.getId()); + this.videoHistoryMapper.updateById(history); + } } return videoInfoVo; diff --git a/src/main/resources/mapper/modules/VideoHistoryMapper.xml b/src/main/resources/mapper/modules/VideoHistoryMapper.xml index 6a68928..151c0fe 100644 --- a/src/main/resources/mapper/modules/VideoHistoryMapper.xml +++ b/src/main/resources/mapper/modules/VideoHistoryMapper.xml @@ -13,4 +13,7 @@ </delete> + <select id="selectByMemberIdAndVideoId" resultType="cc.mrbird.febs.video.entity.VideoHistoryEntity"> + select * from video_history where member_id=#{memberId} and video_id=#{videoId} + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1