|
@@ -353,7 +353,6 @@ public class PaperServiceImpl implements PaperService {
|
|
|
* @param paperExp
|
|
|
* @return
|
|
|
*/
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
public Map<String, Object> savePaper(PaperExp paperExp, User user) {
|
|
|
Map<String, Object> msgMap = new HashMap<>();
|
|
|
|
|
@@ -2295,6 +2294,7 @@ public class PaperServiceImpl implements PaperService {
|
|
|
saveQuestion.add(domain.getSubNumber().toString());
|
|
|
}
|
|
|
|
|
|
+ Set<String> updateQuesIds = new HashSet<String>();
|
|
|
List<Question> ques = new ArrayList<Question>();
|
|
|
for (PaperDetailUnit unit : paperDetailUnits) {
|
|
|
Question qu = unit.getQuestion();
|
|
@@ -2303,17 +2303,23 @@ public class PaperServiceImpl implements PaperService {
|
|
|
for (int i = 0; i < unit.getQuestion().getSubQuestions().size(); i++) {
|
|
|
if (answerMap.get(unit.getNumber() + "-" + (i + 1)) != null) {
|
|
|
checkAndSetAnswer(unit.getQuestion().getSubQuestions().get(i), answerMap.get(unit.getNumber() + "-" + (i + 1)).getAnswer(), unit.getNumber(), i + 1);
|
|
|
+ updateQuesIds.add(qu.getId());
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
if (answerMap.get(unit.getNumber().toString()) != null) {
|
|
|
checkAndSetAnswer(qu, answerMap.get(unit.getNumber().toString()).getAnswer(), unit.getNumber(), null);
|
|
|
+ updateQuesIds.add(qu.getId());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
ques.add(qu);
|
|
|
}
|
|
|
quesRepo.saveAll(ques);
|
|
|
+ //清除缓存
|
|
|
+ for(String qid:updateQuesIds) {
|
|
|
+ paperDetailUnitService.clearQuestionCache(qid);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void checkAndSetAnswer(Question question, String answer, Integer subNum, Integer childNum) {
|