mirror of
https://github.com/201206030/novel-cloud.git
synced 2025-04-27 01:40:50 +00:00
修复部分分页接口的查询bug
This commit is contained in:
parent
57d0325e05
commit
45b4ce7b18
@ -3,6 +3,7 @@ package com.java2nb.novel.book.api;
|
||||
import com.java2nb.novel.book.entity.Book;
|
||||
import com.java2nb.novel.book.entity.BookComment;
|
||||
import com.java2nb.novel.book.vo.BookCommentVO;
|
||||
import com.java2nb.novel.common.bean.PageBean;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -70,7 +71,7 @@ public interface BookApi {
|
||||
* @return 评论数据
|
||||
* */
|
||||
@GetMapping("api/book/listUserCommentByPage")
|
||||
List<BookComment> listUserCommentByPage(@RequestParam("userId") Long userId,@RequestParam("page") int page, @RequestParam("pageSize") int pageSize);
|
||||
PageBean<BookComment> listUserCommentByPage(@RequestParam("userId") Long userId, @RequestParam("page") int page, @RequestParam("pageSize") int pageSize);
|
||||
|
||||
/**
|
||||
* 查询网络图片的小说
|
||||
|
@ -3,6 +3,7 @@ package com.java2nb.novel.book.api.fallback;
|
||||
import com.java2nb.novel.book.api.BookApi;
|
||||
import com.java2nb.novel.book.entity.Book;
|
||||
import com.java2nb.novel.book.entity.BookComment;
|
||||
import com.java2nb.novel.common.bean.PageBean;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@ -43,8 +44,8 @@ public class BookApiFallback implements BookApi {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BookComment> listUserCommentByPage(Long userId, int page, int pageSize) {
|
||||
return new ArrayList<>();
|
||||
public PageBean<BookComment> listUserCommentByPage(Long userId, int page, int pageSize) {
|
||||
return new PageBean<>(new ArrayList<>());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -107,7 +107,7 @@ public class BookController {
|
||||
@ApiOperation("书籍评论列表分页查询接口")
|
||||
@GetMapping("listCommentByPage")
|
||||
public ResultBean<List<BookCommentVO>> listCommentByPage(@ApiParam("小说ID") @RequestParam("bookId") Long bookId, @ApiParam("当前页码") @RequestParam(value = "curr", defaultValue = "1") int page, @ApiParam("分页大小") @RequestParam(value = "limit", defaultValue = "5") int pageSize) {
|
||||
return ResultBean.ok(new PageBean<>(bookService.listBookCommentByPage(bookId,page,pageSize)));
|
||||
return ResultBean.ok(bookService.listBookCommentByPage(bookId,page,pageSize));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -4,6 +4,7 @@ import com.java2nb.novel.book.entity.Book;
|
||||
import com.java2nb.novel.book.entity.BookComment;
|
||||
import com.java2nb.novel.book.service.BookService;
|
||||
import com.java2nb.novel.book.vo.BookCommentVO;
|
||||
import com.java2nb.novel.common.bean.PageBean;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
@ -89,7 +90,7 @@ public class BookApi {
|
||||
* @return 评论数据
|
||||
* */
|
||||
@GetMapping("listUserCommentByPage")
|
||||
List<BookComment> listUserCommentByPage(@RequestParam("userId") Long userId,@RequestParam("page") int page, @RequestParam("pageSize") int pageSize){
|
||||
PageBean<BookComment> listUserCommentByPage(@RequestParam("userId") Long userId, @RequestParam("page") int page, @RequestParam("pageSize") int pageSize){
|
||||
return bookService.listUserCommentByPage(userId,page,pageSize);
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,7 @@ package com.java2nb.novel.book.service;
|
||||
|
||||
import com.java2nb.novel.book.entity.*;
|
||||
import com.java2nb.novel.book.vo.BookCommentVO;
|
||||
import com.java2nb.novel.common.bean.PageBean;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@ -84,9 +85,9 @@ public interface BookService {
|
||||
* @param bookId 书籍ID
|
||||
* @param page 页码
|
||||
* @param pageSize 分页大小
|
||||
* @return 评论集合
|
||||
* @return 评论集合分页数据
|
||||
* */
|
||||
List<BookCommentVO> listBookCommentByPage( Long bookId, int page, int pageSize);
|
||||
PageBean<BookComment> listBookCommentByPage(Long bookId, int page, int pageSize);
|
||||
|
||||
/**
|
||||
* 查询目录列表
|
||||
@ -135,7 +136,7 @@ public interface BookService {
|
||||
* @param pageSize 分页大小
|
||||
* @return 评论数据
|
||||
* */
|
||||
List<BookComment> listUserCommentByPage(Long userId, int page, int pageSize);
|
||||
PageBean<BookComment> listUserCommentByPage(Long userId, int page, int pageSize);
|
||||
|
||||
/**
|
||||
* 查询网络图片的小说
|
||||
|
@ -6,6 +6,7 @@ import com.java2nb.novel.book.feign.UserFeignClient;
|
||||
import com.java2nb.novel.book.mapper.*;
|
||||
import com.java2nb.novel.book.service.BookService;
|
||||
import com.java2nb.novel.book.vo.BookCommentVO;
|
||||
import com.java2nb.novel.common.bean.PageBean;
|
||||
import com.java2nb.novel.common.enums.ResponseStatus;
|
||||
import com.java2nb.novel.common.exception.BusinessException;
|
||||
import com.java2nb.novel.common.utils.BeanUtil;
|
||||
@ -170,7 +171,7 @@ public class BookServiceImpl implements BookService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BookCommentVO> listBookCommentByPage(Long bookId, int page, int pageSize) {
|
||||
public PageBean<BookComment> listBookCommentByPage(Long bookId, int page, int pageSize) {
|
||||
//分页查询小说评论数据
|
||||
PageHelper.startPage(page, pageSize);
|
||||
List<BookComment> bookCommentList = bookCommentMapper.selectMany(
|
||||
@ -189,9 +190,9 @@ public class BookServiceImpl implements BookService {
|
||||
|
||||
Map<Long, User> userMap = users.stream().collect(Collectors.toMap(User::getId, Function.identity(), (key1, key2) -> key2));
|
||||
|
||||
//将评论数据和评论人数据关联起来
|
||||
//将评论数据和评论人数据关联起来 TODO 评论表增加用户相关的冗余字段,用户信息更新后用户服务通过mq发送message,其他服务消费message更新所有的冗余字段
|
||||
List<BookCommentVO> resultList = new ArrayList<>(bookCommentList.size());
|
||||
for (BookComment bookComment : bookCommentList) {
|
||||
bookCommentList.forEach(bookComment->{
|
||||
BookCommentVO bookCommentVO = new BookCommentVO();
|
||||
BeanUtils.copyProperties(bookComment, bookCommentVO);
|
||||
User user = userMap.get(bookComment.getCreateUserId());
|
||||
@ -200,9 +201,11 @@ public class BookServiceImpl implements BookService {
|
||||
bookCommentVO.setCreateUserPhoto(user.getUserPhoto());
|
||||
}
|
||||
resultList.add(bookCommentVO);
|
||||
}
|
||||
});
|
||||
PageBean<BookComment> pageBean = new PageBean<>(bookCommentList);
|
||||
pageBean.setList(resultList);
|
||||
|
||||
return resultList;
|
||||
return pageBean;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -308,9 +311,9 @@ public class BookServiceImpl implements BookService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BookComment> listUserCommentByPage(Long userId, int page, int pageSize) {
|
||||
public PageBean<BookComment> listUserCommentByPage(Long userId, int page, int pageSize) {
|
||||
PageHelper.startPage(page, pageSize);
|
||||
return bookCommentMapper.selectMany(
|
||||
return new PageBean<>(bookCommentMapper.selectMany(
|
||||
select(BookCommentDynamicSqlSupport.id, BookCommentDynamicSqlSupport.bookId,
|
||||
BookCommentDynamicSqlSupport.createUserId,
|
||||
BookCommentDynamicSqlSupport.commentContent, BookCommentDynamicSqlSupport.replyCount,
|
||||
@ -319,7 +322,7 @@ public class BookServiceImpl implements BookService {
|
||||
.where(BookCommentDynamicSqlSupport.createUserId, isEqualTo(userId))
|
||||
.orderBy(BookCommentDynamicSqlSupport.createTime.descending())
|
||||
.build()
|
||||
.render(RenderingStrategies.MYBATIS3));
|
||||
.render(RenderingStrategies.MYBATIS3)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -9,8 +9,8 @@ import java.util.List;
|
||||
/**
|
||||
* 分装通用分页数据,接收PageHelper、SpringData等框架的分页数据,转换成通用的PageBean对象
|
||||
* @author xiongxiaoyang
|
||||
* @version 1.0
|
||||
* @since 2020/5/23
|
||||
* @version 1.1
|
||||
* @since 2021/4/1
|
||||
* @param <T> 分页集合类型
|
||||
*/
|
||||
@Data
|
||||
@ -20,20 +20,18 @@ public class PageBean<T> {
|
||||
private Integer pageNum;
|
||||
@ApiModelProperty(value = "每页大小")
|
||||
private Integer pageSize;
|
||||
@ApiModelProperty(value = "总页数")
|
||||
private Integer totalPage;
|
||||
@ApiModelProperty(value = "总记录数")
|
||||
private Long total;
|
||||
@ApiModelProperty(value = "分页数据集合")
|
||||
private List<T> list;
|
||||
private List<? extends T> list;
|
||||
|
||||
|
||||
/**
|
||||
* 该构造函数用于PageHelper工具进行分页查询的场景
|
||||
* 接收PageHelper分页后的list
|
||||
*/
|
||||
public PageBean(List<T> list){
|
||||
PageInfo<T> pageInfo = new PageInfo<>(list);
|
||||
this.totalPage = pageInfo.getPages();
|
||||
this.pageNum = pageInfo.getPageNum();
|
||||
this.pageSize = pageInfo.getPageSize();
|
||||
this.total = pageInfo.getTotal();
|
||||
@ -41,4 +39,18 @@ public class PageBean<T> {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 该构造函数用于通用分页查询的场景
|
||||
* 接收普通分页数据和普通集合
|
||||
*/
|
||||
public PageBean(Integer pageNum, Integer pageSize, Long total, List<T> list) {
|
||||
this.pageNum = pageNum;
|
||||
this.pageSize = pageSize;
|
||||
this.total = total;
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
|
||||
//TODO 使用其他的分页工具或框架进行分页查询的场景
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,6 @@ package com.java2nb.novel.home.controller;
|
||||
|
||||
import com.java2nb.novel.book.entity.Book;
|
||||
import com.java2nb.novel.book.vo.BookVO;
|
||||
import com.java2nb.novel.common.bean.PageBean;
|
||||
import com.java2nb.novel.common.bean.ResultBean;
|
||||
import com.java2nb.novel.home.entity.HomeFriendLink;
|
||||
import com.java2nb.novel.home.service.HomeService;
|
||||
@ -10,10 +9,11 @@ import com.java2nb.novel.home.vo.HomeBookVO;
|
||||
import com.java2nb.novel.news.entity.News;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -210,11 +210,7 @@ public class SearchServiceImpl implements SearchService {
|
||||
}
|
||||
}
|
||||
|
||||
PageBean<EsBookVO> pageBean = new PageBean<>(bookList);
|
||||
pageBean.setTotal(total.longValue());
|
||||
pageBean.setPageNum(page);
|
||||
pageBean.setPageSize(pageSize);
|
||||
return pageBean;
|
||||
return new PageBean<>(page,pageSize,total.longValue(), bookList);
|
||||
}
|
||||
throw new BusinessException(ResponseStatus.ES_SEARCH_FAIL);
|
||||
}
|
||||
|
@ -161,7 +161,7 @@ public class UserController extends BaseController {
|
||||
if (userDetails == null) {
|
||||
return ResultBean.fail(ResponseStatus.NO_LOGIN);
|
||||
}
|
||||
return ResultBean.ok(new PageBean<>(userService.listBookShelfByPage(userDetails.getId(),page,pageSize)));
|
||||
return ResultBean.ok(userService.listBookShelfByPage(userDetails.getId(),page,pageSize));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -174,7 +174,7 @@ public class UserController extends BaseController {
|
||||
if (userDetails == null) {
|
||||
return ResultBean.fail(ResponseStatus.NO_LOGIN);
|
||||
}
|
||||
return ResultBean.ok(new PageBean<>(userService.listReadHistoryByPage(userDetails.getId(),page,pageSize)));
|
||||
return ResultBean.ok(userService.listReadHistoryByPage(userDetails.getId(),page,pageSize));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -215,7 +215,7 @@ public class UserController extends BaseController {
|
||||
if (userDetails == null) {
|
||||
return ResultBean.fail(ResponseStatus.NO_LOGIN);
|
||||
}
|
||||
return ResultBean.ok(new PageBean<>(userService.listUserFeedBackByPage(userDetails.getId(),page,pageSize)));
|
||||
return ResultBean.ok(userService.listUserFeedBackByPage(userDetails.getId(),page,pageSize));
|
||||
}
|
||||
|
||||
|
||||
@ -294,7 +294,7 @@ public class UserController extends BaseController {
|
||||
if (userDetails == null) {
|
||||
return ResultBean.fail(ResponseStatus.NO_LOGIN);
|
||||
}
|
||||
return ResultBean.ok(new PageBean<>(bookFeignClient.listUserCommentByPage(userDetails.getId(),page,pageSize)));
|
||||
return ResultBean.ok(bookFeignClient.listUserCommentByPage(userDetails.getId(),page,pageSize));
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,9 +1,12 @@
|
||||
package com.java2nb.novel.user.service;
|
||||
|
||||
|
||||
import com.java2nb.novel.common.bean.PageBean;
|
||||
import com.java2nb.novel.common.bean.UserDetails;
|
||||
import com.java2nb.novel.user.entity.User;
|
||||
import com.java2nb.novel.user.entity.UserBookshelf;
|
||||
import com.java2nb.novel.user.entity.UserFeedback;
|
||||
import com.java2nb.novel.user.entity.UserReadHistory;
|
||||
import com.java2nb.novel.user.vo.BookReadHistoryVO;
|
||||
import com.java2nb.novel.user.vo.BookShelfVO;
|
||||
|
||||
@ -82,9 +85,9 @@ public interface UserService {
|
||||
* @param userId 用户ID
|
||||
* @param page
|
||||
* @param pageSize
|
||||
* @return 书架集合
|
||||
* @return 书架分页集合
|
||||
*/
|
||||
List<BookShelfVO> listBookShelfByPage(Long userId, int page, int pageSize);
|
||||
PageBean<UserBookshelf> listBookShelfByPage(Long userId, int page, int pageSize);
|
||||
|
||||
/**
|
||||
* 分页查询阅读记录
|
||||
@ -94,7 +97,7 @@ public interface UserService {
|
||||
* @param pageSize 分页大小
|
||||
* @return
|
||||
*/
|
||||
List<BookReadHistoryVO> listReadHistoryByPage(Long userId, int page, int pageSize);
|
||||
PageBean<UserReadHistory> listReadHistoryByPage(Long userId, int page, int pageSize);
|
||||
|
||||
/**
|
||||
* 添加阅读记录
|
||||
@ -121,7 +124,7 @@ public interface UserService {
|
||||
* @param pageSize 分页大小
|
||||
* @return 反馈集合
|
||||
* */
|
||||
List<UserFeedback> listUserFeedBackByPage(Long userId, int page, int pageSize);
|
||||
PageBean<UserFeedback> listUserFeedBackByPage(Long userId, int page, int pageSize);
|
||||
|
||||
/**
|
||||
* 查询个人信息
|
||||
|
@ -2,6 +2,7 @@ package com.java2nb.novel.user.service.impl;
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.java2nb.novel.book.entity.Book;
|
||||
import com.java2nb.novel.common.bean.PageBean;
|
||||
import com.java2nb.novel.common.bean.UserDetails;
|
||||
import com.java2nb.novel.common.enums.ResponseStatus;
|
||||
import com.java2nb.novel.common.exception.BusinessException;
|
||||
@ -168,7 +169,7 @@ public class UserServiceImpl implements UserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BookShelfVO> listBookShelfByPage(Long userId, int page, int pageSize) {
|
||||
public PageBean<UserBookshelf> listBookShelfByPage(Long userId, int page, int pageSize) {
|
||||
PageHelper.startPage(page, pageSize);
|
||||
List<UserBookshelf> userBookshelves = userBookshelfMapper.selectMany(
|
||||
select(UserBookshelfDynamicSqlSupport.bookId, UserBookshelfDynamicSqlSupport.preContentId)
|
||||
@ -181,8 +182,9 @@ public class UserServiceImpl implements UserService {
|
||||
List<Book> books = bookFeignClient.queryBookByIds(userBookshelves.stream().map(UserBookshelf::getBookId).collect(Collectors.toList()));
|
||||
Map<Long, Book> booksById = books.stream().collect(Collectors.toMap(Book::getId, Function.identity(), (key1, key2) -> key2));
|
||||
|
||||
//TODO 书架表增加书籍相关的冗余字段,书籍信息更新后小说服务通过mq发送message,其他服务消费message更新所有的冗余字段
|
||||
List<BookShelfVO> resultList = new ArrayList<>(booksById.size());
|
||||
for (UserBookshelf bookshelf : userBookshelves) {
|
||||
userBookshelves.forEach(bookshelf->{
|
||||
BookShelfVO bookShelfVO = new BookShelfVO();
|
||||
BeanUtils.copyProperties(bookshelf, bookShelfVO);
|
||||
Book book = booksById.get(bookshelf.getBookId());
|
||||
@ -190,15 +192,15 @@ public class UserServiceImpl implements UserService {
|
||||
BeanUtils.copyProperties(book, bookShelfVO);
|
||||
resultList.add(bookShelfVO);
|
||||
}
|
||||
});
|
||||
PageBean<UserBookshelf> pageBean = new PageBean<>(userBookshelves);
|
||||
pageBean.setList(resultList);
|
||||
|
||||
}
|
||||
|
||||
|
||||
return resultList;
|
||||
return pageBean;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BookReadHistoryVO> listReadHistoryByPage(Long userId, int page, int pageSize) {
|
||||
public PageBean<UserReadHistory> listReadHistoryByPage(Long userId, int page, int pageSize) {
|
||||
PageHelper.startPage(page, pageSize);
|
||||
List<UserReadHistory> userReadHistories = userReadHistoryMapper.selectMany(
|
||||
select(UserReadHistoryDynamicSqlSupport.bookId, UserReadHistoryDynamicSqlSupport.preContentId)
|
||||
@ -213,7 +215,7 @@ public class UserServiceImpl implements UserService {
|
||||
Map<Long, Book> booksById = books.stream().collect(Collectors.toMap(Book::getId, Function.identity(), (key1, key2) -> key2));
|
||||
|
||||
List<BookReadHistoryVO> resultList = new ArrayList<>(booksById.size());
|
||||
for (UserReadHistory readHistory : userReadHistories) {
|
||||
userReadHistories.forEach(readHistory->{
|
||||
BookReadHistoryVO readHistoryVO = new BookReadHistoryVO();
|
||||
BeanUtils.copyProperties(readHistory, readHistoryVO);
|
||||
Book book = booksById.get(readHistory.getBookId());
|
||||
@ -221,11 +223,10 @@ public class UserServiceImpl implements UserService {
|
||||
BeanUtils.copyProperties(book, readHistoryVO);
|
||||
resultList.add(readHistoryVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
return resultList;
|
||||
});
|
||||
PageBean<UserReadHistory> pageBean = new PageBean(userReadHistories);
|
||||
pageBean.setList(resultList);
|
||||
return pageBean;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -278,14 +279,14 @@ public class UserServiceImpl implements UserService {
|
||||
|
||||
|
||||
@Override
|
||||
public List<UserFeedback> listUserFeedBackByPage(Long userId, int page, int pageSize) {
|
||||
public PageBean<UserFeedback> listUserFeedBackByPage(Long userId, int page, int pageSize) {
|
||||
PageHelper.startPage(page, pageSize);
|
||||
return userFeedbackMapper.selectMany(select(UserFeedbackDynamicSqlSupport.content, UserFeedbackDynamicSqlSupport.createTime)
|
||||
return new PageBean<>(userFeedbackMapper.selectMany(select(UserFeedbackDynamicSqlSupport.content, UserFeedbackDynamicSqlSupport.createTime)
|
||||
.from(UserFeedbackDynamicSqlSupport.userFeedback)
|
||||
.where(UserFeedbackDynamicSqlSupport.userId, isEqualTo(userId))
|
||||
.orderBy(UserFeedbackDynamicSqlSupport.id.descending())
|
||||
.build()
|
||||
.render(RenderingStrategies.MYBATIS3));
|
||||
.render(RenderingStrategies.MYBATIS3)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user