|
|
@@ -14,6 +14,7 @@ import com.ruoyi.learn.domain.*;
|
|
|
import com.ruoyi.learn.mapper.*;
|
|
|
import com.ruoyi.learn.service.ILearnQuestionsService;
|
|
|
import com.ruoyi.syzy.domain.BBusiWishUniversities;
|
|
|
+import com.ruoyi.syzy.mapper.BBusiWishUniversitiesMapper;
|
|
|
import com.ruoyi.syzy.service.IBBusiWishUniversitiesService;
|
|
|
import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -23,6 +24,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicLong;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
@@ -39,20 +41,40 @@ public class PaperService {
|
|
|
private final ILearnQuestionsService learnQuestionsService;
|
|
|
private final LearnDirectedKnowledgeMapper learnDirectedKnowledgeMapper;
|
|
|
private final IBBusiWishUniversitiesService wishUniversitiesService;
|
|
|
+ private final BBusiWishUniversitiesMapper bBusiWishUniversitiesMapper;
|
|
|
|
|
|
|
|
|
- PaperService(LearnPaperMapper paperMapper, LearnPaperQuestionMapper paperQuestionMapper, LearnQuestionsMapper questionsMapper, ILearnQuestionsService learnQuestionsService, LearnDirectedKnowledgeMapper learnDirectedKnowledgeMapper, IBBusiWishUniversitiesService wishUniversitiesService) {
|
|
|
+ PaperService(LearnPaperMapper paperMapper, LearnPaperQuestionMapper paperQuestionMapper, LearnQuestionsMapper questionsMapper, ILearnQuestionsService learnQuestionsService, LearnDirectedKnowledgeMapper learnDirectedKnowledgeMapper, IBBusiWishUniversitiesService wishUniversitiesService, BBusiWishUniversitiesMapper bBusiWishUniversitiesMapper) {
|
|
|
this.paperMapper = paperMapper;
|
|
|
this.paperQuestionMapper = paperQuestionMapper;
|
|
|
this.questionsMapper = questionsMapper;
|
|
|
this.learnQuestionsService = learnQuestionsService;
|
|
|
this.learnDirectedKnowledgeMapper = learnDirectedKnowledgeMapper;
|
|
|
this.wishUniversitiesService = wishUniversitiesService;
|
|
|
+ this.bBusiWishUniversitiesMapper = bBusiWishUniversitiesMapper;
|
|
|
+ buildAllPapers();
|
|
|
// buildSimulatedPaper(20154L, 1001L);
|
|
|
// buildSimulatedPaper(20950L, 1001L);
|
|
|
// test2();
|
|
|
}
|
|
|
|
|
|
+ public void buildAllPapers(Integer seq) {
|
|
|
+ LearnDirectedKnowledge dkCond = new LearnDirectedKnowledge();
|
|
|
+ dkCond.setYear(2025);
|
|
|
+ Map<Long, List<LearnDirectedKnowledge>> universityDirectedMap = learnDirectedKnowledgeMapper.selectLearnDirectedKnowledgeList(dkCond).stream().collect(Collectors.groupingBy(LearnDirectedKnowledge::getUniversityId));
|
|
|
+
|
|
|
+ Map uCond = new HashMap();
|
|
|
+ uCond.put("ids", universityDirectedMap.keySet());
|
|
|
+ Map<Long, BBusiWishUniversities> universityMap = bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesListSimpleByIds(uCond).stream().collect(Collectors.toMap(BBusiWishUniversities::getId, Function.identity()));
|
|
|
+ for(Long universityId : universityDirectedMap.keySet()) {
|
|
|
+ BBusiWishUniversities universities = universityMap.get(universityId);
|
|
|
+ if(null == universities) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ buildSimulatedPaper(1001L, seq, universities, universityDirectedMap.get(universityId));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public void test2() {
|
|
|
TestPaperVO.PaperDef paperDef = new TestPaperVO.PaperDef();
|
|
|
paperDef.setFillExclude(true);
|
|
|
@@ -168,16 +190,21 @@ public class PaperService {
|
|
|
return paperQuestionList;
|
|
|
}
|
|
|
|
|
|
+ public int buildSimulatedPaper(Long universityId, Long subjectId, Integer seq) {
|
|
|
+ LearnDirectedKnowledge dkCond = new LearnDirectedKnowledge();
|
|
|
+ dkCond.setUniversityId(universityId);
|
|
|
+ List<LearnDirectedKnowledge> directedKnowledgeList = learnDirectedKnowledgeMapper.selectLearnDirectedKnowledgeList(dkCond);
|
|
|
+ BBusiWishUniversities universities = wishUniversitiesService.selectBBusiWishUniversitiesById(universityId);
|
|
|
+ buildSimulatedPaper(subjectId, seq, universities, directedKnowledgeList);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据院校专业要求生成模拟试卷
|
|
|
* @return
|
|
|
*/
|
|
|
|
|
|
- public int buildSimulatedPaper(Long universityId, Long subjectId) {
|
|
|
- LearnDirectedKnowledge dkCond = new LearnDirectedKnowledge();
|
|
|
- dkCond.setUniversityId(universityId);
|
|
|
- List<LearnDirectedKnowledge> directedKnowledgeList = learnDirectedKnowledgeMapper.selectLearnDirectedKnowledgeList(dkCond);
|
|
|
- BBusiWishUniversities universities = wishUniversitiesService.selectBBusiWishUniversitiesById(universityId);
|
|
|
+ public int buildSimulatedPaper(Long subjectId, Integer seq, BBusiWishUniversities universities, List<LearnDirectedKnowledge> directedKnowledgeList) {
|
|
|
for(LearnDirectedKnowledge dk : directedKnowledgeList) {
|
|
|
if(StringUtils.isBlank(dk.getConditions())) {
|
|
|
continue;
|
|
|
@@ -187,12 +214,17 @@ public class PaperService {
|
|
|
|
|
|
LearnPaper paper = new LearnPaper();
|
|
|
paper.setSubjectId(subjectId);
|
|
|
- paper.setPaperName(StringUtils.isNotBlank(dk.getDirectKey()) ? universities.getName() + "(" + dk.getDirectKey() + ")" : universities.getName());
|
|
|
paper.setPaperType(PaperType.Simulated.name());
|
|
|
paper.setRelateId(dk.getId()); // 定向ID
|
|
|
paper.setYear(dk.getYear());
|
|
|
+ paper.setPaperSource(seq);
|
|
|
+ if(CollectionUtils.isNotEmpty(paperMapper.selectLearnPaperList(paper))) {
|
|
|
+ log.warn("已经生成: {}:{}", dk.getId(), seq);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ paper.setPaperName(StringUtils.isNotBlank(dk.getDirectKey()) ? universities.getName() + "(" + dk.getDirectKey() + ")" : universities.getName());
|
|
|
+ paper.setDirectKey(universities.getId() + "_" + dk.getExamineeTypes() + "_" + dk.getDirectKey());
|
|
|
paper.setStatus(PaperStatus.Valid.getVal());
|
|
|
- paper.setDirectKey(universityId + "_" + dk.getExamineeTypes() + "_" + dk.getDirectKey());
|
|
|
paper.setNumber(paperDef.getTotal());
|
|
|
paper.setFenshu(paperDef.getScore().intValue());
|
|
|
AnswerSheet.PaperCond info = new AnswerSheet.PaperCond();
|
|
|
@@ -203,7 +235,7 @@ public class PaperService {
|
|
|
try {
|
|
|
Pair<LearnPaper, List<LearnPaperQuestion>> paperResult = buildPaper2(null, paper, paperDef);
|
|
|
savePaper(paperResult.getKey(), paperResult.getValue());
|
|
|
- } catch(RuntimeException e) {
|
|
|
+ } catch(Exception e) {
|
|
|
log.error(e.getMessage());
|
|
|
}
|
|
|
}
|