diff --git a/novel-crawl/src/main/java/com/java2nb/novel/core/listener/StarterListener.java b/novel-crawl/src/main/java/com/java2nb/novel/core/listener/StarterListener.java index c6bbd13..626b59a 100644 --- a/novel-crawl/src/main/java/com/java2nb/novel/core/listener/StarterListener.java +++ b/novel-crawl/src/main/java/com/java2nb/novel/core/listener/StarterListener.java @@ -51,7 +51,6 @@ public class StarterListener implements ServletContextListener { //解析小说基本信息 Book book = CrawlParser.parseBook(ruleBean, needUpdateBook.getCrawlBookId()); //这里只做老书更新 - book.setCrawlLastTime(currentDate); book.setId(needUpdateBook.getId()); book.setPicUrl(needUpdateBook.getPicUrl()); //查询已存在的章节 @@ -61,8 +60,6 @@ public class StarterListener implements ServletContextListener { bookService.updateBookAndIndexAndContent(book, (List) indexAndContentList.get(CrawlParser.BOOK_INDEX_LIST_KEY), (List) indexAndContentList.get(CrawlParser.BOOK_CONTENT_LIST_KEY),existBookIndexMap); }catch (Exception e){ log.error(e.getMessage(), e); - //解析异常中断,更新一下小说的最后解析时间 - bookService.updateCrawlLastTime(needUpdateBook.getId()); } } diff --git a/novel-crawl/src/main/java/com/java2nb/novel/mapper/CrawlBookMapper.java b/novel-crawl/src/main/java/com/java2nb/novel/mapper/CrawlBookMapper.java index 6911e63..e7cb590 100644 --- a/novel-crawl/src/main/java/com/java2nb/novel/mapper/CrawlBookMapper.java +++ b/novel-crawl/src/main/java/com/java2nb/novel/mapper/CrawlBookMapper.java @@ -25,4 +25,11 @@ public interface CrawlBookMapper extends BookMapper { * @return 小说总字数 * */ Integer queryTotalWordCount(@Param("bookId") Long bookId); + + /** + * 批量更新小说最后抓取时间 + * @param books 需要更新的小说集合 + * @param currentDate 当前时间 + * */ + void updateCrawlLastTime(@Param("books") List books,@Param("currentDate") Date currentDate); } diff --git a/novel-crawl/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java b/novel-crawl/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java index 0badbec..a8a34e5 100644 --- a/novel-crawl/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java +++ b/novel-crawl/src/main/java/com/java2nb/novel/service/impl/BookServiceImpl.java @@ -99,7 +99,12 @@ public class BookServiceImpl implements BookService { @Override public List queryNeedUpdateBook(Date startDate, int limit) { - return bookMapper.queryNeedUpdateBook(startDate, limit); + List books = bookMapper.queryNeedUpdateBook(startDate, limit); + if(books.size()>0) { + //更新最后抓取时间为当前时间 + bookMapper.updateCrawlLastTime(books, new Date()); + } + return books; } @Override diff --git a/novel-crawl/src/main/resources/mybatis/mapping/BookMapper.xml b/novel-crawl/src/main/resources/mybatis/mapping/BookMapper.xml index fcc5eda..a1b2e84 100644 --- a/novel-crawl/src/main/resources/mybatis/mapping/BookMapper.xml +++ b/novel-crawl/src/main/resources/mybatis/mapping/BookMapper.xml @@ -19,5 +19,13 @@ on t1.id = t2.book_id and t1.id = #{bookId} + + update book set crawl_last_time = #{currentDate} + where id in + + #{book.id} + + + \ No newline at end of file