|
@@ -6,8 +6,13 @@ import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import com.qmth.cqb.paper.assemble.PaperDetailDtoAssembler;
|
|
|
+import com.qmth.cqb.paper.assemble.PaperDetailUnitDtoAssembler;
|
|
|
+import com.qmth.cqb.paper.assemble.PaperDtoAssembler;
|
|
|
+import com.qmth.cqb.paper.assemble.SubQuestionDtoAssembler;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.lang3.SystemUtils;
|
|
|
+import org.bson.types.ObjectId;
|
|
|
import org.nlpcn.commons.lang.util.StringUtil;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -124,6 +129,18 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
@Value("${upyun.downloadUrl}")
|
|
|
private String downloadUrl;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PaperDtoAssembler paperDtoAssembler;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PaperDetailDtoAssembler paperDetailDtoAssembler;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PaperDetailUnitDtoAssembler paperDetailUnitDtoAssembler;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SubQuestionDtoAssembler subQuestionDtoAssembler;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public ExtractConfig findConfig(ExtractConfig condition) {
|
|
@@ -287,7 +304,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
//保存试卷信息
|
|
|
paper.setId(null);
|
|
|
paper.setPaperType(paperType);
|
|
|
- Paper newPaper = paperRepo.save(paper);
|
|
|
+ Paper newPaper = paperRepo.insert(paper);
|
|
|
|
|
|
for(int i = 0;i<paperDetails.size();i++){
|
|
|
PaperDetail paperDetail = paperDetails.get(i);
|
|
@@ -314,7 +331,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
//保存大题信息
|
|
|
paperDetail.setId(null);
|
|
|
paperDetail.setPaper(newPaper);
|
|
|
- PaperDetail newPaperDetail = paperDetailRepo.save(paperDetail);
|
|
|
+ PaperDetail newPaperDetail = paperDetailRepo.insert(paperDetail);
|
|
|
|
|
|
for(int j = 0;j<paperDetailUnits.size();j++){
|
|
|
//重新设置保存PaperDetailUnit
|
|
@@ -329,7 +346,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
|
|
|
}
|
|
|
//保存小题信息
|
|
|
- paperDetailUnitRepo.save(savePaperDetailUnits);
|
|
|
+ paperDetailUnitRepo.insert(savePaperDetailUnits);
|
|
|
|
|
|
//清空所有list
|
|
|
allPaperDetailUnits.clear();
|
|
@@ -477,7 +494,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
* @return
|
|
|
*/
|
|
|
private PaperDto getPaperDtoByPaper(Paper paper){
|
|
|
- PaperDto paperDto = BeanCopierUtil.copyProperties(paper, PaperDto.class);
|
|
|
+ PaperDto paperDto = paperDtoAssembler.toDto(paper);
|
|
|
|
|
|
//将小题全部取出来,只取一次
|
|
|
List<PaperDetailUnit> allPaperDetailUnits = paperDetailUnitRepo.findByPaperOrderByNumber(paper);
|
|
@@ -489,7 +506,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
Map<String,List<PaperDetailUnit>> pduMap = allPaperDetailUnits.stream()
|
|
|
.collect(Collectors.groupingBy(PaperDetailUnit::getDetailId));
|
|
|
// 获取大题Dto
|
|
|
- List<PaperDetailDto> paperDetailDtos = BeanCopierUtil.copyPropertiesOfList(paperDetails, PaperDetailDto.class);
|
|
|
+ List<PaperDetailDto> paperDetailDtos = paperDetailDtoAssembler.toDtoList(paperDetails);
|
|
|
paperDto.setPaperDetails(paperDetailDtos);
|
|
|
|
|
|
// 封装小题
|
|
@@ -500,7 +517,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
List<PaperDetailUnit> paperDetailUnits = pduMap.get(paperDetail.getId());
|
|
|
//设置答案
|
|
|
setSelectQuestoionAnswer(paperDetailUnits);
|
|
|
- List<PaperDetailUnitDto> paperDetailUnitDtos = BeanCopierUtil.copyPropertiesOfList(paperDetailUnits,PaperDetailUnitDto.class);
|
|
|
+ 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){
|
|
@@ -519,9 +536,9 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
}
|
|
|
if (unitDto.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {// 假如是套题
|
|
|
List<Question> subQuesList = paperDetailUnit.getQuestion().getSubQuestions();
|
|
|
- List<SubQuestionDto> subQuesDtos = BeanCopierUtil.copyPropertiesOfList(subQuesList,SubQuestionDto.class);
|
|
|
+ List<SubQuestionDto> subQuesDtos = subQuestionDtoAssembler.toDtoList(subQuesList);
|
|
|
for (int m = 0; m < subQuesList.size(); m++) {
|
|
|
- List<QuesOptionDto> quesOptionDtos = BeanCopierUtil.copyPropertiesOfList(subQuesList.get(m).getQuesOptions(), QuesOptionDto.class);
|
|
|
+ List<QuesOptionDto> quesOptionDtos = subQuestionDtoAssembler.toOptionDtoList(subQuesList.get(m).getQuesOptions());
|
|
|
subQuesDtos.get(m).setQuesOptions(quesOptionDtos);
|
|
|
if(StringUtils.isNotEmpty(subQuesList.get(m).getQuesAnswer())){
|
|
|
subQuesDtos.get(m).setQuesAnswer(subQuesList.get(m).getQuesAnswer());
|