mirror of
https://github.com/201206030/novel-plus.git
synced 2025-07-01 15:26:37 +00:00
171 lines
5.0 KiB
Java
171 lines
5.0 KiB
Java
package com.java2nb.novel.controller;
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.java2nb.novel.core.bean.ResultBean;
|
|
import com.java2nb.novel.core.bean.UserDetails;
|
|
import com.java2nb.novel.core.enums.ResponseStatus;
|
|
import com.java2nb.novel.entity.Book;
|
|
import com.java2nb.novel.entity.BookComment;
|
|
import com.java2nb.novel.entity.BookIndex;
|
|
import com.java2nb.novel.search.BookSP;
|
|
import com.java2nb.novel.service.BookService;
|
|
import com.java2nb.novel.vo.BookVO;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* @author 11797
|
|
*/
|
|
@RequestMapping("book")
|
|
@RestController
|
|
@Slf4j
|
|
@RequiredArgsConstructor
|
|
public class BookController extends BaseController{
|
|
|
|
private final BookService bookService;
|
|
|
|
|
|
/**
|
|
* 查询首页小说设置列表数据
|
|
* */
|
|
@PostMapping("listBookSetting")
|
|
public ResultBean listBookSetting(){
|
|
return ResultBean.ok(bookService.listBookSettingVO());
|
|
}
|
|
|
|
/**
|
|
* 查询首页点击榜单数据
|
|
* */
|
|
@PostMapping("listClickRank")
|
|
public ResultBean listClickRank(){
|
|
return ResultBean.ok(bookService.listClickRank());
|
|
}
|
|
|
|
/**
|
|
* 查询首页新书榜单数据
|
|
* */
|
|
@PostMapping("listNewRank")
|
|
public ResultBean listNewRank(){
|
|
return ResultBean.ok(bookService.listNewRank());
|
|
}
|
|
|
|
/**
|
|
* 查询首页更新榜单数据
|
|
* */
|
|
@PostMapping("listUpdateRank")
|
|
public ResultBean listUpdateRank(){
|
|
return ResultBean.ok(bookService.listUpdateRank());
|
|
}
|
|
|
|
/**
|
|
* 查询小说分类列表
|
|
* */
|
|
@PostMapping("listBookCategory")
|
|
public ResultBean listBookCategory(){
|
|
return ResultBean.ok(bookService.listBookCategory());
|
|
}
|
|
|
|
/**
|
|
* 分页搜索
|
|
* */
|
|
@PostMapping("searchByPage")
|
|
public ResultBean searchByPage(BookSP bookSP, @RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "20") int pageSize){
|
|
List<BookVO> books = bookService.searchByPage(bookSP,page,pageSize);
|
|
return ResultBean.ok(new PageInfo<>(books));
|
|
}
|
|
|
|
/**
|
|
* 查询小说详情信息
|
|
* */
|
|
@PostMapping("queryBookDetail")
|
|
public ResultBean queryBookDetail(Long id){
|
|
return ResultBean.ok(bookService.queryBookDetail(id));
|
|
}
|
|
|
|
|
|
/**
|
|
* 查询小说排行信息
|
|
* */
|
|
@PostMapping("listRank")
|
|
public ResultBean listRank(@RequestParam(value = "type",defaultValue = "0") Byte type,@RequestParam(value = "limit",defaultValue = "30") Integer limit){
|
|
return ResultBean.ok(bookService.listRank(type,limit));
|
|
}
|
|
|
|
/**
|
|
* 增加点击次数
|
|
* */
|
|
@PostMapping("addVisitCount")
|
|
public ResultBean addVisitCount(Long bookId){
|
|
bookService.addVisitCount(bookId);
|
|
return ResultBean.ok();
|
|
}
|
|
|
|
/**
|
|
* 查询章节相关信息
|
|
* */
|
|
@PostMapping("queryBookIndexAbout")
|
|
public ResultBean queryBookIndexAbout(Long bookId,Long lastBookIndexId) {
|
|
Map<String,Object> data = new HashMap<>(2);
|
|
data.put("bookIndexCount",bookService.queryIndexCount(bookId));
|
|
String lastBookContent = bookService.queryBookContent(lastBookIndexId).getContent();
|
|
if(lastBookContent.length()>42){
|
|
lastBookContent=lastBookContent.substring(0,42);
|
|
}
|
|
data.put("lastBookContent",lastBookContent);
|
|
return ResultBean.ok(data);
|
|
}
|
|
|
|
/**
|
|
* 根据分类id查询同类推荐书籍
|
|
* */
|
|
@PostMapping("listRecBookByCatId")
|
|
public ResultBean listRecBookByCatId(Integer catId) {
|
|
return ResultBean.ok(bookService.listRecBookByCatId(catId));
|
|
}
|
|
|
|
|
|
/**
|
|
*分页查询书籍评论列表
|
|
* */
|
|
@PostMapping("listCommentByPage")
|
|
public ResultBean listCommentByPage(@RequestParam("bookId") Long bookId,@RequestParam(value = "curr", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "5") int pageSize) {
|
|
return ResultBean.ok(new PageInfo<>(bookService.listCommentByPage(null,bookId,page,pageSize)));
|
|
}
|
|
|
|
/**
|
|
* 新增评价
|
|
* */
|
|
@PostMapping("addBookComment")
|
|
public ResultBean addBookComment(BookComment comment, HttpServletRequest request) {
|
|
UserDetails userDetails = getUserDetails(request);
|
|
if (userDetails == null) {
|
|
return ResultBean.fail(ResponseStatus.NO_LOGIN);
|
|
}
|
|
bookService.addBookComment(userDetails.getId(),comment);
|
|
return ResultBean.ok();
|
|
}
|
|
|
|
/**
|
|
* 根据小说ID查询小说前十条最新更新目录集合
|
|
* */
|
|
@PostMapping("queryNewIndexList")
|
|
public ResultBean queryNewIndexList(Long bookId){
|
|
return ResultBean.ok(bookService.queryIndexList(bookId,"index_num desc",10));
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|