|
|
@ -1,41 +1,32 @@
|
|
|
|
package com.tamguo.service.impl;
|
|
|
|
package com.tamguo.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
import org.jsoup.nodes.Document;
|
|
|
|
|
|
|
|
import org.jsoup.nodes.Element;
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.plugins.Page;
|
|
|
|
import com.baomidou.mybatisplus.plugins.Page;
|
|
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
|
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
|
|
|
import com.tamguo.config.redis.CacheService;
|
|
|
|
import com.tamguo.config.redis.CacheService;
|
|
|
|
import com.tamguo.dao.ChapterMapper;
|
|
|
|
import com.tamguo.dao.*;
|
|
|
|
import com.tamguo.dao.CourseMapper;
|
|
|
|
import com.tamguo.model.*;
|
|
|
|
import com.tamguo.dao.CrawlerQuestionMapper;
|
|
|
|
|
|
|
|
import com.tamguo.dao.QuestionMapper;
|
|
|
|
|
|
|
|
import com.tamguo.dao.SubjectMapper;
|
|
|
|
|
|
|
|
import com.tamguo.model.ChapterEntity;
|
|
|
|
|
|
|
|
import com.tamguo.model.CourseEntity;
|
|
|
|
|
|
|
|
import com.tamguo.model.CrawlerQuestionEntity;
|
|
|
|
|
|
|
|
import com.tamguo.model.QuestionEntity;
|
|
|
|
|
|
|
|
import com.tamguo.model.SubjectEntity;
|
|
|
|
|
|
|
|
import com.tamguo.model.enums.QuestionType;
|
|
|
|
import com.tamguo.model.enums.QuestionType;
|
|
|
|
import com.tamguo.model.vo.QuestionVo;
|
|
|
|
import com.tamguo.model.vo.QuestionVo;
|
|
|
|
import com.tamguo.service.IQuestionService;
|
|
|
|
import com.tamguo.service.IQuestionService;
|
|
|
|
import com.xuxueli.crawler.XxlCrawler;
|
|
|
|
import com.xuxueli.crawler.XxlCrawler;
|
|
|
|
import com.xuxueli.crawler.conf.XxlCrawlerConf;
|
|
|
|
import com.xuxueli.crawler.conf.XxlCrawlerConf;
|
|
|
|
|
|
|
|
import com.xuxueli.crawler.loader.strategy.HtmlUnitPageLoader;
|
|
|
|
import com.xuxueli.crawler.parser.PageParser;
|
|
|
|
import com.xuxueli.crawler.parser.PageParser;
|
|
|
|
import com.xuxueli.crawler.parser.strategy.HtmlUnitPageLoader;
|
|
|
|
|
|
|
|
import com.xuxueli.crawler.rundata.RunData;
|
|
|
|
import com.xuxueli.crawler.rundata.RunData;
|
|
|
|
import com.xuxueli.crawler.util.FileUtil;
|
|
|
|
import com.xuxueli.crawler.util.FileUtil;
|
|
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
import org.jsoup.nodes.Document;
|
|
|
|
|
|
|
|
import org.jsoup.nodes.Element;
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
@Service
|
|
|
|
public class QuestionService extends ServiceImpl<QuestionMapper, QuestionEntity> implements IQuestionService{
|
|
|
|
public class QuestionService extends ServiceImpl<QuestionMapper, QuestionEntity> implements IQuestionService{
|
|
|
@ -125,7 +116,7 @@ public class QuestionService extends ServiceImpl<QuestionMapper, QuestionEntity>
|
|
|
|
question.setSubjectId(subject.getId());
|
|
|
|
question.setSubjectId(subject.getId());
|
|
|
|
|
|
|
|
|
|
|
|
if (questionVo.getAnswerImages()!=null && questionVo.getAnswerImages().size() > 0) {
|
|
|
|
if (questionVo.getAnswerImages()!=null && questionVo.getAnswerImages().size() > 0) {
|
|
|
|
Set<String> imagesSet = new HashSet<>(questionVo.getAnswerImages());
|
|
|
|
Set<String> imagesSet = new HashSet<String>(questionVo.getAnswerImages());
|
|
|
|
for (String img: imagesSet) {
|
|
|
|
for (String img: imagesSet) {
|
|
|
|
|
|
|
|
|
|
|
|
// 下载图片文件
|
|
|
|
// 下载图片文件
|
|
|
@ -146,7 +137,7 @@ public class QuestionService extends ServiceImpl<QuestionMapper, QuestionEntity>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (questionVo.getAnalysisImages()!=null && questionVo.getAnalysisImages().size() > 0) {
|
|
|
|
if (questionVo.getAnalysisImages()!=null && questionVo.getAnalysisImages().size() > 0) {
|
|
|
|
Set<String> imagesSet = new HashSet<>(questionVo.getAnalysisImages());
|
|
|
|
Set<String> imagesSet = new HashSet<String>(questionVo.getAnalysisImages());
|
|
|
|
for (String img: imagesSet) {
|
|
|
|
for (String img: imagesSet) {
|
|
|
|
|
|
|
|
|
|
|
|
// 下载图片文件
|
|
|
|
// 下载图片文件
|
|
|
@ -167,7 +158,7 @@ public class QuestionService extends ServiceImpl<QuestionMapper, QuestionEntity>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (questionVo.getContentImages()!=null && questionVo.getContentImages().size() > 0) {
|
|
|
|
if (questionVo.getContentImages()!=null && questionVo.getContentImages().size() > 0) {
|
|
|
|
Set<String> imagesSet = new HashSet<>(questionVo.getContentImages());
|
|
|
|
Set<String> imagesSet = new HashSet<String>(questionVo.getContentImages());
|
|
|
|
for (String img: imagesSet) {
|
|
|
|
for (String img: imagesSet) {
|
|
|
|
|
|
|
|
|
|
|
|
// 下载图片文件
|
|
|
|
// 下载图片文件
|
|
|
|