From 63bfacccb783cb8b841da5db02477fd4badb7e35 Mon Sep 17 00:00:00 2001 From: xiongxiaoyang <773861846@qq.com> Date: Sun, 15 May 2022 21:40:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=B0=8F=E8=AF=B4?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E9=87=8F=E5=A2=9E=E5=8A=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../novel/controller/front/BookController.java | 13 +++++++++---- .../xxyopen/novel/dao/mapper/BookInfoMapper.java | 7 +++++++ .../github/xxyopen/novel/service/BookService.java | 5 +++++ .../xxyopen/novel/service/impl/BookServiceImpl.java | 9 +++++++++ src/main/resources/mapper/BookInfoMapper.xml | 6 ++++++ 5 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/xxyopen/novel/controller/front/BookController.java b/src/main/java/io/github/xxyopen/novel/controller/front/BookController.java index 8b78873..9b1b48f 100644 --- a/src/main/java/io/github/xxyopen/novel/controller/front/BookController.java +++ b/src/main/java/io/github/xxyopen/novel/controller/front/BookController.java @@ -8,10 +8,7 @@ import io.github.xxyopen.novel.dto.resp.BookInfoRespDto; import io.github.xxyopen.novel.dto.resp.BookRankRespDto; import io.github.xxyopen.novel.service.BookService; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.security.NoSuchAlgorithmException; import java.util.List; @@ -37,6 +34,14 @@ public class BookController { return bookService.getBookById(bookId); } + /** + * 增加小说点击量接口 + * */ + @PostMapping("visit") + public RestResp addVisitCount(Long bookId){ + return bookService.addVisitCount(bookId); + } + /** * 小说最新章节相关信息查询接口 * */ diff --git a/src/main/java/io/github/xxyopen/novel/dao/mapper/BookInfoMapper.java b/src/main/java/io/github/xxyopen/novel/dao/mapper/BookInfoMapper.java index 69cd7ef..3b587c0 100644 --- a/src/main/java/io/github/xxyopen/novel/dao/mapper/BookInfoMapper.java +++ b/src/main/java/io/github/xxyopen/novel/dao/mapper/BookInfoMapper.java @@ -2,6 +2,7 @@ package io.github.xxyopen.novel.dao.mapper; import io.github.xxyopen.novel.dao.entity.BookInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -13,4 +14,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface BookInfoMapper extends BaseMapper { + /** + * 增加小说点击量 + * + * @param bookId 小说ID + */ + void addVisitCount(@Param("bookId") Long bookId); } diff --git a/src/main/java/io/github/xxyopen/novel/service/BookService.java b/src/main/java/io/github/xxyopen/novel/service/BookService.java index 7327966..bb1f07f 100644 --- a/src/main/java/io/github/xxyopen/novel/service/BookService.java +++ b/src/main/java/io/github/xxyopen/novel/service/BookService.java @@ -51,4 +51,9 @@ public interface BookService { * 小说推荐列表查询 * */ RestResp> listRecBooks(Long bookId) throws NoSuchAlgorithmException; + + /** + * 增加小说点击量 + * */ + RestResp addVisitCount(Long bookId); } diff --git a/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java b/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java index c7cb4ac..adbe05a 100644 --- a/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java +++ b/src/main/java/io/github/xxyopen/novel/service/impl/BookServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.github.xxyopen.novel.core.common.resp.RestResp; import io.github.xxyopen.novel.dao.entity.BookChapter; import io.github.xxyopen.novel.dao.mapper.BookChapterMapper; +import io.github.xxyopen.novel.dao.mapper.BookInfoMapper; import io.github.xxyopen.novel.dto.resp.*; import io.github.xxyopen.novel.manager.BookChapterCacheManager; import io.github.xxyopen.novel.manager.BookContentCacheManager; @@ -39,6 +40,8 @@ public class BookServiceImpl implements BookService { private final BookContentCacheManager bookContentCacheManager; + private final BookInfoMapper bookInfoMapper; + private final BookChapterMapper bookChapterMapper; private static final Integer REC_BOOK_COUNT = 4; @@ -108,6 +111,12 @@ public class BookServiceImpl implements BookService { return RestResp.ok(respDtoList); } + @Override + public RestResp addVisitCount(Long bookId) { + bookInfoMapper.addVisitCount(bookId); + return RestResp.ok(); + } + @Override public RestResp getBookContentAbout(Long chapterId) { // 查询章节信息 diff --git a/src/main/resources/mapper/BookInfoMapper.xml b/src/main/resources/mapper/BookInfoMapper.xml index 171b1fa..d1b6cca 100644 --- a/src/main/resources/mapper/BookInfoMapper.xml +++ b/src/main/resources/mapper/BookInfoMapper.xml @@ -2,4 +2,10 @@ + + update book_info + set visit_count = visit_count + 1 + where id = #{bookId} + +