|
|
@@ -4,6 +4,8 @@ import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
|
+import com.ruoyi.system.service.ISysConfigService;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -22,6 +24,8 @@ public class LearnQuestionsServiceImpl implements ILearnQuestionsService
|
|
|
{
|
|
|
@Autowired
|
|
|
private LearnQuestionsMapper learnQuestionsMapper;
|
|
|
+ @Autowired
|
|
|
+ private ISysConfigService configService;
|
|
|
|
|
|
/**
|
|
|
* 查询试题
|
|
|
@@ -32,7 +36,11 @@ public class LearnQuestionsServiceImpl implements ILearnQuestionsService
|
|
|
@Override
|
|
|
public LearnQuestions selectLearnQuestionsById(Long id)
|
|
|
{
|
|
|
- return learnQuestionsMapper.selectLearnQuestionsById(id);
|
|
|
+ LearnQuestions q = learnQuestionsMapper.selectLearnQuestionsById(id);
|
|
|
+ List<LearnQuestions> questions = new ArrayList<>();
|
|
|
+ questions.add(q);
|
|
|
+ fillQuestionInfo(questions,false);
|
|
|
+ return CollectionUtils.isNotEmpty(questions)?questions.get(0):q;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -44,7 +52,9 @@ public class LearnQuestionsServiceImpl implements ILearnQuestionsService
|
|
|
@Override
|
|
|
public List<LearnQuestions> selectLearnQuestionsList(LearnQuestions learnQuestions)
|
|
|
{
|
|
|
- return learnQuestionsMapper.selectLearnQuestionsList(learnQuestions);
|
|
|
+ List<LearnQuestions> questions = learnQuestionsMapper.selectLearnQuestionsList(learnQuestions);
|
|
|
+ fillQuestionInfo(questions,false);
|
|
|
+ return questions;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -105,7 +115,9 @@ public class LearnQuestionsServiceImpl implements ILearnQuestionsService
|
|
|
|
|
|
@Override
|
|
|
public List<LearnQuestions> selectCollectedList(LearnQuestions questions) {
|
|
|
- return learnQuestionsMapper.selectCollectedList(questions);
|
|
|
+ List<LearnQuestions> questionsList = learnQuestionsMapper.selectCollectedList(questions);
|
|
|
+ fillQuestionInfo(questionsList,false);
|
|
|
+ return questionsList;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -125,4 +137,149 @@ public class LearnQuestionsServiceImpl implements ILearnQuestionsService
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<LearnQuestions> selectQuestionByPaperId(Long paperId){
|
|
|
+ List<LearnQuestions> questions = learnQuestionsMapper.selectQuestionByPaperId(paperId);
|
|
|
+ fillQuestionInfo(questions,false);
|
|
|
+ return questions;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void fillQuestionInfo(List<LearnQuestions> list,Boolean isFillTitleOption) {
|
|
|
+ String value = configService.selectConfigByKey("file_pre");
|
|
|
+ if(StringUtils.isBlank(value)) {
|
|
|
+ value = "https://file.mingxue100.com/tikubao/";
|
|
|
+ }
|
|
|
+ if(StringUtils.isBlank(value)) {
|
|
|
+ value = "https://file.mingxuejinbang.com/tikubao/";
|
|
|
+ }
|
|
|
+ List<LearnQuestions> res = list;
|
|
|
+ List<Long> questionIds = new ArrayList<>();
|
|
|
+ if(CollectionUtils.isNotEmpty(res)) {
|
|
|
+ for(LearnQuestions questions: res) {
|
|
|
+ questions.setTitle(questions.getTitle().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\""+value+StringUtils.tikuimages));
|
|
|
+ questions.setTitle(questions.getTitle().replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'"+value+StringUtils.tikuimages));
|
|
|
+ if (StringUtils.isNotBlank(questions.getOptionA())) {
|
|
|
+ questions.setOptionA(questions.getOptionA().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\"" + value+StringUtils.tikuimages));
|
|
|
+ questions.setOptionA(questions.getOptionA().replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'" + value+StringUtils.tikuimages));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(questions.getOptionB())) {
|
|
|
+ questions.setOptionB(questions.getOptionB().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\"" + value+StringUtils.tikuimages));
|
|
|
+ questions.setOptionB(questions.getOptionB().replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'" + value+StringUtils.tikuimages));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(questions.getOptionC())) {
|
|
|
+ questions.setOptionC(questions.getOptionC().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\"" + value+StringUtils.tikuimages));
|
|
|
+ questions.setOptionC(questions.getOptionC().replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'" + value+StringUtils.tikuimages));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(questions.getOptionD())) {
|
|
|
+ questions.setOptionD(questions.getOptionD().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\"" + value+StringUtils.tikuimages));
|
|
|
+ questions.setOptionD(questions.getOptionD().replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'" + value+StringUtils.tikuimages));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(questions.getOptionE())) {
|
|
|
+ questions.setOptionE(questions.getOptionE().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\"" + value+StringUtils.tikuimages));
|
|
|
+ questions.setOptionE(questions.getOptionE().replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'" + value+StringUtils.tikuimages));
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(questions.getAnswer1())) {
|
|
|
+ questions.setAnswer1(questions.getAnswer1().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\""+value+StringUtils.tikuimages));
|
|
|
+ questions.setAnswer1(questions.getAnswer1().replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'"+value+StringUtils.tikuimages));
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(questions.getAnswer2())) {
|
|
|
+ questions.setAnswer2(questions.getAnswer2().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\""+value+StringUtils.tikuimages));
|
|
|
+ questions.setAnswer2(questions.getAnswer2().replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'"+value+StringUtils.tikuimages));
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(questions.getParse())) {
|
|
|
+ questions.setParse(questions.getParse().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\""+value+StringUtils.tikuimages));
|
|
|
+ questions.setParse(questions.getParse().replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'"+value+StringUtils.tikuimages));
|
|
|
+ }
|
|
|
+ if(null!=questions.getIsSub()&&questions.getIsSub()==1){
|
|
|
+ questionIds.add(questions.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for(LearnQuestions question : res) {
|
|
|
+ String title = question.getTitle();
|
|
|
+ if (null!=isFillTitleOption&&isFillTitleOption){
|
|
|
+ if(StringUtils.isNotBlank(question .getOptionA())) {
|
|
|
+ String option = question.getOptionA().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\""+value+StringUtils.tikuimages);
|
|
|
+ option = option.replaceAll("src=\'/", "src=\'"+StringUtils.tikuimages+value+StringUtils.tikuimages);
|
|
|
+ title = title + "<br/>A." + option;
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(question .getOptionB())) {
|
|
|
+ String option = question.getOptionB().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\""+value+StringUtils.tikuimages);
|
|
|
+ option = option.replaceAll("src=\'/", "src=\'"+StringUtils.tikuimages+value+StringUtils.tikuimages);
|
|
|
+ title = title + "<br/>B." + option;
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(question .getOptionC())) {
|
|
|
+ String option = question.getOptionC().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\""+value+StringUtils.tikuimages);
|
|
|
+ option = option.replaceAll("src=\'/", "src=\'"+StringUtils.tikuimages+value+StringUtils.tikuimages);
|
|
|
+ title = title + "<br/>C." + option;
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(question .getOptionD())) {
|
|
|
+ String option = question.getOptionD().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\""+value+StringUtils.tikuimages);
|
|
|
+ option = option.replaceAll("src=\'/", "src=\'"+StringUtils.tikuimages+value+StringUtils.tikuimages);
|
|
|
+ title = title + "<br/>D." + option;
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(question .getOptionE())) {
|
|
|
+ String option = question.getOptionE().replaceAll("src=\"/"+StringUtils.tikuimages, "src=\""+value+StringUtils.tikuimages);
|
|
|
+ option = option.replaceAll("src=\'/", "src=\'"+StringUtils.tikuimages+value+StringUtils.tikuimages);
|
|
|
+ title = title + "<br/>E." + option;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ question.setTitle(title);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String correctImageUrl(String content) {
|
|
|
+ if (StringUtils.isNotBlank(content)) {
|
|
|
+ String value = configService.selectConfigByKey("file_pre");
|
|
|
+ if(StringUtils.isBlank(value)) {
|
|
|
+ value = "https://file.mingxue100.com/tikubao/";
|
|
|
+ }
|
|
|
+ if(StringUtils.isBlank(value)) {
|
|
|
+ value = "https://file.mingxuejinbang.com/tikubao/";
|
|
|
+ }
|
|
|
+
|
|
|
+ return content.replaceAll("src=\"/"+StringUtils.tikuimages, "src=\"" + value+StringUtils.tikuimages)
|
|
|
+ .replaceAll("src=\'/"+StringUtils.tikuimages, "src=\'" + value+StringUtils.tikuimages);
|
|
|
+ }
|
|
|
+ return content;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<LearnQuestions> selectLearnQuestionsByIds(Long[] ids){
|
|
|
+ List<LearnQuestions> questions = learnQuestionsMapper.selectLearnQuestionsByIds(ids);
|
|
|
+ fillQuestionInfo(questions,false);
|
|
|
+ return questions;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<LearnQuestions> statByKnowledgeType(Map cond) {
|
|
|
+ List<LearnQuestions> questions = learnQuestionsMapper.statByKnowledgeType(cond);
|
|
|
+ fillQuestionInfo(questions,false);
|
|
|
+ return questions;
|
|
|
+ }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public List<LearnQuestions> statByKnowledge(Map cond) {
|
|
|
+// List<LearnQuestions> questions = learnQuestionsMapper.statByKnowledge(cond);
|
|
|
+// fillQuestionInfo(questions,false);
|
|
|
+// return questions;
|
|
|
+// }
|
|
|
+
|
|
|
+// @Override
|
|
|
+// public List<LearnQuestions> selectCollectInfo(Map<String, Object> map) {
|
|
|
+// List<LearnQuestions> questions = learnQuestionsMapper.selectCollectInfo(map);
|
|
|
+// fillQuestionInfo(questions,false);
|
|
|
+// return questions;
|
|
|
+// }
|
|
|
+ @Override
|
|
|
+ public List<LearnQuestions> selectQuestionsForPaper(LearnQuestions cond) {
|
|
|
+ List<LearnQuestions> questions = learnQuestionsMapper.selectQuestionsForPaper(cond);
|
|
|
+ fillQuestionInfo(questions,false);
|
|
|
+ return questions;
|
|
|
+ }
|
|
|
+
|
|
|
}
|