代码结构调整,数据库无效数据定时清理

This commit is contained in:
xiongxiaoyang
2019-12-11 14:23:30 +08:00
parent 3dcabd3cf3
commit be3cf1bb91
20 changed files with 99 additions and 27 deletions

View File

@ -30,4 +30,9 @@ public interface BookContentMapper {
int updateByPrimaryKey(BookContent record);
void insertBatch(List<BookContent> bookContent);
/**
* 清除无效内容
* */
void clearInvilidContent();
}

View File

@ -33,7 +33,10 @@ public interface BookIndexMapper {
void insertBatch(List<BookIndex> bookIndex);
String queryNewstIndexName(@Param("bookId") Long bookId);
/**
* 清除无效章节
* */
void clearInvilidIndex();
}

View File

@ -36,10 +36,14 @@ public interface BookMapper {
void addVisitCount(@Param("bookId") Long bookId);
List<String> queryEndBookIdList();
/**
* 查询推荐书籍数据
* */
List<Book> queryRecBooks(List<Map<String, String>> configMap);
/**
* 清理无效书籍(1个月前更新的无章节书籍)
* */
void clearInvilidBook();
}

View File

@ -15,11 +15,11 @@ import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.orderbyhelper.OrderByHelper;
import xyz.zinglizingli.books.constant.CacheKeyConstans;
import xyz.zinglizingli.books.enums.PicSaveType;
import xyz.zinglizingli.common.constant.CacheKeyConstans;
import xyz.zinglizingli.common.enums.PicSaveType;
import xyz.zinglizingli.books.mapper.*;
import xyz.zinglizingli.books.po.*;
import xyz.zinglizingli.books.util.UUIDUtils;
import xyz.zinglizingli.common.utils.UUIDUtils;
import xyz.zinglizingli.common.cache.CommonCacheUtil;
import xyz.zinglizingli.common.utils.RestTemplateUtil;
@ -536,4 +536,19 @@ public class BookService {
public List<Book> queryRecBooks(List<Map<String, String>> configMap) {
return bookMapper.queryRecBooks(configMap);
}
/**
* 清理数据库中无效数据
* */
public void clearInvilidData() {
//清除无效内容
bookContentMapper.clearInvilidContent();
//清除无效章节
bookIndexMapper.clearInvilidIndex();
//清楚无效书籍
bookMapper.clearInvilidBook();
}
}

View File

@ -9,7 +9,7 @@ import xyz.zinglizingli.books.po.User;
import xyz.zinglizingli.books.po.UserExample;
import xyz.zinglizingli.books.po.UserRefBook;
import xyz.zinglizingli.books.po.UserRefBookExample;
import xyz.zinglizingli.books.util.MD5Util;
import xyz.zinglizingli.common.utils.MD5Util;
import java.util.List;

View File

@ -2,16 +2,14 @@ package xyz.zinglizingli.books.web;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import xyz.zinglizingli.books.po.User;
import xyz.zinglizingli.books.service.BookService;
import xyz.zinglizingli.books.service.UserService;
import xyz.zinglizingli.books.util.UUIDUtils;
import xyz.zinglizingli.common.utils.UUIDUtils;
import xyz.zinglizingli.common.cache.CommonCacheUtil;
import java.util.*;

View File

@ -1,4 +1,4 @@
package xyz.zinglizingli.books.constant;
package xyz.zinglizingli.common.constant;
public class CacheKeyConstans {
public static final String HOT_BOOK_LIST_KEY = "hotBookListKey";

View File

@ -1,4 +1,4 @@
package xyz.zinglizingli.books.enums;
package xyz.zinglizingli.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;

View File

@ -0,0 +1,33 @@
package xyz.zinglizingli.common.schedule;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import xyz.zinglizingli.books.service.BookService;
/**
* 清理数据库中无效数据
*
* @author 11797*/
@Service
@RequiredArgsConstructor
@Slf4j
public class ClearInvilidDataSchedule {
private final BookService bookService;
/**
* 每天凌晨两点清理一次
*/
@Scheduled(cron = "0 0 2 * * ?")
public void clear() {
log.debug("ClearInvilidDataSchedule。。。。。。。。。。。。");
bookService.clearInvilidData();
}
}

View File

@ -13,7 +13,7 @@ import xyz.zinglizingli.books.po.Book;
import xyz.zinglizingli.books.po.BookContent;
import xyz.zinglizingli.books.po.BookIndex;
import xyz.zinglizingli.books.service.BookService;
import xyz.zinglizingli.books.util.ExcutorUtils;
import xyz.zinglizingli.common.utils.ExcutorUtils;
import xyz.zinglizingli.common.utils.RestTemplateUtil;
import java.text.SimpleDateFormat;
@ -88,7 +88,6 @@ public class CrawlBooksSchedule {
Pattern pattern = compile("value=\"(\\d+)/(\\d+)\"");
Matcher matcher = pattern.matcher(forObject);
boolean isFind = matcher.find();
System.out.println("匹配分页数" + isFind);
if (isFind) {
//解析第一页书籍的数据
Pattern bookPatten = compile("href=\"/(\\d+_\\d+)/\"");
@ -283,7 +282,6 @@ public class CrawlBooksSchedule {
Pattern pattern = compile("value=\"(\\d+)/(\\d+)\"");
Matcher matcher = pattern.matcher(forObject);
boolean isFind = matcher.find();
System.out.println("匹配分页数" + isFind);
if (isFind) {
//解析第一页书籍的数据
Pattern bookPatten = compile("href=\"/(bqge\\d+)/\"");

View File

@ -1,4 +1,4 @@
package xyz.zinglizingli.books.util;
package xyz.zinglizingli.common.utils;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

View File

@ -1,4 +1,4 @@
package xyz.zinglizingli.books.util;
package xyz.zinglizingli.common.utils;
import java.security.MessageDigest;

View File

@ -1,4 +1,4 @@
package xyz.zinglizingli.books.util;
package xyz.zinglizingli.common.utils;

View File

@ -1,4 +1,4 @@
package xyz.zinglizingli.books.util;
package xyz.zinglizingli.common.utils;
import java.util.UUID;

View File

@ -2,11 +2,10 @@ package xyz.zinglizingli.common.web;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import xyz.zinglizingli.books.constant.CacheKeyConstans;
import xyz.zinglizingli.common.constant.CacheKeyConstans;
import xyz.zinglizingli.books.po.Book;
import xyz.zinglizingli.books.service.BookService;
import xyz.zinglizingli.common.cache.CommonCacheUtil;