From 8f781f3cb17187a7ee58f41632c25fbb2aa81cc7 Mon Sep 17 00:00:00 2001
From: linzhijie <19970921lzj>
Date: 星期二, 16 三月 2021 19:57:24 +0800
Subject: [PATCH] 补充环境配置

---
 src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java |  267 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 182 insertions(+), 85 deletions(-)

diff --git a/src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java b/src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java
index 9030e1a..52264c2 100644
--- a/src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/com/ots/project/exam/service/impl/ExamPaperServiceImpl.java
@@ -1,4 +1,6 @@
 package com.ots.project.exam.service.impl;
+
+
 import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson.JSON;
 import com.github.pagehelper.PageInfo;
@@ -36,6 +38,7 @@
 import org.modelmapper.ModelMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -44,68 +47,93 @@
 import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
+
+
 @Service
 public class ExamPaperServiceImpl implements IExamPaperService {
+
     protected final static ModelMapper modelMapper = ModelMapperSingle.Instance();
+
     @Autowired
     private ExamPaperMapper examPaperMapper;
+
     @Autowired
     private ITTextContentService textContentService;
+
     @Autowired
     private TQuestionMapper questionMapper;
+
     @Autowired
     private ITQuestionService questionService;
+
     @Autowired
     private ITExamReportService examReportService;
+
     @Autowired
     private IExamUtilService examUtilService;
+
     @Autowired
     private ITExamPaperService itExamPaperService;
+
+
     @Override
     public List<PaperInfo> indexPaper(PaperFilter paperFilter) {
         return examPaperMapper.indexPaper(paperFilter);
     }
+
+
     @Override
     public PageInfo<ExamPaper> page(ExamPaperPageRequestVM requestVM) {
         return null;
     }
+
     @Override
     public PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVM requestVM) {
         return null;
     }
+
     @Override
     public PageInfo<ExamPaper> studentPage(ExamPaperPageVM requestVM) {
         return null;
     }
+
     @Override
     public ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, ExamUser user) {
         return null;
     }
-    
+
+    // 鍒嗗彂棰樼洰鍒板墠鍙扮殑鏂规硶
     @Override
     public ExamPaperEditRequestVM examPaperToVM(Integer id, String tokenId, String langType) {
         TExamPaper tExamPaper = itExamPaperService.selectTExamPaperById(id.longValue());
+
         tExamPaper.setLangType(langType);
+
         ExamPaperEditRequestVM vm = modelMapper.map(tExamPaper, ExamPaperEditRequestVM.class);
-        
+        // 瑙f瀽鍑洪鐩�
         List<ExamPaperTitleItemVM> examPaperTitleItemVMS = resolveToQuestion(tExamPaper, vm);
-        
+        // 璁剧疆澶ч鐨勪笅鏍噏uestionOrder,宸ヤ綔绫诲瀷闂嵎鍜屾祴璇曢棶鍗烽兘瑕�
         setQuestionOrder(examPaperTitleItemVMS);
-        
+        // 宸ヤ綔闂嵎棰樼洰闅忔満锛岃缃畆eport缁欏墠鍙颁篃鏄湪杩欓噷
         setRandomQuestionOrderAndReport(tokenId, vm, examPaperTitleItemVMS);
-        
+
+        // 浼犲垎娈电殑鏁版嵁缁欏墠鍙�
         vm.setParts(examPaperTitleItemVMS.get(0).getParts());
-        
+
+        // 澶氳瑷�鐨勭炕璇�
         multilingualTranslation(langType, vm);
-        
+
+        // 璁剧疆questionReport杩斿洖缁欏墠鍙�
         return vm;
     }
+
     @Override
     public ExamPaperEditRequestVM examPaperToVM(RelatedParty relatedParty, String token_id, String langType) {
         ExamPaperEditRequestVM vm = examPaperToVM(relatedParty.getProdId().intValue(), token_id, langType);
         setExtraReturnValue(relatedParty, vm);
         return vm;
     }
+
     private void setExtraReturnValue(RelatedParty relatedParty, ExamPaperEditRequestVM vm) {
         vm.setQuestionTemplateId(relatedParty.getQuestionTemplateId());
         vm.setReportTemplateId(relatedParty.getReportTemplateId());
@@ -118,13 +146,15 @@
             vm.setMemberName(relatedParty.getMemberName());
         }
     }
