From eda55530e64d87f6c642ce4596dc288a49f258cc Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 03 七月 2024 18:39:12 +0800
Subject: [PATCH] 学生考试分页增加提交状态,登录学生信息返回

---
 src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java |    4 ++--
 src/main/java/com/ycl/jxkg/domain/vo/ExamVO.java                                        |    3 ++-
 src/main/resources/mapper/ExamMapper.xml                                                |    5 ++++-
 src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java                            |    2 ++
 4 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java b/src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java
index 7c2a229..a576497 100644
--- a/src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java
+++ b/src/main/java/com/ycl/jxkg/config/spring/security/RestAuthenticationSuccessHandler.java
@@ -4,6 +4,7 @@
 import com.ycl.jxkg.domain.entity.UserEventLog;
 import com.ycl.jxkg.event.UserEvent;
 import com.ycl.jxkg.service.UserService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.security.core.Authentication;
@@ -53,8 +54,7 @@
                 userEventLog.setContent(user.getUserName() + " 鐧诲綍浜嗘睙瑗胯闊宠棰戝煿璁郴缁�");
                 eventPublisher.publishEvent(new UserEvent(userEventLog));
                 com.ycl.jxkg.domain.entity.User newUser = new com.ycl.jxkg.domain.entity.User();
-                newUser.setUserName(user.getUserName());
-                newUser.setImagePath(user.getImagePath());
+                BeanUtils.copyProperties(user,newUser);
                 RestUtil.response(response, SystemCode.OK.getCode(), SystemCode.OK.getMessage(), newUser);
             }
         } else {
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/ExamVO.java b/src/main/java/com/ycl/jxkg/domain/vo/ExamVO.java
index 971d8fa..31bebbb 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/ExamVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/ExamVO.java
@@ -57,7 +57,8 @@
 
     /** 鏄惁鏄户缁�冭瘯 */
     private Boolean isContinue;
-
+    /** 鎻愪氦鐘舵�� */
+    private String submitStatus;
     public static ExamVO getVoByEntity(@NonNull Exam entity, ExamVO vo) {
         if(vo == null) {
             vo = new ExamVO();
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
index bd7cc38..03ff2fa 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -10,6 +10,7 @@
 import com.ycl.jxkg.base.Result;
 import com.ycl.jxkg.base.SystemCode;
 import com.ycl.jxkg.context.WebContext;
+import com.ycl.jxkg.domain.base.AbsVo;
 import com.ycl.jxkg.domain.entity.*;
 import com.ycl.jxkg.domain.exam.PaperFixQuestionDTO;
 import com.ycl.jxkg.domain.exam.PaperQuestion;
@@ -117,6 +118,7 @@
         if (baseMapper.updateById(entity) > 0) {
             this.sendMQ(entity, entity.getUpdateVersion() + 1);
         }
+
         return Result.ok("淇敼鎴愬姛");
     }
 
diff --git a/src/main/resources/mapper/ExamMapper.xml b/src/main/resources/mapper/ExamMapper.xml
index e75c76e..7a3a092 100644
--- a/src/main/resources/mapper/ExamMapper.xml
+++ b/src/main/resources/mapper/ExamMapper.xml
@@ -17,6 +17,7 @@
         <result column="class_name" property="className" />
         <result column="name" property="examPaperName" />
         <result column="isContinue" property="isContinue" />
+        <result column="submitStatus" property="submitStatus" />
     </resultMap>
 
     <select id="getById" resultMap="BaseResultMap">
@@ -88,14 +89,16 @@
             TE.id,
             TC.class_name,
             TEP.name,
+            TEST.status as submitStatus,
             (SELECT IF(COUNT(*) > 0, true, false) FROM t_exam_submit_temp WHERE user_id = #{userId} AND status = 'temp') as isContinue
         FROM
             t_exam TE
         INNER JOIN t_classes TC ON TC.id = TE.classes_id AND TC.deleted = 0 AND TC.status = 'normal'
         INNER JOIN t_classes_user TCU ON TC.id = TCU.classes_id  And TCU.deleted = 0 AND TC.deleted = 0 AND TCU.user_id = #{userId}
         INNER JOIN t_exam_paper TEP ON TEP.id = TE.exam_paper_id AND TEP.deleted = 0
+        LEFT JOIN t_exam_submit_temp TEST ON TEST.exam_id = TE.id
         WHERE
-            TE.deleted = 0
+            TE.deleted = 0 and TEST.deleted !=1
             <if test="query.examName != null and query.examName != ''">
                 AND TE.exam_name like concat('%', #{query.examName}, '%')
             </if>

--
Gitblit v1.8.0