@Transactional public List<ReadingHistory> getUserReadingHistorys(User user) { List<ReadingHistory> list = new ArrayList<ReadingHistory>(); if (user != null) { int effectRows = this.rhDao.deleteReadingHistoryBooksByUserid(user.getUserid()); // 清除历史数据成功 if (effectRows >= 1) { log.info("清除用户:" + user.getUsername() + "历史阅读数据"); } // 不管取到有没有值,都会返回list的实例对象,只不过有可能是空的 list = rhDao.findReadingHistoryBookByUserid(user.getUserid()); } return list; }
@Service public class ReadingHistoryService implements Serializable { /** */ private static final long serialVersionUID = -5349990569168253452L; private static Logger log = Logger.getLogger(ReadingHistoryService.class); @Resource private ReadingHistoryDao rhDao; @Resource private BookDao bookDao; @Transactional public List<ReadingHistory> getUserReadingHistorys(User user) { List<ReadingHistory> list = new ArrayList<ReadingHistory>(); if (user != null) { int effectRows = this.rhDao.deleteReadingHistoryBooksByUserid(user.getUserid()); // 清除历史数据成功 if (effectRows >= 1) { log.info("清除用户:" + user.getUsername() + "历史阅读数据"); } // 不管取到有没有值,都会返回list的实例对象,只不过有可能是空的 list = rhDao.findReadingHistoryBookByUserid(user.getUserid()); } return list; } @Transactional public List<Book> getUserBooks(User user) { List<Book> books = new ArrayList<Book>(); if (user == null) { return books; } List<ReadingHistory> list = this.getUserReadingHistorys(user); for (ReadingHistory r : list) { books.add(this.bookDao.findBookByBookid(r.getBookid())); } return books; } @Transactional public List<ReadingHistoryBook> getUserReadingHistoryBooks(User user) { List<ReadingHistoryBook> readHistoryBooks = new ArrayList<ReadingHistoryBook>(); if (user == null) { return readHistoryBooks; } List<ReadingHistory> list = this.getUserReadingHistorys(user); for (ReadingHistory r : list) { ReadingHistoryBook rhBook = new ReadingHistoryBook(); Book b = this.bookDao.findBookByBookid(r.getBookid()); rhBook.setBook(b); rhBook.setReadingHistory(r); readHistoryBooks.add(rhBook); } return readHistoryBooks; } @Transactional public int addReadingHistoryBook(ReadingHistory readingHistory) { if (readingHistory == null) { return 0; } return this.rhDao.insertReadingHistoryBook(readingHistory); } public int getReadingHistoryCount(String userid, String bookid) { return this.rhDao.findAllReadCount(userid, bookid); } }