+
     private void setRandomQuestionOrderAndReport(String tokenId, ExamPaperEditRequestVM vm, List<ExamPaperTitleItemVM> examPaperTitleItemVMS) {
         List<Integer> intList = new ArrayList<>();
-        
+        // examPaperTitleItemVMS 涓轰竴涓ぇ棰橈紝涓�涓ぇ娈�
         vm.setTitleItems(randomQuestion(examPaperTitleItemVMS, intList, tokenId,vm));
-        
+        // 棰樼洰鐨勯『搴�
         vm.setQuestionOrder(intList);
     }
+
     private void setQuestionOrder(List<ExamPaperTitleItemVM> examPaperTitleItemVMS) {
         int questionOrederNum = 0;
         int questionItemQONum = 0;
@@ -135,35 +165,41 @@
             }
         }
     }
-    
+
+    // 瑙f瀽寰楀埌棰樼洰
     private List<ExamPaperTitleItemVM> resolveToQuestion(TExamPaper examPaper, ExamPaperEditRequestVM vm) {
         vm.setLevel(examPaper.getGradeLevel().intValue());
         TTextContent frameTextContent = textContentService.selectTTextContentById(examPaper.getFrameTextContentId().longValue());
         List<ExamPaperTitleItemObject> examPaperTitleItemObjects = JsonUtil.toJsonListObject(frameTextContent.getContent(), ExamPaperTitleItemObject.class);
-        
+
+        // titleQuestionIds 鐨勫ぇ棰樼洰
         TExamPaper tExamPaper = new TExamPaper();
         BeanUtils.copyProperties(examPaper, tExamPaper);
         examUtilService.setTitleName(tExamPaper, examPaperTitleItemObjects);
+
         List<Integer> questionIds = examPaperTitleItemObjects.stream()
                 .flatMap(t -> t.getQuestionItems().stream()
                         .map(q -> q.getId()))
                 .collect(Collectors.toList());
         List<TQuestion> questions = questionMapper.selectByIds(questionIds);
-        
+        // vm.setScore(ExamUtil.originalScoreToVM(examPaper.getScore()));
         return examPaperTitleItemObjects.stream().map(t -> {
             ExamPaperTitleItemVM tTitleVM = modelMapper.map(t, ExamPaperTitleItemVM.class);
-            
+            // 璁剧疆姘镐箙缂栧彿
             tTitleVM.setPermanentId(t.getPermanentId());
-            
+
+            // 灏忛
             List<QuestionEditRequestVM> questionItemsVM = t.getQuestionItems().stream().map(i -> {
                 try {
                     TQuestion question = questions.stream().filter(q -> q.getId().equals(i.getId().longValue())).findFirst().get();
                     QuestionEditRequestVM questionEditRequestVM = questionService.getQuestionEditRequestVM(question);
                     questionEditRequestVM.setItemOrder(i.getItemOrder());
-                    
+
+                    // 姘镐箙缂栧彿
                     if (Objects.isNull(question.getPermanentId())) {
                         question.setPermanentId(i.getPermanentId());
                     }
+
                     questionEditRequestVM.setPermanentId(question.getPermanentId());
                     questionEditRequestVM.setPartOrder(i.getPartOrder());
                     questionEditRequestVM.setParentQuestionId(i.getParentQuestionId());
@@ -180,7 +216,8 @@
             return tTitleVM;
         }).collect(Collectors.toList());
     }
-    
+
+    // 澶氳瑷�缈昏瘧
     private void multilingualTranslation(String langType, ExamPaperEditRequestVM vm) {
         vm.setName(ExamUtil.getLangString(langType, vm.getName()));
         vm.setGuide(ExamUtil.getLangString(langType, vm.getGuide()));
@@ -195,37 +232,42 @@
                 }
             }
         }
-        
+
+        // 缈昏瘧鍒嗘
         if (CollUtil.isEmpty(vm.getParts())) {
             return;
         }
+
         vm.getParts().stream().forEach(questionPart -> {
             questionPart.getSignals().stream().forEach(signalObject -> {
                 signalObject.setSignalDescription(ExamUtil.getLangString(langType, signalObject.getSignalDescription()));
             });
         });
     }
