From c227e3938798eb7d529575ba1f3ea1c56ae63cfe Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期一, 01 七月 2024 13:16:34 +0800
Subject: [PATCH] refactor:恢复成绩接口
---
src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperAnswerPageRequestVO.java | 2
src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageResponseVO.java | 9 +
src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerExportVO.java | 4
src/main/resources/mapper/ExamPaperScoreMapper.xml | 75 +++++++++---------
src/main/java/com/ycl/jxkg/controller/wx/student/ExamPaperAnswerController.java | 59 +++++---------
src/main/java/com/ycl/jxkg/domain/entity/ExamPaperScore.java | 1
src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageVO.java | 2
src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java | 34 +-------
src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java | 2
src/main/java/com/ycl/jxkg/service/ExamPaperScoreService.java | 2
src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java | 9 -
11 files changed, 85 insertions(+), 114 deletions(-)
diff --git a/src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java b/src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java
index 1f3c735..fe52355 100644
--- a/src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java
+++ b/src/main/java/com/ycl/jxkg/controller/student/ExamPaperAnswerController.java
@@ -1,34 +1,24 @@
package com.ycl.jxkg.controller.student;
+import com.github.pagehelper.PageInfo;
import com.ycl.jxkg.base.BaseApiController;
import com.ycl.jxkg.base.Result;
-import com.ycl.jxkg.domain.*;
+import com.ycl.jxkg.domain.ExamPaperAnswerInfo;
import com.ycl.jxkg.domain.entity.ExamPaperScore;
-import com.ycl.jxkg.domain.entity.Subject;
import com.ycl.jxkg.domain.entity.User;
-import com.ycl.jxkg.domain.entity.UserEventLog;
-import com.ycl.jxkg.enums.ExamPaperAnswerStatusEnum;
-import com.ycl.jxkg.event.CalculateExamPaperAnswerCompleteEvent;
-import com.ycl.jxkg.event.UserEvent;
-import com.ycl.jxkg.service.ExamPaperScoreService;
-import com.ycl.jxkg.service.ExamPaperService;
-import com.ycl.jxkg.service.SubjectService;
-import com.ycl.jxkg.utils.DateTimeUtil;
-import com.ycl.jxkg.utils.ExamUtil;
-import com.ycl.jxkg.utils.PageInfoHelper;
import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperEditRequestVO;
import com.ycl.jxkg.domain.vo.student.exam.ExamPaperReadVO;
import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitVO;
import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO;
import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO;
-import com.github.pagehelper.PageInfo;
+import com.ycl.jxkg.service.ExamPaperScoreService;
+import com.ycl.jxkg.service.ExamPaperService;
+import com.ycl.jxkg.service.SubjectService;
import lombok.RequiredArgsConstructor;
-import org.springframework.beans.BeanUtils;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
-import java.util.Date;
@RequiredArgsConstructor
@RestController("StudentExamPaperAnswerController")
@@ -44,19 +34,7 @@
@RequestMapping(value = "/pageList", method = RequestMethod.POST)
public Result<PageInfo<ExamPaperAnswerPageResponseVO>> pageList(@RequestBody @Valid ExamPaperAnswerPageVO model) {
model.setCreateUser(getCurrentUser().getId());
- PageInfo<ExamPaperScore> pageInfo = examPaperScoreService.studentPage(model);
- PageInfo<ExamPaperAnswerPageResponseVO> page = PageInfoHelper.copyMap(pageInfo, e -> {
- ExamPaperAnswerPageResponseVO vo = new ExamPaperAnswerPageResponseVO();
-// BeanUtils.copyProperties(e, vo);
-// Subject subject = subjectService.getById(vo.getSubjectId());
-// vo.setDoTime(ExamUtil.secondToVM(e.getDoTime()));
-// vo.setSystemScore(ExamUtil.scoreToVM(e.getSystemScore()));
-// vo.setUserScore(ExamUtil.scoreToVM(e.getUserScore()));
-// vo.setPaperScore(ExamUtil.scoreToVM(e.getPaperScore()));
-// vo.setSubjectName(subject.getName());
-// vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
- return vo;
- });
+ PageInfo<ExamPaperAnswerPageResponseVO> page = examPaperScoreService.studentPage(model);
return Result.ok(page);
}
diff --git a/src/main/java/com/ycl/jxkg/controller/wx/student/ExamPaperAnswerController.java b/src/main/java/com/ycl/jxkg/controller/wx/student/ExamPaperAnswerController.java
index c1893b6..9df49bf 100644
--- a/src/main/java/com/ycl/jxkg/controller/wx/student/ExamPaperAnswerController.java
+++ b/src/main/java/com/ycl/jxkg/controller/wx/student/ExamPaperAnswerController.java
@@ -2,35 +2,22 @@
import com.ycl.jxkg.base.Result;
import com.ycl.jxkg.controller.wx.BaseWXApiController;
-import com.ycl.jxkg.domain.*;
import com.ycl.jxkg.domain.entity.ExamPaperScore;
-import com.ycl.jxkg.domain.entity.Subject;
-import com.ycl.jxkg.domain.entity.User;
-import com.ycl.jxkg.domain.entity.UserEventLog;
-import com.ycl.jxkg.enums.QuestionTypeEnum;
-import com.ycl.jxkg.event.CalculateExamPaperAnswerCompleteEvent;
-import com.ycl.jxkg.event.UserEvent;
-import com.ycl.jxkg.service.ExamPaperScoreService;
-import com.ycl.jxkg.service.ExamPaperService;
-import com.ycl.jxkg.service.SubjectService;
-import com.ycl.jxkg.utils.DateTimeUtil;
-import com.ycl.jxkg.utils.ExamUtil;
-import com.ycl.jxkg.utils.PageInfoHelper;
import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperEditRequestVO;
-import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO;
-import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO;
-import com.github.pagehelper.PageInfo;
import com.ycl.jxkg.domain.vo.student.exam.ExamPaperReadVO;
import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitItemVO;
import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitVO;
+import com.ycl.jxkg.enums.QuestionTypeEnum;
+import com.ycl.jxkg.service.ExamPaperScoreService;
+import com.ycl.jxkg.service.ExamPaperService;
+import com.ycl.jxkg.service.SubjectService;
+import com.ycl.jxkg.utils.ExamUtil;
import lombok.RequiredArgsConstructor;
-import org.springframework.beans.BeanUtils;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
-import javax.validation.Valid;
import java.util.*;
import java.util.stream.Collectors;
@@ -45,24 +32,24 @@
private final ApplicationEventPublisher eventPublisher;
private final ExamPaperService examPaperService;
- @RequestMapping(value = "/pageList", method = RequestMethod.POST)
- public Result<PageInfo<ExamPaperAnswerPageResponseVO>> pageList(@Valid ExamPaperAnswerPageVO model) {
- model.setCreateUser(getCurrentUser().getId());
- PageInfo<ExamPaperScore> pageInfo = examPaperScoreService.studentPage(model);
- PageInfo<ExamPaperAnswerPageResponseVO> page = PageInfoHelper.copyMap(pageInfo, e -> {
- ExamPaperAnswerPageResponseVO vo = new ExamPaperAnswerPageResponseVO();
- BeanUtils.copyProperties(e, vo);
- Subject subject = subjectService.getById(vo.getSubjectId());
- vo.setDoTime(ExamUtil.secondToVM(e.getDoTime()));
-// vo.setSystemScore(ExamUtil.scoreToVM(e.getSystemScore()));
-// vo.setUserScore(ExamUtil.scoreToVM(e.getUserScore()));
-// vo.setPaperScore(ExamUtil.scoreToVM(e.getPaperScore()));
- vo.setSubjectName(subject.getName());
-// vo.setCreateTime(DateTimeUtil.dateFormat(e.get));
- return vo;
- });
- return Result.ok(page);
- }
+// @RequestMapping(value = "/pageList", method = RequestMethod.POST)
+// public Result<PageInfo<ExamPaperAnswerPageResponseVO>> pageList(@Valid ExamPaperAnswerPageVO model) {
+// model.setCreateUser(getCurrentUser().getId());
+// PageInfo<ExamPaperScore> pageInfo = examPaperScoreService.studentPage(model);
+// PageInfo<ExamPaperAnswerPageResponseVO> page = PageInfoHelper.copyMap(pageInfo, e -> {
+// ExamPaperAnswerPageResponseVO vo = new ExamPaperAnswerPageResponseVO();
+// BeanUtils.copyProperties(e, vo);
+// Subject subject = subjectService.getById(vo.getSubjectId());
+// vo.setDoTime(ExamUtil.secondToVM(e.getDoTime()));
+// // vo.setSystemScore(ExamUtil.scoreToVM(e.getSystemScore()));
+// // vo.setUserScore(ExamUtil.scoreToVM(e.getUserScore()));
+// // vo.setPaperScore(ExamUtil.scoreToVM(e.getPaperScore()));
+// vo.setSubjectName(subject.getName());
+// vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
+// return vo;
+// });
+// return Result.ok(page);
+// }
@RequestMapping(value = "/answerSubmit", method = RequestMethod.POST)
diff --git a/src/main/java/com/ycl/jxkg/domain/entity/ExamPaperScore.java b/src/main/java/com/ycl/jxkg/domain/entity/ExamPaperScore.java
index 8e884dc..738eb93 100644
--- a/src/main/java/com/ycl/jxkg/domain/entity/ExamPaperScore.java
+++ b/src/main/java/com/ycl/jxkg/domain/entity/ExamPaperScore.java
@@ -6,7 +6,6 @@
import com.ycl.jxkg.domain.base.AbsEntity;
import lombok.Data;
-import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperAnswerPageRequestVO.java b/src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperAnswerPageRequestVO.java
index d150342..f440fb6 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperAnswerPageRequestVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperAnswerPageRequestVO.java
@@ -12,6 +12,8 @@
private Integer examPaperId;
+ private Integer examId;
+
private String name;
private String userName;
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerExportVO.java b/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerExportVO.java
index d60564e..a12009c 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerExportVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerExportVO.java
@@ -20,10 +20,10 @@
private String userName;
@ExcelProperty("鍒嗘暟")
- private String userScore;
+ private String score;
@ExcelProperty("鎬诲垎")
- private String paperScore;
+ private String totalScore;
@ExcelProperty("姝g‘棰樻暟")
private Integer questionCorrect;
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageResponseVO.java b/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageResponseVO.java
index f973851..eb8437e 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageResponseVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageResponseVO.java
@@ -2,6 +2,9 @@
import lombok.Data;
+/**
+ * @author gonghl
+ */
@Data
public class ExamPaperAnswerPageResponseVO {
@@ -9,7 +12,9 @@
private String createTime;
- private String userScore;
+ private String submitTime;
+
+ private String score;
private String subjectName;
@@ -25,7 +30,7 @@
private Integer paperType;
- private String systemScore;
+ private String totalScore;
private Integer status;
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageVO.java b/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageVO.java
index ee73a16..d33c46d 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageVO.java
@@ -6,7 +6,7 @@
@Data
public class ExamPaperAnswerPageVO extends BasePage {
- private Integer subjectId;
+ private String examName;
private Integer createUser;
diff --git a/src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java b/src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java
index 366faeb..2e75e96 100644
--- a/src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java
+++ b/src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java
@@ -15,7 +15,7 @@
@Mapper
public interface ExamPaperScoreMapper extends BaseMapper<ExamPaperScore> {
- List<ExamPaperScore> studentPage(ExamPaperAnswerPageVO requestVM);
+ List<ExamPaperAnswerPageResponseVO> studentPage(ExamPaperAnswerPageVO requestVM);
Integer selectAllCount();
Integer selectAllQuestionCount();
diff --git a/src/main/java/com/ycl/jxkg/service/ExamPaperScoreService.java b/src/main/java/com/ycl/jxkg/service/ExamPaperScoreService.java
index 989250a..5a24a31 100644
--- a/src/main/java/com/ycl/jxkg/service/ExamPaperScoreService.java
+++ b/src/main/java/com/ycl/jxkg/service/ExamPaperScoreService.java
@@ -20,7 +20,7 @@
* @param requestVM 杩囨护鏉′欢
* @return PageInfo<ExamPaperAnswer>
*/
- PageInfo<ExamPaperScore> studentPage(ExamPaperAnswerPageVO requestVM);
+ PageInfo<ExamPaperAnswerPageResponseVO> studentPage(ExamPaperAnswerPageVO requestVM);
/**
* 璁$畻璇曞嵎鎻愪氦缁撴灉(涓嶅叆搴�)
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java
index 4c8ac51..0956744 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java
@@ -5,22 +5,20 @@
import com.github.pagehelper.PageInfo;
import com.ycl.jxkg.domain.ExamPaperAnswerInfo;
import com.ycl.jxkg.domain.entity.*;
-import com.ycl.jxkg.domain.other.ExamPaperAnswerUpdate;
import com.ycl.jxkg.domain.other.KeyValue;
import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO;
import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitItemVO;
import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitVO;
import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO;
import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO;
-import com.ycl.jxkg.enums.ExamPaperAnswerStatusEnum;
import com.ycl.jxkg.enums.ExamPaperTypeEnum;
import com.ycl.jxkg.enums.QuestionTypeEnum;
-import com.ycl.jxkg.mapper.ExamPaperScoreMapper;
import com.ycl.jxkg.mapper.ExamPaperMapper;
+import com.ycl.jxkg.mapper.ExamPaperScoreMapper;
import com.ycl.jxkg.mapper.QuestionMapper;
import com.ycl.jxkg.mapper.TaskExamCustomerAnswerMapper;
-import com.ycl.jxkg.service.ExamPaperScoreService;
import com.ycl.jxkg.service.ExamPaperScoreDetailService;
+import com.ycl.jxkg.service.ExamPaperScoreService;
import com.ycl.jxkg.service.TextContentService;
import com.ycl.jxkg.utils.DateTimeUtil;
import com.ycl.jxkg.utils.ExamUtil;
@@ -29,7 +27,6 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -47,7 +44,7 @@
@Override
- public PageInfo<ExamPaperScore> studentPage(ExamPaperAnswerPageVO requestVM) {
+ public PageInfo<ExamPaperAnswerPageResponseVO> studentPage(ExamPaperAnswerPageVO requestVM) {
return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
examPaperScoreMapper.studentPage(requestVM));
}
diff --git a/src/main/resources/mapper/ExamPaperScoreMapper.xml b/src/main/resources/mapper/ExamPaperScoreMapper.xml
index 0c4926f..aa4d216 100644
--- a/src/main/resources/mapper/ExamPaperScoreMapper.xml
+++ b/src/main/resources/mapper/ExamPaperScoreMapper.xml
@@ -22,50 +22,55 @@
<result column="navbar" property="navbar"/>
</resultMap>
<sql id="Base_Column_List">
- id
- , paper_id, paper_name, paper_type, score,total_score,
- question_correct, question_count, do_time, status, user_id, exam_id,exam_name,
- judge_user,submit_time,paper_content,judge_time,navbar
+ id,
+ exam_id,
+ exam_name,
+ paper_id,
+ paper_type,
+ score,
+ total_score,
+ question_correct,
+ question_count,
+ do_time,
+ status,
+ user_id,
+ judge_user,
+ submit_time,
+ paper_content,
+ navbar,
+ judge_time,
+ deleted
</sql>
- <select id="studentPage" resultMap="BaseResultMap"
- parameterType="com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO">
+ <select id="studentPage" resultType="com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO">
SELECT
<include refid="Base_Column_List"/>
- FROM t_exam_paper_answer
+ FROM t_exam_paper_score
<where>
and user_id = #{createUser}
+ <if test="examName != null and examName != ''">
+ and INSTR(exam_name, #{examName})
+ </if>
</where>
</select>
-
- <select id="getByExamIdUserId" resultType="com.ycl.jxkg.domain.entity.ExamPaperScore">
- SELECT
- <include refid="Base_Column_List"/>
- from t_exam_paper_score
- <where>
- and user_id = #{userId}
- and exam_id = #{examId}
- </where>
- </select>
<select id="selectAllCount" resultType="java.lang.Integer">
SELECT count(*)
from t_exam_paper_score
</select>
+
<select id="selectAllQuestionCount" resultType="java.lang.Integer">
SELECT sum(question_count)
from t_exam_paper_score
</select>
<select id="selectCountByDate" resultType="com.ycl.jxkg.domain.other.KeyValue">
- SELECT submit_time as name, sum(question_count) as value
- from
- (
- SELECT question_count ,DATE_FORMAT(submit_time, '%Y-%m-%d') as submit_time from t_exam_paper_score
- WHERE submit_time between #{startTime} and #{endTime}
- ) a
- GROUP BY submit_time
+ SELECT create_time as name, COUNT(create_time) as value
+ from (SELECT DATE_FORMAT(create_time, '%Y-%m-%d') as create_time
+ from t_exam_paper_score
+ WHERE create_time between #{startTime} and #{endTime}) a
+ GROUP BY create_time
</select>
@@ -80,14 +85,12 @@
<select id="adminPage" resultType="com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO">
SELECT
- a.id , exam_paper_id, paper_name, paper_type, system_score, user_score, paper_score,
- question_correct, question_count, do_time, a.status, create_user, a.create_time, b.real_name AS userName
- FROM t_exam_paper_answer a
- LEFT JOIN t_user b ON a.create_user = b.id
+ a.*, b.real_name AS userName, c.name as paperName
+ FROM t_exam_paper_score a
+ INNER JOIN t_user b ON a.user_id = b.id AND b.deleted = 0
+ INNER JOIN t_exam_paper c ON a.paper_id = c.id AND c.deleted = 0
<where>
- <if test="examPaperId != null">
- AND paper_id = #{examPaperId}
- </if>
+ exam_id = #{examId}
<if test="userName != null and userName != ''">
AND INSTR(b.real_name, #{userName})
</if>
@@ -96,9 +99,9 @@
<select id="pageExamPaper" resultType="com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO">
SELECT
- a.id,
+ t.id,
a.name AS paperName,
- a.score AS systemScore,
+ a.score AS totalScore,
a.num as questionCount,
a.subject_id,
a.paper_type,
@@ -110,9 +113,9 @@
t.exam_name
FROM t_exam_paper a
INNER JOIN t_exam t ON a.id = t.exam_paper_id AND t.deleted = 0
- LEFT JOIN t_subject b ON a.subject_id = b.id
- LEFT JOIN t_user c ON t.teacher_id = c.id
- LEFT JOIN t_exam_paper_answer d ON a.id = d.exam_paper_id
+ LEFT JOIN t_subject b ON a.subject_id = b.id AND b.deleted = 0
+ LEFT JOIN t_user c ON t.teacher_id = c.id AND c.deleted = 0
+ LEFT JOIN t_exam_paper_score d ON t.id = d.exam_id
LEFT JOIN t_exam_paper_classes e ON a.id = e.exam_paper_id
LEFT JOIN t_classes_user f ON e.classes_id = f.classes_id
<where>
--
Gitblit v1.8.0