From 5dc1025f4f67a8750b8dd802f8def1fa2dfa116a Mon Sep 17 00:00:00 2001
From: 17808 <1780814303@qq.com>
Date: 星期二, 07 十一月 2023 17:43:48 +0800
Subject: [PATCH] 成绩统计后端
---
src/main/java/com/mindskip/xzs/domain/ExamPaperAnswer.java | 26 ++
src/main/java/com/mindskip/xzs/viewmodel/student/exampaper/ExamPaperAnswerPageResponseVM.java | 23 +
src/main/java/com/mindskip/xzs/service/UserDepartMentService.java | 21 +
src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java | 16 +
src/main/java/com/mindskip/xzs/repository/ScoreTemplatesUserCountMapper.java | 14 +
src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java | 12
src/main/java/com/mindskip/xzs/service/impl/UserDepartMentServiceImpl.java | 58 ++++
src/main/java/com/mindskip/xzs/repository/ExamPaperUserMapper.java | 6
src/main/java/com/mindskip/xzs/repository/UserDepartmentMapper.java | 6
src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java | 11
src/main/resources/mapper/ScoreTemplatesUserCountMapper.xml | 236 ++++++++++++++++++
src/main/java/com/mindskip/xzs/service/ScoreTemplatesUserCountService.java | 11
src/main/resources/mapper/ExamPaperAnswerMapper.xml | 23 +
src/main/java/com/mindskip/xzs/domain/UserDepartment.java | 2
src/main/resources/mapper/ExamPaperUserMapper.xml | 5
src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java | 6
src/main/resources/mapper/UserDepartmentMapper.xml | 15 +
src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java | 2
src/main/java/com/mindskip/xzs/service/impl/ScoreTemplatesUserCountServiceImpl.java | 37 ++
src/main/java/com/mindskip/xzs/domain/ScoreTemplatesUserCount.java | 66 +++++
src/main/java/com/mindskip/xzs/service/ExamPaperUserService.java | 4
src/main/java/com/mindskip/xzs/domain/ScoreTemplates.java | 54 ++++
src/main/java/com/mindskip/xzs/domain/vo/ScoreTemplatesCountVO.java | 103 +++++++
src/main/java/com/mindskip/xzs/service/impl/ExamPaperUserServiceImpl.java | 7
24 files changed, 743 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java b/src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java
index da15ddd..a3db86f 100644
--- a/src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java
+++ b/src/main/java/com/mindskip/xzs/configuration/spring/security/SecurityConfigurer.java
@@ -79,7 +79,7 @@
.and().authenticationProvider(restAuthenticationProvider)
.authorizeRequests()
.antMatchers(securityIgnoreUrls.toArray(ignores)).permitAll()
- .antMatchers("/api/admin/department/list", "/api/admin/video/getList","/api/admin/user/conversion").permitAll()
+ .antMatchers("/api/admin/department/list", "/api/admin/video/getList","/api/admin/user/conversion","/api/admin/examPaperGrade/updates").permitAll()
.antMatchers("/api/admin/**").hasRole(RoleEnum.ADMIN.getName())
.antMatchers("/api/student/**").hasRole(RoleEnum.STUDENT.getName())
.anyRequest().permitAll()
diff --git a/src/main/java/com/mindskip/xzs/domain/ExamPaperAnswer.java b/src/main/java/com/mindskip/xzs/domain/ExamPaperAnswer.java
index d73aac7..0e8aa9d 100644
--- a/src/main/java/com/mindskip/xzs/domain/ExamPaperAnswer.java
+++ b/src/main/java/com/mindskip/xzs/domain/ExamPaperAnswer.java
@@ -78,6 +78,14 @@
private Integer taskExamId;
+ private String formattedTime;
+
+
+ private String userName;
+
+
+
+
public Integer getId() {
return id;
}
@@ -204,4 +212,22 @@
public void setCounts(Integer counts) {
this.counts = counts;
}
+
+ public String getFormattedTime() {
+ return formattedTime;
+ }
+
+ public void setFormattedTime(String formattedTime) {
+ this.formattedTime = formattedTime == null ? null : formattedTime.trim();
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+
}
diff --git a/src/main/java/com/mindskip/xzs/domain/ScoreTemplates.java b/src/main/java/com/mindskip/xzs/domain/ScoreTemplates.java
new file mode 100644
index 0000000..230372b
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/ScoreTemplates.java
@@ -0,0 +1,54 @@
+package com.mindskip.xzs.domain;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class ScoreTemplates implements Serializable {
+
+ private Integer id;
+ private Integer examPaperId;
+ private Integer userId;
+ private Integer examTemplatesId;
+
+ private Date createTime;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getExamPaperId() {
+ return examPaperId;
+ }
+
+ public void setExamPaperId(Integer examPaperId) {
+ this.examPaperId = examPaperId;
+ }
+
+ public Integer getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Integer userId) {
+ this.userId = userId;
+ }
+
+ public Integer getExamTemplatesId() {
+ return examTemplatesId;
+ }
+
+ public void setExamTemplatesId(Integer examTemplatesId) {
+ this.examTemplatesId = examTemplatesId;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+}
diff --git a/src/main/java/com/mindskip/xzs/domain/ScoreTemplatesUserCount.java b/src/main/java/com/mindskip/xzs/domain/ScoreTemplatesUserCount.java
new file mode 100644
index 0000000..5d73da5
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/ScoreTemplatesUserCount.java
@@ -0,0 +1,66 @@
+package com.mindskip.xzs.domain;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class ScoreTemplatesUserCount implements Serializable {
+
+ private Integer id;
+ private Integer examPaperId;
+ private Integer userId;
+ private Integer examTemplatesId;
+
+ private Date createTime;
+
+
+ private String formattedCreateTime;
+
+
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Integer getExamPaperId() {
+ return examPaperId;
+ }
+
+ public void setExamPaperId(Integer examPaperId) {
+ this.examPaperId = examPaperId;
+ }
+
+ public Integer getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Integer userId) {
+ this.userId = userId;
+ }
+
+ public Integer getExamTemplatesId() {
+ return examTemplatesId;
+ }
+
+ public void setExamTemplatesId(Integer examTemplatesId) {
+ this.examTemplatesId = examTemplatesId;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+ public String getFormattedCreateTime() {
+ return formattedCreateTime;
+ }
+ public void setFormattedCreateTime(String formattedCreateTime) {
+ this.formattedCreateTime = formattedCreateTime;
+ }
+
+}
diff --git a/src/main/java/com/mindskip/xzs/domain/UserDepartment.java b/src/main/java/com/mindskip/xzs/domain/UserDepartment.java
index d6b9938..0446dc9 100644
--- a/src/main/java/com/mindskip/xzs/domain/UserDepartment.java
+++ b/src/main/java/com/mindskip/xzs/domain/UserDepartment.java
@@ -10,4 +10,6 @@
private Integer id;
private Integer userId;
private Integer departmentId;
+
+
}
diff --git a/src/main/java/com/mindskip/xzs/domain/vo/ScoreTemplatesCountVO.java b/src/main/java/com/mindskip/xzs/domain/vo/ScoreTemplatesCountVO.java
new file mode 100644
index 0000000..7573439
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/domain/vo/ScoreTemplatesCountVO.java
@@ -0,0 +1,103 @@
+package com.mindskip.xzs.domain.vo;
+
+import com.mindskip.xzs.base.BasePage;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class ScoreTemplatesCountVO extends BasePage implements Serializable {
+
+ private Integer id;
+ private String name;
+ private Integer count;
+ private Integer userId;
+ private String userName;
+ private String userScore;
+ private String paperScore;
+
+ private Integer createUser;
+ private Date createTime;
+
+ private String formattedTime;
+
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Integer getCount() {
+ return count;
+ }
+
+ public void setCount(Integer count) {
+ this.count = count;
+ }
+
+ public Integer getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Integer userId) {
+ this.userId = userId;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getUserScore() {
+ return userScore;
+ }
+
+ public void setUserScore(String userScore) {
+ this.userScore = userScore;
+ }
+
+ public String getPaperScore() {
+ return paperScore;
+ }
+
+ public void setPaperScore(String paperScore) {
+ this.paperScore = paperScore;
+ }
+
+ public Integer getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(Integer createUser) {
+ this.createUser = createUser;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getFormattedTime() {
+ return formattedTime;
+ }
+
+ public void setFormattedTime(String formattedTime) {
+ this.formattedTime = formattedTime;
+ }
+}
diff --git a/src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java b/src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java
index 62b874e..196f0a0 100644
--- a/src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java
+++ b/src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java
@@ -2,7 +2,9 @@
import com.mindskip.xzs.domain.ExamPaperAnswer;
import com.mindskip.xzs.domain.ExamTemplatesUserCount;
+import com.mindskip.xzs.domain.ScoreTemplatesUserCount;
import com.mindskip.xzs.domain.other.KeyValue;
+import com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO;
import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageVM;
import org.apache.ibatis.annotations.Mapper;
@@ -31,4 +33,8 @@
List<ExamPaperAnswer> getByExamPaperIdAndUserId(@Param("examTemplatesUserCount")List<ExamTemplatesUserCount> examTemplatesUserCount);
List<ExamPaperAnswer> adminPageByGrade(ExamPaperGradePageRequestVM grade);
+
+ List<ExamPaperAnswer> getByScorePaperIdAndUserId(@Param("scoreTemplatesUserCounts")List<ScoreTemplatesUserCount> scoreTemplatesUserCounts);
+
+ List<ExamPaperAnswer> getByCreatUser(ScoreTemplatesCountVO scoreTemplatesCountVO);
}
diff --git a/src/main/java/com/mindskip/xzs/repository/ExamPaperUserMapper.java b/src/main/java/com/mindskip/xzs/repository/ExamPaperUserMapper.java
index 0b0ce91..31c700b 100644
--- a/src/main/java/com/mindskip/xzs/repository/ExamPaperUserMapper.java
+++ b/src/main/java/com/mindskip/xzs/repository/ExamPaperUserMapper.java
@@ -1,10 +1,8 @@
package com.mindskip.xzs.repository;
import com.mindskip.xzs.domain.ExamPaperUser;
-import jdk.internal.dynalink.linker.LinkerServices;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.security.core.parameters.P;
import java.util.List;
@@ -20,4 +18,8 @@
List<ExamPaperUser> getByExamPaperId(@Param("examPaperId") Integer examPaperId);
Integer removeByExamPaperId(@Param("examPaperId") Integer examPaperId);
+
+
+
+ Integer getByPaperIdAndCreatUser(Integer examPaperId, Integer createUser);
}
diff --git a/src/main/java/com/mindskip/xzs/repository/ScoreTemplatesUserCountMapper.java b/src/main/java/com/mindskip/xzs/repository/ScoreTemplatesUserCountMapper.java
new file mode 100644
index 0000000..b54d51e
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/repository/ScoreTemplatesUserCountMapper.java
@@ -0,0 +1,14 @@
+package com.mindskip.xzs.repository;
+
+import com.mindskip.xzs.domain.ScoreTemplatesUserCount;
+import com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface ScoreTemplatesUserCountMapper extends BaseMapper<ScoreTemplatesUserCount> {
+
+
+ List<ScoreTemplatesUserCount> getByUserIdAndTemplatesId(ScoreTemplatesCountVO scoreTemplatesCountVO);
+}
diff --git a/src/main/java/com/mindskip/xzs/repository/UserDepartmentMapper.java b/src/main/java/com/mindskip/xzs/repository/UserDepartmentMapper.java
index 77e2789..9c70b21 100644
--- a/src/main/java/com/mindskip/xzs/repository/UserDepartmentMapper.java
+++ b/src/main/java/com/mindskip/xzs/repository/UserDepartmentMapper.java
@@ -1,10 +1,8 @@
package com.mindskip.xzs.repository;
-import com.mindskip.xzs.domain.ExamPaper;
import com.mindskip.xzs.domain.UserDepartment;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import org.springframework.security.core.parameters.P;
import java.util.List;
@@ -17,4 +15,8 @@
Integer removeByUserId(@Param("userId") Integer userId);
Integer removeByDepartmentId(@Param("departmentId") Integer departmentId);
+
+ UserDepartment selectByUser(Integer id);
+
+ void updateUserDepartMent(UserDepartment userDepartment);
}
diff --git a/src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java b/src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java
index 25f191b..6e8358a 100644
--- a/src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java
+++ b/src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java
@@ -1,10 +1,8 @@
package com.mindskip.xzs.service;
import com.github.pagehelper.PageInfo;
-import com.mindskip.xzs.domain.ExamPaperAnswer;
-import com.mindskip.xzs.domain.ExamPaperAnswerInfo;
-import com.mindskip.xzs.domain.ExamTemplatesUserCount;
-import com.mindskip.xzs.domain.User;
+import com.mindskip.xzs.domain.*;
+import com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO;
import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperSubmitVM;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageVM;
@@ -59,5 +57,9 @@
List<ExamPaperAnswer> getByExamPaperIdAndUserId(List<ExamTemplatesUserCount> examTemplatesUserCount);
- PageInfo<ExamPaperAnswer> adminPageByGrade(ExamPaperGradePageRequestVM grade);
+ List<ExamPaperAnswer> adminPageByGrade(ExamPaperGradePageRequestVM grade);
+
+ List<ExamPaperAnswer> getByScorePaperIdAndUserId(List<ScoreTemplatesUserCount> scoreTemplatesUserCounts);
+
+ List<ExamPaperAnswer> getByCreatUser(ScoreTemplatesCountVO scoreTemplatesCountVO);
}
diff --git a/src/main/java/com/mindskip/xzs/service/ExamPaperUserService.java b/src/main/java/com/mindskip/xzs/service/ExamPaperUserService.java
index 2e40a5d..d41a493 100644
--- a/src/main/java/com/mindskip/xzs/service/ExamPaperUserService.java
+++ b/src/main/java/com/mindskip/xzs/service/ExamPaperUserService.java
@@ -1,7 +1,6 @@
package com.mindskip.xzs.service;
import com.mindskip.xzs.domain.ExamPaperUser;
-import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -16,4 +15,7 @@
List<ExamPaperUser> getByExamPaperId(Integer examPaperId);
Integer removeByExamPaperId(Integer examPaperId);
+
+
+ Integer getByPaperIdAndCreatUser(Integer examPaperId, Integer createUser);
}
diff --git a/src/main/java/com/mindskip/xzs/service/ScoreTemplatesUserCountService.java b/src/main/java/com/mindskip/xzs/service/ScoreTemplatesUserCountService.java
new file mode 100644
index 0000000..e82571c
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/ScoreTemplatesUserCountService.java
@@ -0,0 +1,11 @@
+package com.mindskip.xzs.service;
+
+import com.mindskip.xzs.domain.ScoreTemplatesUserCount;
+
+public interface ScoreTemplatesUserCountService extends BaseService<ScoreTemplatesUserCount>{
+
+
+
+
+
+}
diff --git a/src/main/java/com/mindskip/xzs/service/UserDepartMentService.java b/src/main/java/com/mindskip/xzs/service/UserDepartMentService.java
new file mode 100644
index 0000000..bd2b247
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/UserDepartMentService.java
@@ -0,0 +1,21 @@
+package com.mindskip.xzs.service;
+
+import com.mindskip.xzs.domain.UserDepartment;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+public interface UserDepartMentService extends BaseService<UserDepartment> {
+
+ List<UserDepartment> selectByUserId(@Param("userId") Integer userId);
+
+ List<UserDepartment> selectByDepartmentId(@Param("departmentId") Integer departmentId);
+
+ Integer removeByUserId(@Param("userId") Integer userId);
+ Integer removeByDepartmentId(@Param("departmentId") Integer departmentId);
+
+ UserDepartment selectByUser(Integer id);
+
+ void updateUserDepartMent(UserDepartment userDepartment);
+}
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java
index ead6f2b..19bf6e4 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java
@@ -10,6 +10,7 @@
import com.mindskip.xzs.domain.other.ExamPaperAnswerUpdate;
import com.mindskip.xzs.domain.other.KeyValue;
import com.mindskip.xzs.domain.task.TaskItemAnswerObject;
+import com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO;
import com.mindskip.xzs.repository.ExamPaperAnswerMapper;
import com.mindskip.xzs.repository.ExamPaperMapper;
import com.mindskip.xzs.repository.QuestionMapper;
@@ -295,8 +296,17 @@
}
@Override
- public PageInfo<ExamPaperAnswer> adminPageByGrade(ExamPaperGradePageRequestVM grade) {
- return PageHelper.startPage(grade.getPageIndex(), grade.getPageSize(), "user_score desc").doSelectPageInfo(() ->
- examPaperAnswerMapper.adminPageByGrade(grade));
+ public List<ExamPaperAnswer> adminPageByGrade(ExamPaperGradePageRequestVM grade) {
+ return examPaperAnswerMapper.adminPageByGrade(grade);
+ }
+
+ @Override
+ public List<ExamPaperAnswer> getByScorePaperIdAndUserId(List<ScoreTemplatesUserCount> scoreTemplatesUserCounts) {
+ return examPaperAnswerMapper.getByScorePaperIdAndUserId(scoreTemplatesUserCounts);
+ }
+
+ @Override
+ public List<ExamPaperAnswer> getByCreatUser(ScoreTemplatesCountVO scoreTemplatesCountVO) {
+ return examPaperAnswerMapper.getByCreatUser(scoreTemplatesCountVO);
}
}
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
index a16fe1a..15957bc 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
@@ -372,7 +372,6 @@
keys.remove(index);
}
}
-
if (!values.isEmpty()) {
int index = random.nextInt(values.size());
int score = values.get(index);
@@ -481,6 +480,8 @@
* @param titleItemsVM title
*/
private void randomQuestionType(ExamPaperEditRequestVM examPaperEditRequestVM, List<ExamPaperTitleItemObject> frameTextContentList, List<ExamPaperTitleItemVM> titleItemsVM) throws QuestionException {
+
+
//鍗曢��
Integer singleChoice = examPaperEditRequestVM.getQuestionTypeVMS().stream().mapToInt(QuestionTypeVM::getSingleChoice).sum();
//澶氶��
@@ -522,10 +523,10 @@
//鍒ゆ柇
- Map<Integer, Integer> judgmentMap = list.stream()
- .filter(e -> e.getQuestionType().equals(QuestionTypeEnum.TrueFalse.getCode()))
- .collect(Collectors.toMap(Question::getId, Question::getScore));
- Integer trueFalse = questionTypeVM.getTrueFalse() * 2;
+ List<Question> collect1 = list.stream().filter(e -> e.getQuestionType().equals(QuestionTypeEnum.TrueFalse.getCode())).collect(Collectors.toList());
+ Map<Integer, Integer> judgmentMap = collect1.stream().collect(Collectors.toMap(Question::getId, Question::getScore));
+ Integer trueFalse1 = questionTypeVM.getTrueFalse();
+ Integer trueFalse = trueFalse1 * 2;
selectRandomScores(multiple, judgmentMap, questionTypeVM.getTrueFalse(), trueFalse);
//鍗曢�夊垎鏁�
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperUserServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperUserServiceImpl.java
index 337bf93..3cb95d8 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperUserServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperUserServiceImpl.java
@@ -42,4 +42,11 @@
public Integer removeByExamPaperId(Integer examPaperId) {
return examPaperUserMapper.removeByExamPaperId(examPaperId);
}
+
+ @Override
+ public Integer getByPaperIdAndCreatUser(Integer examPaperId, Integer createUser) {
+ return examPaperUserMapper.getByPaperIdAndCreatUser(examPaperId, createUser);
+ }
+
+
}
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ScoreTemplatesUserCountServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ScoreTemplatesUserCountServiceImpl.java
new file mode 100644
index 0000000..9dfcc2b
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/impl/ScoreTemplatesUserCountServiceImpl.java
@@ -0,0 +1,37 @@
+package com.mindskip.xzs.service.impl;
+
+import com.mindskip.xzs.domain.ScoreTemplatesUserCount;
+import com.mindskip.xzs.repository.*;
+import com.mindskip.xzs.service.ExamPaperQuestionCustomerAnswerService;
+import com.mindskip.xzs.service.ScoreTemplatesUserCountService;
+import com.mindskip.xzs.service.TextContentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ScoreTemplatesUserCountServiceImpl extends BaseServiceImpl<ScoreTemplatesUserCount> implements ScoreTemplatesUserCountService {
+
+
+ private final ExamPaperAnswerMapper examPaperAnswerMapper;
+ private final ExamPaperMapper examPaperMapper;
+ private final TextContentService textContentService;
+ private final QuestionMapper questionMapper;
+ private final ExamPaperQuestionCustomerAnswerService examPaperQuestionCustomerAnswerService;
+ private final TaskExamCustomerAnswerMapper taskExamCustomerAnswerMapper;
+ private final ScoreTemplatesUserCountMapper scoreTemplatesUserCountMapper;
+
+ @Autowired
+ public ScoreTemplatesUserCountServiceImpl(ExamPaperAnswerMapper examPaperAnswerMapper, ExamPaperMapper examPaperMapper, TextContentService textContentService, QuestionMapper questionMapper, ExamPaperQuestionCustomerAnswerService examPaperQuestionCustomerAnswerService, TaskExamCustomerAnswerMapper taskExamCustomerAnswerMapper,ScoreTemplatesUserCountMapper scoreTemplatesUserCountMapper) {
+ super(scoreTemplatesUserCountMapper);
+ this.examPaperAnswerMapper = examPaperAnswerMapper;
+ this.examPaperMapper = examPaperMapper;
+ this.textContentService = textContentService;
+ this.questionMapper = questionMapper;
+ this.examPaperQuestionCustomerAnswerService = examPaperQuestionCustomerAnswerService;
+ this.taskExamCustomerAnswerMapper = taskExamCustomerAnswerMapper;
+ this.scoreTemplatesUserCountMapper = scoreTemplatesUserCountMapper;
+ }
+
+
+
+}
diff --git a/src/main/java/com/mindskip/xzs/service/impl/UserDepartMentServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/UserDepartMentServiceImpl.java
new file mode 100644
index 0000000..17ff5f9
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/service/impl/UserDepartMentServiceImpl.java
@@ -0,0 +1,58 @@
+package com.mindskip.xzs.service.impl;
+
+import com.mindskip.xzs.domain.UserDepartment;
+import com.mindskip.xzs.repository.UserDepartmentMapper;
+import com.mindskip.xzs.service.UserDepartMentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+@Service
+public class UserDepartMentServiceImpl extends BaseServiceImpl<UserDepartment> implements UserDepartMentService {
+
+ private final UserDepartmentMapper userDepartmentMapper;
+ private final ApplicationEventPublisher eventPublisher;
+
+ @Autowired
+ public UserDepartMentServiceImpl(UserDepartmentMapper userDepartMentMapper, ApplicationEventPublisher eventPublisher) {
+ super(userDepartMentMapper);
+ this.userDepartmentMapper = userDepartMentMapper;
+ this.eventPublisher = eventPublisher;
+ }
+
+
+ @Override
+ public List<UserDepartment> selectByUserId(Integer userId) {
+ return userDepartmentMapper.selectByUserId(userId);
+ }
+
+ @Override
+ public List<UserDepartment> selectByDepartmentId(Integer departmentId) {
+ return userDepartmentMapper.selectByDepartmentId(departmentId);
+ }
+
+ @Override
+ public Integer removeByUserId(Integer userId) {
+ return userDepartmentMapper.removeByUserId(userId);
+ }
+
+ @Override
+ public Integer removeByDepartmentId(Integer departmentId) {
+ return userDepartmentMapper.removeByDepartmentId(departmentId);
+ }
+
+ @Override
+ public UserDepartment selectByUser(Integer id) {
+ return userDepartmentMapper.selectByUser(id);
+ }
+
+ @Override
+ public void updateUserDepartMent(UserDepartment userDepartment) {
+ userDepartmentMapper.updateUserDepartMent(userDepartment);
+ }
+
+
+}
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/student/exampaper/ExamPaperAnswerPageResponseVM.java b/src/main/java/com/mindskip/xzs/viewmodel/student/exampaper/ExamPaperAnswerPageResponseVM.java
index eabbf69..57cbf69 100644
--- a/src/main/java/com/mindskip/xzs/viewmodel/student/exampaper/ExamPaperAnswerPageResponseVM.java
+++ b/src/main/java/com/mindskip/xzs/viewmodel/student/exampaper/ExamPaperAnswerPageResponseVM.java
@@ -1,9 +1,11 @@
package com.mindskip.xzs.viewmodel.student.exampaper;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
public class ExamPaperAnswerPageResponseVM {
private Integer id;
-
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private String createTime;
private String userScore;
@@ -33,6 +35,10 @@
private Double avgSource;
private Integer counts;
+
+ private Integer userId;
+
+ private Integer createUser;
public Integer getId() {
return id;
@@ -160,4 +166,19 @@
public void setCounts(Integer counts) {
this.counts = counts;
}
+ public Integer getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Integer userId) {
+ this.userId = userId;
+ }
+
+ public Integer getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(Integer createUser) {
+ this.createUser = createUser;
+ }
}
diff --git a/src/main/resources/mapper/ExamPaperAnswerMapper.xml b/src/main/resources/mapper/ExamPaperAnswerMapper.xml
index d39c223..4d449a4 100644
--- a/src/main/resources/mapper/ExamPaperAnswerMapper.xml
+++ b/src/main/resources/mapper/ExamPaperAnswerMapper.xml
@@ -33,6 +33,11 @@
paper_score, question_correct, question_count, do_time, status, create_user, create_time,
task_exam_id,counts
</sql>
+ <sql id="Base_Column_List3">
+ id, exam_paper_id, paper_name, paper_type, subject_id, system_score, user_score,
+ paper_score, question_correct, question_count, do_time, status, create_user, create_time,
+ task_exam_id,DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS formattedTime
+ </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
@@ -307,7 +312,7 @@
<select id="adminPageByGrade" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM">
select
<include refid="Base_Column_List2" />
- from t_exam_paper_answer
+ from t_exam_paper_answer where create_time between '2023-01-01'and '2023-12-31'
<where>
<if test="subjectId != null">
and subject_id = #{subjectId}
@@ -317,5 +322,21 @@
</if>
</where>
</select>
+ <select id="getByScorePaperIdAndUserId" resultMap="BaseResultMap" parameterType="list">
+ select
+ <include refid="Base_Column_List1" />
+ from t_exam_paper_answer
+ where (exam_paper_id,create_user) in
+ <if test="scoreTemplatesUserCounts !=null and scoreTemplatesUserCounts.size() > 0">
+ <foreach collection="scoreTemplatesUserCounts" item="item" index="item" open="(" separator="," close=")">
+ (#{item.examPaperId},#{item.userId})
+ </foreach>
+ </if>
+ </select>
+ <select id="getByCreatUser" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO">
+ select
+ <include refid="Base_Column_List3"/>
+ from t_exam_paper_answer where create_user = #{createUser} and create_time between '2023-01-01'and '2023-12-31'
+ </select>
</mapper>
diff --git a/src/main/resources/mapper/ExamPaperUserMapper.xml b/src/main/resources/mapper/ExamPaperUserMapper.xml
index 63ddd11..d945130 100644
--- a/src/main/resources/mapper/ExamPaperUserMapper.xml
+++ b/src/main/resources/mapper/ExamPaperUserMapper.xml
@@ -27,6 +27,11 @@
where exam_paper_id = #{examPaperId} and deleted = 0
</select>
+ <select id="getByPaperIdAndCreatUser" resultType="java.lang.Integer">
+ select user_id from t_exam_paper_user
+ where exam_paper_id = #{examPaperId} and user_id = #{createUser}
+ </select>
+
<insert id="saves" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
insert into t_exam_paper_user(id, exam_paper_id, user_id, deleted)
values
diff --git a/src/main/resources/mapper/ScoreTemplatesUserCountMapper.xml b/src/main/resources/mapper/ScoreTemplatesUserCountMapper.xml
new file mode 100644
index 0000000..328e5d9
--- /dev/null
+++ b/src/main/resources/mapper/ScoreTemplatesUserCountMapper.xml
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mindskip.xzs.repository.ScoreTemplatesUserCountMapper">
+ <resultMap id="BaseResultMap" type="com.mindskip.xzs.domain.ExamPaperAnswer">
+ <id column="id" jdbcType="INTEGER" property="id" />
+ <result column="exam_paper_id" jdbcType="INTEGER" property="examPaperId" />
+ <result column="paper_name" jdbcType="VARCHAR" property="paperName" />
+ <result column="paper_type" jdbcType="INTEGER" property="paperType" />
+ <result column="subject_id" jdbcType="INTEGER" property="subjectId" />
+ <result column="system_score" jdbcType="INTEGER" property="systemScore" />
+ <result column="user_score" jdbcType="INTEGER" property="userScore" />
+ <result column="paper_score" jdbcType="INTEGER" property="paperScore" />
+ <result column="question_correct" jdbcType="INTEGER" property="questionCorrect" />
+ <result column="question_count" jdbcType="INTEGER" property="questionCount" />
+ <result column="do_time" jdbcType="INTEGER" property="doTime" />
+ <result column="status" jdbcType="INTEGER" property="status" />
+ <result column="create_user" jdbcType="INTEGER" property="createUser" />
+ <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+ <result column="task_exam_id" jdbcType="INTEGER" property="taskExamId" />
+ <result column="counts" jdbcType="INTEGER" property="counts"/></resultMap>
+ <sql id="Base_Column_List">
+ id, exam_paper_id, paper_name, paper_type, subject_id, system_score, user_score,
+ paper_score, question_correct, question_count, do_time, status, create_user, create_time,
+ task_exam_id
+ </sql>
+ <sql id="Base_Column_List1">
+ id, exam_paper_id, paper_name, paper_type, subject_id, system_score, TRUNCATE(user_score/10,0) as user_score,
+ TRUNCATE(paper_score/10,0) as paper_score, question_correct, question_count, do_time, status, create_user, create_time,
+ task_exam_id
+ </sql>
+ <sql id="Base_Column_List2">
+ id, exam_paper_id, paper_name, paper_type, subject_id, system_score, user_score,
+ paper_score, question_correct, question_count, do_time, status, create_user, create_time,
+ task_exam_id,counts
+ </sql>
+ <sql id="Base_Column_List3">
+ id, exam_paper_id, paper_name, paper_type, subject_id, system_score, user_score,
+ paper_score, question_correct, question_count, do_time, status, create_user, DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') AS formattedTime,
+ task_exam_id,counts
+ </sql>
+ <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List" />
+ from t_exam_paper_answer
+ where id = #{id,jdbcType=INTEGER}
+ </select>
+ <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+ delete from t_exam_paper_answer
+ where id = #{id,jdbcType=INTEGER}
+ </delete>
+ <insert id="insert" parameterType="com.mindskip.xzs.domain.ExamPaperAnswer" useGeneratedKeys="true" keyProperty="id">
+ insert into t_exam_paper_answer (id, exam_paper_id, paper_name,
+ paper_type, subject_id, system_score,
+ user_score, paper_score, question_correct,
+ question_count, do_time, status,
+ create_user, create_time, task_exam_id
+ )
+ values (#{id,jdbcType=INTEGER}, #{examPaperId,jdbcType=INTEGER}, #{paperName,jdbcType=VARCHAR},
+ #{paperType,jdbcType=INTEGER}, #{subjectId,jdbcType=INTEGER}, #{systemScore,jdbcType=INTEGER},
+ #{userScore,jdbcType=INTEGER}, #{paperScore,jdbcType=INTEGER}, #{questionCorrect,jdbcType=INTEGER},
+ #{questionCount,jdbcType=INTEGER}, #{doTime,jdbcType=INTEGER}, #{status,jdbcType=INTEGER},
+ #{createUser,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{taskExamId,jdbcType=INTEGER}
+ )
+ </insert>
+ <insert id="insertSelective" parameterType="com.mindskip.xzs.domain.ExamPaperAnswer" useGeneratedKeys="true" keyProperty="id">
+ insert into t_exam_paper_answer
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="examPaperId != null">
+ exam_paper_id,
+ </if>
+ <if test="paperName != null">
+ paper_name,
+ </if>
+ <if test="paperType != null">
+ paper_type,
+ </if>
+ <if test="subjectId != null">
+ subject_id,
+ </if>
+ <if test="systemScore != null">
+ system_score,
+ </if>
+ <if test="userScore != null">
+ user_score,
+ </if>
+ <if test="paperScore != null">
+ paper_score,
+ </if>
+ <if test="questionCorrect != null">
+ question_correct,
+ </if>
+ <if test="questionCount != null">
+ question_count,
+ </if>
+ <if test="doTime != null">
+ do_time,
+ </if>
+ <if test="status != null">
+ status,
+ </if>
+ <if test="createUser != null">
+ create_user,
+ </if>
+ <if test="createTime != null">
+ create_time,
+ </if>
+ <if test="taskExamId != null">
+ task_exam_id,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=INTEGER},
+ </if>
+ <if test="examPaperId != null">
+ #{examPaperId,jdbcType=INTEGER},
+ </if>
+ <if test="paperName != null">
+ #{paperName,jdbcType=VARCHAR},
+ </if>
+ <if test="paperType != null">
+ #{paperType,jdbcType=INTEGER},
+ </if>
+ <if test="subjectId != null">
+ #{subjectId,jdbcType=INTEGER},
+ </if>
+ <if test="systemScore != null">
+ #{systemScore,jdbcType=INTEGER},
+ </if>
+ <if test="userScore != null">
+ #{userScore,jdbcType=INTEGER},
+ </if>
+ <if test="paperScore != null">
+ #{paperScore,jdbcType=INTEGER},
+ </if>
+ <if test="questionCorrect != null">
+ #{questionCorrect,jdbcType=INTEGER},
+ </if>
+ <if test="questionCount != null">
+ #{questionCount,jdbcType=INTEGER},
+ </if>
+ <if test="doTime != null">
+ #{doTime,jdbcType=INTEGER},
+ </if>
+ <if test="status != null">
+ #{status,jdbcType=INTEGER},
+ </if>
+ <if test="createUser != null">
+ #{createUser,jdbcType=INTEGER},
+ </if>
+ <if test="createTime != null">
+ #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="taskExamId != null">
+ #{taskExamId,jdbcType=INTEGER},
+ </if>
+ </trim>
+ </insert>
+ <update id="updateByPrimaryKeySelective" parameterType="com.mindskip.xzs.domain.ExamPaperAnswer">
+ update t_exam_paper_answer
+ <set>
+ <if test="examPaperId != null">
+ exam_paper_id = #{examPaperId,jdbcType=INTEGER},
+ </if>
+ <if test="paperName != null">
+ paper_name = #{paperName,jdbcType=VARCHAR},
+ </if>
+ <if test="paperType != null">
+ paper_type = #{paperType,jdbcType=INTEGER},
+ </if>
+ <if test="subjectId != null">
+ subject_id = #{subjectId,jdbcType=INTEGER},
+ </if>
+ <if test="systemScore != null">
+ system_score = #{systemScore,jdbcType=INTEGER},
+ </if>
+ <if test="userScore != null">
+ user_score = #{userScore,jdbcType=INTEGER},
+ </if>
+ <if test="paperScore != null">
+ paper_score = #{paperScore,jdbcType=INTEGER},
+ </if>
+ <if test="questionCorrect != null">
+ question_correct = #{questionCorrect,jdbcType=INTEGER},
+ </if>
+ <if test="questionCount != null">
+ question_count = #{questionCount,jdbcType=INTEGER},
+ </if>
+ <if test="doTime != null">
+ do_time = #{doTime,jdbcType=INTEGER},
+ </if>
+ <if test="status != null">
+ status = #{status,jdbcType=INTEGER},
+ </if>
+ <if test="createUser != null">
+ create_user = #{createUser,jdbcType=INTEGER},
+ </if>
+ <if test="createTime != null">
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="taskExamId != null">
+ task_exam_id = #{taskExamId,jdbcType=INTEGER},
+ </if>
+ </set>
+ where id = #{id,jdbcType=INTEGER}
+ </update>
+ <update id="updateByPrimaryKey" parameterType="com.mindskip.xzs.domain.ExamPaperAnswer">
+ update t_exam_paper_answer
+ set exam_paper_id = #{examPaperId,jdbcType=INTEGER},
+ paper_name = #{paperName,jdbcType=VARCHAR},
+ paper_type = #{paperType,jdbcType=INTEGER},
+ subject_id = #{subjectId,jdbcType=INTEGER},
+ system_score = #{systemScore,jdbcType=INTEGER},
+ user_score = #{userScore,jdbcType=INTEGER},
+ paper_score = #{paperScore,jdbcType=INTEGER},
+ question_correct = #{questionCorrect,jdbcType=INTEGER},
+ question_count = #{questionCount,jdbcType=INTEGER},
+ do_time = #{doTime,jdbcType=INTEGER},
+ status = #{status,jdbcType=INTEGER},
+ create_user = #{createUser,jdbcType=INTEGER},
+ create_time = #{createTime,jdbcType=TIMESTAMP},
+ task_exam_id = #{taskExamId,jdbcType=INTEGER}
+ where id = #{id,jdbcType=INTEGER}
+ </update>
+
+ <select id="getByUserIdAndTemplatesId" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO">
+ select
+ <include refid="Base_Column_List1"/>
+ from t_exam_paper_answer
+ where create_user = #{createUser}
+ </select>
+
+</mapper>
diff --git a/src/main/resources/mapper/UserDepartmentMapper.xml b/src/main/resources/mapper/UserDepartmentMapper.xml
index 962c4ed..4434e15 100644
--- a/src/main/resources/mapper/UserDepartmentMapper.xml
+++ b/src/main/resources/mapper/UserDepartmentMapper.xml
@@ -30,6 +30,12 @@
from t_user_department
where department_id = #{departmentId,jdbcType=INTEGER}
</select>
+ <select id="selectByUser" resultType="com.mindskip.xzs.domain.UserDepartment">
+ select
+ <include refid="Base_Column_List" />
+ from t_user_department
+ where user_id=#{id}
+ </select>
<delete id="removeByUserId">
delete from t_user_department where user_id = #{userId}
@@ -38,4 +44,13 @@
<delete id="removeByDepartmentId">
delete from t_user_department where department_id = #{departmentId}
</delete>
+
+ <update id="updateUserDepartMent" parameterType="com.mindskip.xzs.domain.UserDepartment">
+ update t_user_department
+ <set>
+ <if test="user_id != null">user_id = #{userId},</if>
+ <if test="department_id != null">department_id = #{departmentId},</if>
+ </set>
+ where id = #{id}
+ </update>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0