+
     private List<ExamPaperTitleItemVM> randomQuestion(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, String tokenId, ExamPaperEditRequestVM vm) {
-        
+        // 鍒ゆ柇鏄惁鏄┖
         if (Objects.isNull(examPaperTitleItemVMS) || examPaperTitleItemVMS.isEmpty()) {
             return examPaperTitleItemVMS;
         }
-        
+
+        // 浜烘牸绫诲瀷闂嵎锛屾櫤鍔�
         if (Objects.equals(vm.getQuestionTemplateId(), "personality")) {
             return getExamOnePaperTitleItemVMS(examPaperTitleItemVMS, intList, tokenId);
         } else if (Objects.equals(vm.getQuestionTemplateId(), "intelligence")) {
             return getExamPaperIntelligenceQeustionVMS(examPaperTitleItemVMS, intList, tokenId, vm);
         } else {
-            
+            // 宸ヤ綔绫诲瀷闂嵎
             return getExamJobPaperTitleItemVMS(examPaperTitleItemVMS, intList, tokenId);
         }
     }
+
     private List<ExamPaperTitleItemVM> getExamOnePaperTitleItemVMS(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, String tokenId) {
-        
+        // 浜烘牸闂嵎鍜屾櫤鍔涢棶鍗烽殢鏈�
         TExamReport tExamReportQuery = new TExamReport();
         tExamReportQuery.setTokenId(tokenId);
         List<QuestionEditRequestVM> questionItems = examPaperTitleItemVMS.get(0).getQuestionItems();
-        
+        // 鏂板闅忔満鎵撲贡搴忓垪
         List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReportQuery);
         if (Objects.nonNull(tExamReportList) && tExamReportList.size() > 0) {
             TExamReport tExamReport = tExamReportList.get(0);
@@ -235,35 +277,41 @@
         }
         List<QuestionEditRequestVM> questionItemsNew = new ArrayList<>();
         for (int i = 0; i < intList.size(); i++) {
-            questionItemsNew.add(questionItems.get(intList.get(i)));
+            questionItemsNew.add(questionItems.get(intList.get(i)));// 鍙栧埌搴曟槸閭d竴棰�
         }
-        
+
+        // 閲嶆柊鎺掑簭,璁剧疆questionReport缁欏墠绔�
         for (int i = 0; i < questionItemsNew.size(); i++) {
-            questionItemsNew.get(i).setItemOrder(i+1);
-            
+            questionItemsNew.get(i).setItemOrder(i+1);// itemOrder鏄悗鍙扮粰鐨勫簭鍙�
+            // 璁剧疆questionReport缁欏墠绔�
             setQuestionReportForVM(tExamReportList, questionItemsNew.get(i));
         }
+
         examPaperTitleItemVMS.get(0).setQuestionItems(questionItemsNew);
         return examPaperTitleItemVMS;
     }
+
     private List<ExamPaperTitleItemVM> getExamPaperIntelligenceQeustionVMS(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, String tokenId, ExamPaperEditRequestVM vm) {
-        
+        // 鑾峰彇鏅哄姏棰橀噷闈㈢殑棰樼洰
         TExamReport tExamReportQuery = new TExamReport();
         tExamReportQuery.setTokenId(tokenId);
         List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReportQuery);
-        
-        
+        // map鏄瘡涓�娈�
+        // 鏂扮殑瑕佸彂缁欏墠鍙扮殑
         List<QuestionEditRequestVM> questionItemsResulte = new ArrayList<>();
         if (Objects.nonNull(tExamReportList) && tExamReportList.size() > 0) {
             questionItemsResulte = getIntelligenceQuestionOrder(examPaperTitleItemVMS, tExamReportList, vm);
         } else {
             initializeIntelligenceQuestion(examPaperTitleItemVMS, intList, questionItemsResulte, vm);
         }
-        
+
+        // 閲嶆柊鎺掑簭,璁剧疆questionReport缁欏墠绔�
         calculationNumber(tExamReportList, questionItemsResulte);
+
         examPaperTitleItemVMS.get(0).setQuestionItems(questionItemsResulte);
         return examPaperTitleItemVMS;
     }
