Преглед на файлове

答案导入清除缓存

xiatian преди 3 години
родител
ревизия
e6823df34a

+ 7 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/PaperServiceImpl.java

@@ -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) {