|
@@ -549,7 +549,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
logger.info("排序大题耗时:"+(pdSortEndTime - pdEndTime)+"ms");
|
|
|
|
|
|
//抽取大题Id对应的小题
|
|
|
- Map<String,List<PaperDetailUnit>> pduMap = allPaperDetailUnits.stream()
|
|
|
+ Map<String,List<PaperDetailUnit>> pduMap = allPaperDetailUnits.parallelStream()
|
|
|
.collect(Collectors.groupingBy(PaperDetailUnit::getDetailId));
|
|
|
long pduMapEndTime = System.currentTimeMillis();
|
|
|
logger.info("获取大题与小题对应关系耗时:"+(pduMapEndTime - pdSortEndTime)+"ms");
|
|
@@ -566,14 +566,16 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
PaperDetail paperDetail = paperDetails.get(i);
|
|
|
|
|
|
List<PaperDetailUnit> paperDetailUnits = pduMap.get(paperDetail.getId());
|
|
|
- //设置答案
|
|
|
- setSelectQuestoionAnswer(paperDetailUnits);
|
|
|
+
|
|
|
List<PaperDetailUnitDto> paperDetailUnitDtos = paperDetailUnitDtoAssembler.toDtoList(paperDetailUnits);
|
|
|
for (int j = 0; j < paperDetailUnitDtos.size(); j++) {
|
|
|
PaperDetailUnit paperDetailUnit = paperDetailUnits.get(j);
|
|
|
if(paperDetailUnit==null||paperDetailUnit.getQuestion()==null){
|
|
|
break;
|
|
|
}
|
|
|
+ //设置答案
|
|
|
+ setSelectQuestionAnswerUnit(paperDetailUnit);
|
|
|
+
|
|
|
PaperDetailUnitDto unitDto = paperDetailUnitDtos.get(j);
|
|
|
/**
|
|
|
* 此处不能传questionId,需要传paperDetailUnitId
|
|
@@ -621,6 +623,15 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
quesService.setSelectQuestionAnswer(question,optionOrder);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void setSelectQuestionAnswerUnit(PaperDetailUnit paperDetailUnit){
|
|
|
+ Question question = paperDetailUnit.getQuestion();
|
|
|
+ if(paperDetailUnit == null || question == null){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String optionOrder = paperDetailUnit.getOptionOrder();
|
|
|
+ quesService.setSelectQuestionAnswer(question,optionOrder);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|