+
     private List<QuestionEditRequestVM> getIntelligenceQuestionOrder(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<TExamReport> tExamReportList, ExamPaperEditRequestVM vm) {
         TExamReport tExamReport = tExamReportList.get(0);
         List<Integer> intList = JSON.parseObject(tExamReport.getQuestionOrder(), ArrayList.class);
@@ -272,51 +320,57 @@
         List<QuestionEditRequestVM> questionItemsResulte = new ArrayList<>();
         for (int i = 0; i < intList.size(); i++) {
             int order = intList.get(i);
-            
+            // 閫夐」鐨勬槧灏�
             Map<String, QuestionEditItemVM> itemsMap = new HashMap<>();
             List<QuestionEditItemVM> items = questionItems.get(order).getItems();
             items.stream().forEach(item-> itemsMap.put(item.getPrefix(), item));
-            
+
+            // 寰楀埌鏄偅涓�棰樼殑閫夐」
             List<String> itemList = optionIntList.get(i);
-            
+
+            // 鎺掑ソ搴忕殑閫夐」
             List<QuestionEditItemVM> itemsResult = itemList.stream().map(num -> {
                 return itemsMap.get(num);
             }).collect(Collectors.toList());
             questionItems.get(order).setItems(itemsResult);
             questionItemsResulte.add(questionItems.get(order));
         }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+//        List<QuestionEditRequestVM> questionItemsResulte = intList.stream().map(order-> {
+//
+//            // 閫夐」鐨勬槧灏�
+//            Map<String, QuestionEditItemVM> itemsMap = new HashMap<>();
+//            List<QuestionEditItemVM> items = questionItems.get(order).getItems();
+//            items.stream().forEach(item-> itemsMap.put(item.getPrefix(), item));
+//
+//            // 寰楀埌鏄偅涓�棰樼殑閫夐」
+//            List<String> itemList = optionIntList.get(order);
+//
+//            // 鎺掑ソ搴忕殑閫夐」
+//            List<QuestionEditItemVM> itemsResult = itemList.stream().map(num -> {
+//                return itemsMap.get(num);
+//            }).collect(Collectors.toList());
+//            questionItems.get(order).setItems(itemsResult);
+//
+//            return questionItems.get(order);
+//        }).collect(Collectors.toList());
 
         vm.setOptionOrder(optionIntList);
         return questionItemsResulte;
     }
