Procházet zdrojové kódy

修改试卷接口,任务试卷查询接口业务BUG修正

zhaosongshan před 7 měsíci
rodič
revize
009d6b5eb2

+ 33 - 29
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/student/DashboardController.java

@@ -77,13 +77,19 @@ public class DashboardController extends BaseApiController {
     public CommonResult<List<TaskItemVm>> task() {
         SaBaseLoginUser user = getCurrentUser();
         List<TaskExam> taskExams = taskExamService.getByGradeLevel(user.getSortCode());
-
+        taskExams.stream().forEach(d -> {
+            System.out.println("ddddddddddddddddddddddddddddddddd "+JSON.toJSONString(d));
+        });
         if (taskExams.size() == 0) {
             return CommonResult.data(new ArrayList<>());
         }
         List<Integer> tIds = taskExams.stream().map(taskExam -> taskExam.getId()).collect(Collectors.toList());
         List<TaskExamCustomerAnswer> taskExamCustomerAnswers = taskExamCustomerAnswerService.selectByTUid(tIds, user.getId());
-
+        taskExamCustomerAnswers.stream().forEach(
+                taskExamCustomerAnswer -> {
+                    System.out.println("taskExamCustomerAnswerstaskExamCustomerAnswerstaskExamCustomerAnswers "+ JSONUtil.toJsonStr(taskExamCustomerAnswer));
+                }
+        );
 
         List<TaskItemVm> vm = new ArrayList<TaskItemVm>();
         for(TaskExam t : taskExams){
@@ -98,13 +104,13 @@ public class DashboardController extends BaseApiController {
                     taskExamCustomerAnswer = tec;
                 }
             }
-            if(taskExamCustomerAnswer != null){
-                List<TaskItemPaperVm> paperItemVMS = getTaskItemPaperVm(t.getFrameTextContentId(), taskExamCustomerAnswer);
-                if(paperItemVMS != null){
-                    itemVm.setPaperItems(paperItemVMS);
-                }
-                vm.add(itemVm);
+
+            System.out.println("taskExamCustomerAnswertaskExamCustomerAnswer "+taskExamCustomerAnswer);
+            List<TaskItemPaperVm> paperItemVMS = getTaskItemPaperVm(t.getFrameTextContentId(), taskExamCustomerAnswer);
+            if(paperItemVMS != null){
+                itemVm.setPaperItems(paperItemVMS);
             }
+            vm.add(itemVm);
         }
 
 
@@ -140,29 +146,29 @@ public class DashboardController extends BaseApiController {
         List<TaskItemAnswerObject> answerPaperItems = null;
         if (null != taskExamCustomerAnswers) {
             TextContent answerTextContent = textContentService.selectById(taskExamCustomerAnswers.getTextContentId());
+            System.out.println("answerTextContent "+answerTextContent);
             answerPaperItems = JsonUtil.toJsonListObject(answerTextContent.getContent(), TaskItemAnswerObject.class);
         }
-        if(answerPaperItems != null){
-            List<TaskItemAnswerObject> finalAnswerPaperItems = answerPaperItems;
-
-            List<TaskItemPaperVm> results = new ArrayList<TaskItemPaperVm>();
-            for(TaskItemObject p : paperItems){
-                TaskItemPaperVm ivm = new TaskItemPaperVm();
-                ivm.setExamPaperId(p.getExamPaperId());
-                ivm.setExamPaperName(p.getExamPaperName());
-                if (null != finalAnswerPaperItems) {
-                    for(TaskItemAnswerObject a :finalAnswerPaperItems){
-                        if(a != null && a.getExamPaperId() !=null && a.getExamPaperId().equals(p.getExamPaperId())){
-                            ivm.setExamPaperAnswerId(a.getExamPaperAnswerId());
-                            ivm.setStatus(a.getStatus());
-                        }
+        List<TaskItemAnswerObject> finalAnswerPaperItems = answerPaperItems;
+
+        List<TaskItemPaperVm> results = new ArrayList<TaskItemPaperVm>();
+        for(TaskItemObject p : paperItems){
+            TaskItemPaperVm ivm = new TaskItemPaperVm();
+            ivm.setExamPaperId(p.getExamPaperId());
+            ivm.setExamPaperName(p.getExamPaperName());
+            if (null != finalAnswerPaperItems) {
+                for(TaskItemAnswerObject a :finalAnswerPaperItems){
+                    if(a != null && a.getExamPaperId() !=null && a.getExamPaperId().equals(p.getExamPaperId())){
+                        ivm.setExamPaperAnswerId(a.getExamPaperAnswerId());
+                        ivm.setStatus(a.getStatus());
                     }
                 }
-                if(ivm.getExamPaperAnswerId() == null){
-                    results.add(ivm);
-                }
+            }else{
+                ivm.setStatus(1); // 默认未完成
             }
-            return results;
+            results.add(ivm);
+        }
+        return results;
 
 //            return paperItems.stream().map(p -> {
 //                        TaskItemPaperVm ivm = new TaskItemPaperVm();
@@ -180,8 +186,6 @@ public class DashboardController extends BaseApiController {
 //                        return ivm;
 //                    }
 //            ).collect(Collectors.toList());
-        }else{
-            return null;
-        }
+
     }
 }

+ 14 - 0
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/domain/Question.java

@@ -50,6 +50,12 @@ public class Question implements Serializable {
      */
     private Integer infoTextContentId;
 
+    /**
+     * 题库类型
+     */
+    private String bankType;
+
+
     /**
      * 创建人
      */
@@ -191,6 +197,14 @@ public class Question implements Serializable {
         this.scoreStr = scoreStr;
     }
 
+    public String getBankType() {
+        return bankType;
+    }
+
+    public void setBankType(String bankType) {
+        this.bankType = bankType;
+    }
+
     public void setCorrectFromVM(String correct, List<String> correctArray) {
         int qType = this.getQuestionType();
         if (qType == QuestionTypeEnum.MultipleChoice.getCode()) {

+ 6 - 5
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/ExamPaperServiceImpl.java

@@ -3,6 +3,8 @@ package vip.xiaonuo.exam.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.map.MapUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -13,10 +15,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.api.CourseChapterPaperApi;
-import vip.xiaonuo.exam.domain.CourseChapterPaper;
-import vip.xiaonuo.exam.domain.ExamPaper;
-import vip.xiaonuo.exam.domain.Question;
-import vip.xiaonuo.exam.domain.TextContent;
+import vip.xiaonuo.exam.domain.*;
 import vip.xiaonuo.exam.domain.enums.ExamPaperTypeEnum;
 import vip.xiaonuo.exam.domain.exam.ExamPaperQuestionItemObject;
 import vip.xiaonuo.exam.domain.exam.ExamPaperTitleItemObject;
@@ -43,6 +42,9 @@ import javax.annotation.Resource;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
+
+import static vip.xiaonuo.exam.domain.enums.ExamPaperTypeEnum.Task;
+
 @Slf4j
 @Service
 public class ExamPaperServiceImpl extends BaseServiceImpl<ExamPaper> implements ExamPaperService, CourseChapterPaperApi {
@@ -102,7 +104,6 @@ public class ExamPaperServiceImpl extends BaseServiceImpl<ExamPaper> implements
         List<ExamPaperTitleItemVM> titleItemsVM = examPaperEditRequestVM.getTitleItems();
         List<ExamPaperTitleItemObject> frameTextContentList = frameTextContentFromVM(titleItemsVM);
         String frameTextContentStr = JsonUtil.toJsonStr(frameTextContentList);
-
         ExamPaper examPaper;
         if (actionEnum == ActionEnum.ADD) {
             examPaper = modelMapper.map(examPaperEditRequestVM, ExamPaper.class);