|
|
|
@ -119,8 +119,7 @@ public class TeaCaseStepServiceImpl implements ITeaCaseStepService {
|
|
|
|
|
}else {
|
|
|
|
|
training.setProgress(training.getProgress().add(BigDecimal.valueOf(1)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
training.setExpTrainingCompleteStatus(1);
|
|
|
|
|
training.setExpTrainingCompleteStatus(0);
|
|
|
|
|
}
|
|
|
|
|
if(training.getCaseStuScore()==null){
|
|
|
|
|
training.setCaseStuScore(sysCaseQuestionStep.getScore());
|
|
|
|
@ -140,9 +139,11 @@ public class TeaCaseStepServiceImpl implements ITeaCaseStepService {
|
|
|
|
|
training.setProgress(training.getProgress().add(BigDecimal.valueOf(1)));
|
|
|
|
|
}
|
|
|
|
|
training.setExpTrainingCompleteStatus(1);
|
|
|
|
|
}else {
|
|
|
|
|
training.setExpTrainingCompleteStatus(training.getExpTrainingCompleteStatus()+1);
|
|
|
|
|
}
|
|
|
|
|
if(training.getCaseStuScore()==null){
|
|
|
|
|
training.setCaseStuScore(sysCaseQuestionStep.getScore());
|
|
|
|
|
training.setCaseStuScore(BigDecimal.valueOf(0));
|
|
|
|
|
}
|
|
|
|
|
trainingMapper.updateByPrimaryKeyWithBLOBs(training);
|
|
|
|
|
}
|
|
|
|
@ -151,6 +152,17 @@ public class TeaCaseStepServiceImpl implements ITeaCaseStepService {
|
|
|
|
|
}else { //回答过该题
|
|
|
|
|
StuTrainingStepRecord stepRecord = stuTrainingStepRecords.get(0);
|
|
|
|
|
stepRecord.setStuAnswer(commitCaseDto.getStuAnswer());
|
|
|
|
|
TestTestSysCaseQuestionStepWithBLOBs dbCaseQuestionStep = selectCaseStepDetails(commitCaseDto.getCaseStepId());
|
|
|
|
|
String answerOriginal = dbCaseQuestionStep.getAnswerOriginal();
|
|
|
|
|
String cleanedString = answerOriginal.replaceAll("^```python|```$", "").replaceAll("\\s*|\r|\n|\t", "").trim();//表里取的正确答案
|
|
|
|
|
cleanedString = cleanedString.replaceAll("^```Python|```$", "");
|
|
|
|
|
String stuAnswer = commitCaseDto.getStuAnswer().replaceAll("\\s*|\r|\n|\t", "").trim(); //前端传的学生答案
|
|
|
|
|
TestTestSysCaseQuestionStepWithBLOBs sysCaseQuestionStep = CaseApi.selectCaseStepDetails(commitCaseDto.getCaseStepId());
|
|
|
|
|
if(cleanedString.equals(stuAnswer)){
|
|
|
|
|
stepRecord.setScore(String.valueOf(sysCaseQuestionStep.getScore()));
|
|
|
|
|
}else {
|
|
|
|
|
stepRecord.setScore("0");
|
|
|
|
|
}
|
|
|
|
|
trainingStepRecordMapper.updateByPrimaryKeyWithBLOBs(stepRecord);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|