+
     private void calculationNumber(List<TExamReport> tExamReportList, List<QuestionEditRequestVM> questionItemsResulte) {
         Integer intelligenceTitleNum = 0;
         Integer intelligenceNum = 0;
-        
+
+        // 璁$畻搴忓彿
         Integer itemSize = 0;
         for (QuestionEditRequestVM questionEditRequestVM : questionItemsResulte) {
             if (StringUtils.isEmpty(questionEditRequestVM.getParentQuestionId())) {
                 itemSize++;
             }
         }
-        
+
+        // 鏍规嵁姣忎竴娈佃绠楀簭鍙�,缁勬垚闆嗗悎partSizeMap锛屽垎寮�璁板綍搴忓彿
         Map<Integer, Integer> partSizeMap = new HashMap<>();
         for (QuestionEditRequestVM questionEditRequestVM : questionItemsResulte) {
             if (StringUtils.isNotEmpty(questionEditRequestVM.getParentQuestionId())) {
@@ -329,47 +383,56 @@
                 partSizeMap.put(partOrder, 1);
             }
         }
+
+
         Integer partOrder = 0;
         for (Integer i = 0; i < questionItemsResulte.size(); i++) {
             QuestionEditRequestVM questionEditRequestVM = questionItemsResulte.get(i);
-            
+
+            // 棰樼洰鐨勫簭鍙疯鍒嗗紑璁帮紝partOrder涓嶄竴鏍峰氨閲嶆柊璁$畻
             if (!Objects.equals(partOrder, questionEditRequestVM.getPartOrder())) {
                 partOrder = questionEditRequestVM.getPartOrder();
                 intelligenceTitleNum = 0;
             }
-            questionEditRequestVM.setItemOrder(i + 1);
-            
+            questionEditRequestVM.setItemOrder(i + 1);// itemOrder鏄悗鍙扮粰鐨勫簭鍙�
+            // 璁剧疆questionReport缁欏墠绔�
             setQuestionReportForVM(tExamReportList, questionEditRequestVM);
-            
-            if (Objects.equals(questionEditRequestVM.getTemplate(), "intelligence_title")) { 
+            // 缁欏墠绔簭鍙�
+            if (Objects.equals(questionEditRequestVM.getTemplate(), "intelligence_title")) { // 闂瓟棰�
                 questionEditRequestVM.setQuestionNumber(String.valueOf(++intelligenceTitleNum) + "/" + partSizeMap.get(questionEditRequestVM.getPartOrder()).toString());
                 intelligenceNum = 0;
-            } else if (StringUtils.isEmpty(questionEditRequestVM.getParentQuestionId())) { 
+            } else if (StringUtils.isEmpty(questionEditRequestVM.getParentQuestionId())) { //鏅�氶
                 questionEditRequestVM.setQuestionNumber(String.valueOf(++intelligenceTitleNum) + "/" + partSizeMap.get(questionEditRequestVM.getPartOrder()).toString());
-            } else { 
+            } else { // 闂瓟棰樼殑灏忛
                 questionEditRequestVM.setQuestionNumber("(" + ++intelligenceNum + ")");
             }
         }
     }
+
     private void initializeIntelligenceQuestion(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, List<QuestionEditRequestVM> questionItemsResulte, ExamPaperEditRequestVM vm) {
-        
+        // 鍘熸潵鐨勯鐩�
         List<QuestionEditRequestVM> questionItems = examPaperTitleItemVMS.get(0).getQuestionItems();
-        
-        
+        // 閬嶅巻姣忎竴娈电殑棰樼洰
+        // 娈碉細棰樼洰棰樼洰鍒楄〃,part:棰樼洰鍒楄〃
         Map<Integer, List<QuestionEditRequestVM>> questionEditRequestVMSMap = getPartOrderQuestionMap(examPaperTitleItemVMS, questionItems);
-        
+
+        // parentQuestionId : 棰樼洰
         Map<String, List<QuestionEditRequestVM>> parentQuestionIdMap = getParentQuestionIdMap(questionItems);
-        
+
+        // 鎻愬墠鎵撲贡
         for (Map.Entry<String, List<QuestionEditRequestVM>> entry : parentQuestionIdMap.entrySet()) {
             entry.setValue(getQuestionEditRequestRandVMS(entry.getValue()));
         }
+
         for (Map.Entry<Integer, List<QuestionEditRequestVM>> entry : questionEditRequestVMSMap.entrySet()) {
-            
+            // intelligence_title
             getIntelligenceTitleResult(entry.getValue(), parentQuestionIdMap, questionItemsResulte);
-            
+
+            // intelligence
             getintelligenceResult(entry.getValue(), questionItemsResulte);
         }
-        
+
+        // 璁剧疆搴忓彿
         vm.setOptionOrder(new ArrayList<>());
         for (QuestionEditRequestVM questionEditRequestVM : questionItemsResulte) {
             intList.add(questionEditRequestVM.getQuestionOrder());
@@ -381,16 +444,18 @@
             vm.getOptionOrder().add(prfixList);
         }
     }
+
     private void getintelligenceResult(List<QuestionEditRequestVM> questionItems, List<QuestionEditRequestVM> questionItemsResult) {
         List<QuestionEditRequestVM> intelligenceList = questionItems.stream().filter((QuestionEditRequestVM questionEditRequestVM) -> Objects.equals(questionEditRequestVM.getTemplate(), "intelligence") && StringUtils.isEmpty(questionEditRequestVM.getParentQuestionId())).collect(Collectors.toList());
         intelligenceList = getQuestionEditRequestRandVMS(intelligenceList);
         questionItemsResult.addAll(intelligenceList);
     }
+
     private void getIntelligenceTitleResult(List<QuestionEditRequestVM> questionItems, Map<String, List<QuestionEditRequestVM>> parentQuestionIdMap, List<QuestionEditRequestVM> questionItemsResult) {
-        
+        // intelligence_title
         List<QuestionEditRequestVM> intelligenceTitleList = questionItems.stream().filter((QuestionEditRequestVM questionEditRequestVM) -> Objects.equals(questionEditRequestVM.getTemplate(), "intelligence_title")).collect(Collectors.toList());
         intelligenceTitleList = getQuestionEditRequestRandVMS(intelligenceTitleList);
-        
+        // 澶ч涓嬮潰鐨勫皬棰樼洰
         List<QuestionEditRequestVM> intelligenceTitleResultList = new ArrayList<>();
         for (QuestionEditRequestVM questionEditRequestVM : intelligenceTitleList) {
             intelligenceTitleResultList.add(questionEditRequestVM);
@@ -398,22 +463,25 @@
         }
         questionItemsResult.addAll(intelligenceTitleResultList);
     }
+
     private Map<String, List<QuestionEditRequestVM>> getParentQuestionIdMap(List<QuestionEditRequestVM> questionItems) {
         Map<String, List<QuestionEditRequestVM>> parentQuestionIdMap = questionItems.stream().collect(Collectors.groupingBy(QuestionEditRequestVM::getParentQuestionId));
         parentQuestionIdMap.remove("");
         return parentQuestionIdMap;
     }
+
     private Map<Integer, List<QuestionEditRequestVM>> getPartOrderQuestionMap(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<QuestionEditRequestVM> questionItems) {
         List<QuestionPart> parts = examPaperTitleItemVMS.get(0).getParts();
-        
+        // Map(partOrder,QuestionEditRequestVMList)
         Map<Integer, List<QuestionEditRequestVM>> questionEditRequestVMSMap = new LinkedHashMap<>();
         for (QuestionPart questionPart : parts) {
-            
+            // 濉厖questionEditRequestVMSMap
             getPartintelligenceAndTitleMap(questionItems, questionEditRequestVMSMap, questionPart);
         }
         return questionEditRequestVMSMap;
     }
-    
+
+    // 鎵撲贡棰樼洰
     private List<QuestionEditRequestVM> getQuestionEditRequestRandVMS(List<QuestionEditRequestVM> questionEditRequestVM) {
         List<Integer> randList = new ArrayList<>();
         for (int i = 0; i < questionEditRequestVM.size(); i++) {
@@ -422,15 +490,16 @@
         Collections.shuffle(randList);
         List<QuestionEditRequestVM> intelligenceTitleListResult = new ArrayList<>();
         for (int i : randList) {
-            
+            // 閲嶆柊鎺掑簭鐨勬椂鍊欐墦涔遍鐩殑姣忎竴涓�夐」
             QuestionEditRequestVM questionEditRequestVMResult = questionEditRequestVM.get(i);
-            
+            // 鎵撲贡棰樼洰閫夐」鐨勯『搴�
             setRandQuestionItems( questionEditRequestVMResult);
             intelligenceTitleListResult.add(questionEditRequestVMResult);
         }
         questionEditRequestVM = intelligenceTitleListResult;
         return questionEditRequestVM;
     }
+
     private void setRandQuestionItems( QuestionEditRequestVM questionEditRequestVMDTO) {
         List<QuestionEditItemVM> items = questionEditRequestVMDTO.getItems();
         List<Integer> randItemList = new ArrayList<>();
@@ -439,26 +508,33 @@
             for (int j = 0; j < items.size(); j++) {
                 randItemList.add(j);
             }
+
             Collections.shuffle(randItemList);
+
             for (int k : randItemList) {
                 itemsResult.add(items.get(k));
             }
+
             questionEditRequestVMDTO.setItems(itemsResult);
         }
     }
+
     private void getPartintelligenceAndTitleMap(List<QuestionEditRequestVM> intelligenceAndTitleList, Map<Integer, List<QuestionEditRequestVM>> questionEditRequestVMSMap, QuestionPart questionPart) {
         Integer partOrder = questionPart.getPartOrder();
         List<QuestionEditRequestVM> questionEditRequestListVMS = new ArrayList<>();
         for (QuestionEditRequestVM questionEditRequestVM : intelligenceAndTitleList) {
             if (Objects.equals(questionEditRequestVM.getPartOrder(), partOrder)) {
                 questionEditRequestListVMS.add(questionEditRequestVM);
+
             }
         }
         questionEditRequestVMSMap.put(partOrder, questionEditRequestListVMS);
     }
-    
+
+
+    // 璁剧疆棰樼洰涓嬫爣鐨勯殢鏈�
     private void setSubscript(List<Integer> intList, List<QuestionEditRequestVM> questionItems) {
-        
+        // 濡傛灉棰樼洰鏈夊垎娈�
         if (Objects.nonNull(questionItems.get(0).getPartOrder()) && questionItems.get(0).getPartOrder() != 0) {
             int partOrder = questionItems.get(0).getPartOrder();
             List<Integer> partOrderList = new ArrayList<>();
@@ -475,21 +551,25 @@
                     partOrderList.add(i);
                 }
             }
-            
+
+            // 鏈�鍚庝竴娆℃墦涔�
             Collections.shuffle(partOrderList);
             for (int partOrderTemp : partOrderList) {
                 intList.add(partOrderTemp);
             }
+
         } else {
             for (int i = 0; i < questionItems.size(); i++) {
                 intList.add(i);
             }
-            
+
+            // 闅忔満鎵撲贡鏁扮粍鐨勯『搴�
             Collections.shuffle(intList);
         }
     }
