From 93af1c6ffb9ae0e894689ad3a37b548e57d54cff Mon Sep 17 00:00:00 2001
From: linzhijie <19970921lzj>
Date: 星期四, 11 三月 2021 19:10:07 +0800
Subject: [PATCH] 有注释的测评系统业务代码

---
 src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java |   34 +++++++++++++++++++++++++++++-----
 1 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java b/src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java
index 1e71480..98d7ef2 100644
--- a/src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java
+++ b/src/main/java/com/ots/project/exam/restcontroller/ExamPaperController.java
@@ -1,4 +1,6 @@
 package com.ots.project.exam.restcontroller;
+
+
 import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson.JSON;
 import com.ots.common.constant.Constants;
@@ -35,6 +37,7 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -43,26 +46,35 @@
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
+
 @RestController("StudentExamPaperController")
 @RequestMapping(value = "/api/exam/paper")
 @AllArgsConstructor
 @Slf4j
 public class ExamPaperController extends BaseApiController {
+
     @Autowired
     private IExamPaperService examPaperService;
+
     @Autowired
     private TExamPaperServiceImpl itExamPaperService;
+
     @Autowired
     private ITExamReportService examReportService;
+
     @Autowired
     MemberService memberService;
+
     private static final Logger logger = LoggerFactory.getLogger(Threads.class);
+
     @RequestMapping(value = "/select/{tokenId}/{langType}", method = RequestMethod.POST)
     public RestResponse<ExamPaperEditRequestVM> select(@PathVariable String tokenId, @PathVariable String langType) {
         RelatedParty relatedParty = memberService.queryProdidByToken(tokenId);
         ExamPaperEditRequestVM vm = examPaperService.examPaperToVM(relatedParty, tokenId, langType);
         return RestResponse.ok(vm);
     }
+    
+
     @RequestMapping(value = "/selectTokenId/{selectTokenId}", method = RequestMethod.POST)
     public RestResponse<ExamResultRequestVM> selectTokenId(@PathVariable String selectTokenId) {
         try {
@@ -71,26 +83,33 @@
             tExamReport.setTokenId(selectTokenId);
             List<TExamReport> tExamReportList = examReportService.selectTExamReportList(tExamReport);
             ExamResultRequestVM examResultRequestVM = new ExamResultRequestVM();
+
             TExamPaper tExamPaper = itExamPaperService.selectTExamPaperById(memberService.queryProdidByToken(selectTokenId).getProdId());
+
             examResultRequestVM.setDoUrl(tExamPaper.getQuestionTemplateId());
             examResultRequestVM.setReportTemplateId(tExamPaper.getReportTemplateId());
+
             RelatedParty relatedParty = memberService.queryProdidByToken(selectTokenId);
             examResultRequestVM.setStatus(relatedParty.getStatus());
+
             TExamReport tExamReportResult = null;
             if (tExamReportList.size() > 0) {
                 tExamReportResult = tExamReportList.get(0);
-                
+                // 鐩墠鍙煡璇竴涓骇鍝佸寘缁欑敤鎴�
                 tExamReportTemp = tExamReportResult;
                 examResultRequestVM.setDoTime(tExamReportTemp.getDoTime());
                 examResultRequestVM.setFinish(tExamReportTemp.getFinish());
-                
+                // 鑾峰彇鏈�鍚庝竴涓墿浣欐椂闂淬�傛瘮濡傜幇鍦ㄦ湁2娈碉紝鑾峰彇绗�2娈�
                 Integer remainTimeResult = getRemainTimeResult(tExamReportTemp);
                 examResultRequestVM.setRemainTime(remainTimeResult);
             } else {
                 return RestResponse.ok(examResultRequestVM);
             }
+
             LinkedHashMap<String, String> answerMap = JSON.parseObject(tExamReportTemp.getChoice(), LinkedHashMap.class);
+
             examResultRequestVM.setExamItemOrderAndContentList(new ArrayList<>());
+
             if (!Objects.isNull(answerMap)) {
                 answerMap.forEach((k, v) -> {
                     ExamItemOrderAndContent examItemOrderAndContent = new ExamItemOrderAndContent();
@@ -99,7 +118,8 @@
                     examResultRequestVM.getExamItemOrderAndContentList().add(examItemOrderAndContent);
                 });
             }
-            
+
+            // 杩斿洖缁欏墠鍙版寚瀵艰
             getSignalObject(examResultRequestVM, tExamPaper, tExamReportResult);
             return RestResponse.ok(examResultRequestVM);
         } catch (Exception e) {
@@ -107,6 +127,7 @@
             return RestResponse.fail(new UserException("jsp.exam.product.noProduct", new String[]{}));
         }
     }
+
     private Integer getRemainTimeResult(TExamReport tExamReportTemp) {
         Map<Integer, Integer> remainPartTimeMap = JsonUtil.parseObject(tExamReportTemp.getRemainPartTime(), HashMap.class);
         if (Objects.isNull(remainPartTimeMap)) {
@@ -117,18 +138,20 @@
         Arrays.sort(remainPartTimeKeys);
         return remainPartTimeMap.get(remainPartTimeKeys[remainPartTimeKeys.length - 1]);
     }
+
     private void getSignalObject(ExamResultRequestVM examResultRequestVM, TExamPaper tExamPaper, TExamReport tExamReportResult) {
         List<ExamPaperTitleItem> examPaperTitleItemList = JsonUtil.parseArray(tExamPaper.getContent(), ExamPaperTitleItem.class);
         List<QuestionPart> parts = examPaperTitleItemList.get(0).getParts();
         if (CollUtil.isEmpty(parts)) {
             return;
         }
-        QuestionPart questionPart = parts.get(0); 
+        QuestionPart questionPart = parts.get(0); // 鍏堝啓姝�
         List<SignalObject> signals = questionPart.getSignals();
         List<ReportAPIResult> reportAPIResultList = JsonUtil.parseArray(tExamReportResult.getInterfaceContent(), ReportAPIResult.class);
         if (Objects.isNull(reportAPIResultList)) {
             return;
         }
+
         for (SignalObject signalObject : signals) {
             if (Objects.equals(reportAPIResultList.get(0).getSignal(), signalObject.getSignal())) {
                 signalObject.setSignalDescription(ExamUtil.getLangString(tExamReportResult.getLangType(), signalObject.getSignalDescription()));
@@ -141,7 +164,8 @@
             }
         }
     }
-    
+
+    // 璁板綍鐧婚檰鏃ュ織
     @RequestMapping(value = "/recordLogininfor/{selectTokenId}", method = RequestMethod.POST)
     public RestResponse<ExamResultRequestVM> recordLogininfor(@PathVariable String selectTokenId) {
         AsyncManager.me().execute(AsyncFactory.recordLogininfor(memberService.queryProdidByToken(selectTokenId).getMemberId().toString(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));

--
Gitblit v1.9.1