修复部分分页接口的查询bug

This commit is contained in:
xiaoyang
2021-04-01 21:51:30 +08:00
parent 57d0325e05
commit 45b4ce7b18
12 changed files with 73 additions and 54 deletions

View File

@@ -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));
}

View File

@@ -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);
/**
* 查询个人信息

View File

@@ -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