+
     private List<ExamPaperTitleItemVM> getExamJobPaperTitleItemVMS(List<ExamPaperTitleItemVM> examPaperTitleItemVMS, List<Integer> intList, String tokenId) {
-        
+        // 鍒ゆ柇棰樼洰椤哄簭鏄惁宸茬粡闅忔満杩囦簡
         TExamReport tExamReportQuery = new TExamReport();
         tExamReportQuery.setTokenId(tokenId);
         List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReportQuery);
@@ -497,19 +577,25 @@
             TExamReport tExamReport = tExamReportList.get(0);
             intList = JSON.parseObject(tExamReport.getQuestionOrder(), ArrayList.class);
         } else {
-            
+            // 鏂板闅忔満鎵撲贡搴忓垪
             for (int i = 0; i < examPaperTitleItemVMS.size(); i++) {
                 intList.add(i);
             }
-            
+
+            // 闅忔満鎵撲贡鏁扮粍鐨勯『搴�
             Collections.shuffle(intList);
         }
+
+
         List<ExamPaperTitleItemVM> examPaperTitleItemVMSRandoms = new ArrayList<ExamPaperTitleItemVM>();
+
         int itemOrder = 0;
         for (int i = 0; i < intList.size(); i++) {
             examPaperTitleItemVMSRandoms.add(examPaperTitleItemVMS.get(intList.get(i)));
         }
