From 5ab44111fc3e87e43e1cab5fc91a2d7e74d68172 Mon Sep 17 00:00:00 2001 From: tamguo Date: Sun, 5 Aug 2018 18:12:19 +0800 Subject: [PATCH] fix bug --- .../java/com/tamguo/model/CourseEntity.java | 44 +++------------- .../java/com/tamguo/model/vo/QuestionVo.java | 2 +- .../tamguo/service/impl/QuestionService.java | 50 ++++++++++++------- .../src/main/resources/application.properties | 2 +- .../mappers/CrawlerQuestionMapper.xml | 2 +- .../tamguo/web/tiku/QuestionContrller.java | 2 +- 6 files changed, 43 insertions(+), 59 deletions(-) diff --git a/tamguo-crawler/src/main/java/com/tamguo/model/CourseEntity.java b/tamguo-crawler/src/main/java/com/tamguo/model/CourseEntity.java index aa70084..f72b315 100644 --- a/tamguo-crawler/src/main/java/com/tamguo/model/CourseEntity.java +++ b/tamguo-crawler/src/main/java/com/tamguo/model/CourseEntity.java @@ -20,13 +20,8 @@ public class CourseEntity extends SuperEntity implements Serializa private Integer questionNum; - private Integer orders; + private Integer sort; - private String seoTitle; - - private String seoKeywords; - - private String seoDescription; public CourseEntity() { } @@ -63,40 +58,15 @@ public class CourseEntity extends SuperEntity implements Serializa this.pointNum = pointNum; } - public Integer getOrders() { - return orders; - } - - public void setOrders(Integer orders) { - this.orders = orders; - } - - - public String getSeoTitle() { - return seoTitle; - } - - public void setSeoTitle(String seoTitle) { - this.seoTitle = seoTitle; - } - - public String getSeoKeywords() { - return seoKeywords; - } - - public void setSeoKeywords(String seoKeywords) { - this.seoKeywords = seoKeywords; - } - - public String getSeoDescription() { - return seoDescription; + public static long getSerialversionuid() { + return serialVersionUID; } - public void setSeoDescription(String seoDescription) { - this.seoDescription = seoDescription; + public Integer getSort() { + return sort; } - public static long getSerialversionuid() { - return serialVersionUID; + public void setSort(Integer sort) { + this.sort = sort; } } \ No newline at end of file diff --git a/tamguo-crawler/src/main/java/com/tamguo/model/vo/QuestionVo.java b/tamguo-crawler/src/main/java/com/tamguo/model/vo/QuestionVo.java index adbbb38..ae10c6f 100644 --- a/tamguo-crawler/src/main/java/com/tamguo/model/vo/QuestionVo.java +++ b/tamguo-crawler/src/main/java/com/tamguo/model/vo/QuestionVo.java @@ -11,7 +11,7 @@ public class QuestionVo { @PageFieldSelect(cssQuery=".question-box-inner .questem-inner", selectType = XxlCrawlerConf.SelectType.HTML) private String content; - @PageFieldSelect(cssQuery = ".question-box-inner .questem-inner img", selectType = XxlCrawlerConf.SelectType.ATTR, selectVal = "abs:src") + @PageFieldSelect(cssQuery = ".question-box-inner img", selectType = XxlCrawlerConf.SelectType.ATTR, selectVal = "abs:src") private List contentImages; @PageFieldSelect(cssQuery=".que-options", selectType = XxlCrawlerConf.SelectType.HTML) diff --git a/tamguo-crawler/src/main/java/com/tamguo/service/impl/QuestionService.java b/tamguo-crawler/src/main/java/com/tamguo/service/impl/QuestionService.java index dc46dab..5059532 100644 --- a/tamguo-crawler/src/main/java/com/tamguo/service/impl/QuestionService.java +++ b/tamguo-crawler/src/main/java/com/tamguo/service/impl/QuestionService.java @@ -51,8 +51,8 @@ public class QuestionService implements IQuestionService{ SubjectMapper subjectMapper; @Autowired CacheService cacheService; - private static final String FILES_NO_FORMAT = "000000"; - private static final String FILES_PREFIX = "FPIMAGE"; + private static final String FILES_NO_FORMAT = "000000000"; + private static final String FILES_PREFIX = "likeshuxue"; private static final String DOMAIN = "http://www.tamguo.com"; private RunData runData; @@ -75,6 +75,7 @@ public class QuestionService implements IQuestionService{ } CrawlerQuestionEntity condition = new CrawlerQuestionEntity(); condition.setQuestionUrl(html.baseUri()); + System.out.println(html.baseUri()); CrawlerQuestionEntity crawlerQuestion = crawlerQuestionMapper.selectOne(condition); ChapterEntity chapter = chapterMapper.selectById(crawlerQuestion.getChapterId()); CourseEntity course = courseMapper.selectById(chapter.getCourseId()); @@ -94,7 +95,7 @@ public class QuestionService implements IQuestionService{ question.setContent(questionVo.getContent()); } question.setAnalysis(questionVo.getAnalysis()); - if(StringUtils.isEmpty(question.getAnswer())) { + if(StringUtils.isEmpty(question.getAnalysis())) { question.setAnalysis("


"); } question.setAnswer(questionVo.getAnswer()); @@ -128,16 +129,19 @@ public class QuestionService implements IQuestionService{ // 下载图片文件 String fileName = getFileName(img); - File dir = new File(getFilePath()); + String filePath = getFilePath(); + String fileDatePath = getFileDatePath(); + + File dir = new File(filePath +fileDatePath+ "/"); if (!dir.exists()) dir.mkdirs(); - boolean ret = FileUtil.downFile(img, XxlCrawlerConf.TIMEOUT_MILLIS_DEFAULT, getFilePath(), fileName); + boolean ret = FileUtil.downFile(img, XxlCrawlerConf.TIMEOUT_MILLIS_DEFAULT, filePath +fileDatePath+ "/", fileName); System.out.println("down images " + (ret?"success":"fail") + ":" + img); // 替换URL - questionVo.setAnswer(questionVo.getAnswer().replace(img, DOMAIN + getFilePath() + fileName)); + question.setAnswer(question.getAnswer().replace(img, DOMAIN + "/files/question/" + fileDatePath + "/" + fileName)); } - question.setAnswer(questionVo.getAnswer()); + question.setAnswer(question.getAnswer()); } if (questionVo.getAnalysisImages()!=null && questionVo.getAnalysisImages().size() > 0) { @@ -146,16 +150,19 @@ public class QuestionService implements IQuestionService{ // 下载图片文件 String fileName = getFileName(img); - File dir = new File(getFilePath()); + String filePath = getFilePath(); + String fileDatePath = getFileDatePath(); + + File dir = new File(filePath +fileDatePath+ "/"); if (!dir.exists()) dir.mkdirs(); - boolean ret = FileUtil.downFile(img, XxlCrawlerConf.TIMEOUT_MILLIS_DEFAULT, getFilePath(), fileName); + boolean ret = FileUtil.downFile(img, XxlCrawlerConf.TIMEOUT_MILLIS_DEFAULT, filePath +fileDatePath+ "/", fileName); System.out.println("down images " + (ret?"success":"fail") + ":" + img); // 替换URL - questionVo.setAnalysis(questionVo.getAnalysis().replace(img, DOMAIN + getFilePath() + fileName)); + question.setAnalysis(question.getAnalysis().replace(img, DOMAIN + "/files/question/" + fileDatePath + "/" + fileName)); } - question.setAnalysis(questionVo.getAnalysis()); + question.setAnalysis(question.getAnalysis()); } if (questionVo.getContentImages()!=null && questionVo.getContentImages().size() > 0) { @@ -164,16 +171,19 @@ public class QuestionService implements IQuestionService{ // 下载图片文件 String fileName = getFileName(img); - File dir = new File(getFilePath()); - if (!dir.exists()) + String filePath = getFilePath(); + String fileDatePath = getFileDatePath(); + File dir = new File(filePath +fileDatePath+ "/"); + if (!dir.exists()) { dir.mkdirs(); - boolean ret = FileUtil.downFile(img, XxlCrawlerConf.TIMEOUT_MILLIS_DEFAULT, getFilePath(), fileName); + } + boolean ret = FileUtil.downFile(img, XxlCrawlerConf.TIMEOUT_MILLIS_DEFAULT, filePath +fileDatePath+ "/", fileName); System.out.println("down images " + (ret?"success":"fail") + ":" + img); // 替换URL - questionVo.setContent(questionVo.getContent().replace(img, DOMAIN + getFilePath() + fileName)); + question.setContent(question.getContent().replace(img, DOMAIN + "/files/question/" + fileDatePath + "/" + fileName)); } - question.setContent(questionVo.getContent()); + question.setContent(question.getContent()); } @@ -188,9 +198,13 @@ public class QuestionService implements IQuestionService{ } private String getFilePath() { + return "/home/webdata/files/question/"; + } + + private String getFileDatePath() { SimpleDateFormat sdf = new SimpleDateFormat("ddHHmm"); String format = sdf.format(new Date()); - return "/images/question/" + format + "/"; + return format; } private String getFileNo() { @@ -214,7 +228,7 @@ public class QuestionService implements IQuestionService{ runData.addUrl(questionList.get(i).getQuestionUrl()); } page++; - if(questionList.size() < 100) { + if(questionList.size() < 1000) { break; } } diff --git a/tamguo-crawler/src/main/resources/application.properties b/tamguo-crawler/src/main/resources/application.properties index 42c4a05..e9b8cc9 100644 --- a/tamguo-crawler/src/main/resources/application.properties +++ b/tamguo-crawler/src/main/resources/application.properties @@ -1,4 +1,4 @@ -domain.name=http://www.tamguo.com/ +domain.name=http://localhost:8081/ spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.filters=stat,wall,log4j diff --git a/tamguo-crawler/src/main/resources/mappers/CrawlerQuestionMapper.xml b/tamguo-crawler/src/main/resources/mappers/CrawlerQuestionMapper.xml index 2d073e6..921a6df 100644 --- a/tamguo-crawler/src/main/resources/mappers/CrawlerQuestionMapper.xml +++ b/tamguo-crawler/src/main/resources/mappers/CrawlerQuestionMapper.xml @@ -3,6 +3,6 @@ \ No newline at end of file diff --git a/tamguo-tms/src/main/java/com/tamguo/web/tiku/QuestionContrller.java b/tamguo-tms/src/main/java/com/tamguo/web/tiku/QuestionContrller.java index fe02fa8..45b23d0 100644 --- a/tamguo-tms/src/main/java/com/tamguo/web/tiku/QuestionContrller.java +++ b/tamguo-tms/src/main/java/com/tamguo/web/tiku/QuestionContrller.java @@ -81,7 +81,7 @@ public class QuestionContrller { model.addObject("question", question); // 推荐试题 - model.addObject("featuredQuestionList", iQuestionService.selectList(Condition.create().eq("subject_id", question.getSubjectId()).eq("course_id", question.getCourseId()))); + model.addObject("featuredQuestionList", iQuestionService.selectPage(new Page<>(1, 3), Condition.create().eq("subject_id", question.getSubjectId()).eq("course_id", question.getCourseId())).getRecords()); return model; } catch (Exception e) { model.setViewName("404");