-        
+
+
+        // 閲嶆柊鎺掑簭閫夐」鐨勯『搴忥紝璁剧疆questionReport缁欏墠绔�
         for (ExamPaperTitleItemVM examPaperTitleItemVM : examPaperTitleItemVMSRandoms) {
             List<QuestionEditRequestVM> questionItems = examPaperTitleItemVM.getQuestionItems();
             int suffixIndex = 97;
@@ -517,12 +603,13 @@
                 questionEditRequestVM.setItemOrder(++itemOrder);
                 questionEditRequestVM.setPermanentId(examPaperTitleItemVM.getPermanentId() + (char)suffixIndex++);
             }
-            
+            // 璁剧疆questionReport缁欏墠绔�
             setQuestionReportForVM(tExamReportList, examPaperTitleItemVM);
         }
         return examPaperTitleItemVMSRandoms;
     }
-    
+
+    // 璁剧疆questionReport缁欏墠绔�,job, 浜烘牸閮藉彲浠ョ敤
     private void setQuestionReportForVM(List<TExamReport> tExamReportList, ExamPaperTitleItemVM examPaperTitleItemVM) {
         for (TExamReport tExamReport : tExamReportList) {
             List<QuestionReport> questionReportList = JsonUtil.toJsonListObject(tExamReport.getQuestionReport(), QuestionReport.class);
@@ -536,7 +623,8 @@
             }
         }
     }
-    
+
+    // 璁剧疆questionReport缁欏墠绔�,job, 浜烘牸閮藉彲浠ョ敤
     private void setQuestionReportForVM(List<TExamReport> tExamReportList, QuestionEditRequestVM editRequestVM) {
         for (TExamReport tExamReport : tExamReportList) {
             List<QuestionReport> questionReportList = JsonUtil.toJsonListObject(tExamReport.getQuestionReport(), QuestionReport.class);
@@ -550,34 +638,43 @@
             }
         }
     }
+
     @Override
     public Integer selectAllCount() {
         return examPaperMapper.selectAllCount();
     }
+
     @Override
     public List<Integer> selectMothCount() {
         return null;
     }
+
+
     @Override
     public int deleteById(Integer id) {
         return 0;
     }
+
     @Override
     public int insert(ExamPaper record) {
         return 0;
     }
+
     @Override
     public int insertByFilter(ExamPaper record) {
         return 0;
     }
+
     @Override
     public ExamPaper selectById(Integer id) {
         return null;
     }
+
     @Override
     public int updateByIdFilter(ExamPaper record) {
         return 0;
     }
+
     @Override
     public int updateById(ExamPaper record) {
         return 0;

--
Gitblit v1.9.1