From 03a9cd21c1589e98978dc7296bb7fb48f1dcd7fe Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期五, 17 五月 2024 16:13:45 +0800
Subject: [PATCH] feat:创建试卷时新增选择用户查询条件
---
src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java | 3 +
src/main/resources/mapper/ExamPaperMapper.xml | 19 +++++++++
src/main/resources/mapper/ExamTemplatesMapper.xml | 2
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java | 19 ++++++---
src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java | 7 +++
src/main/java/com/mindskip/xzs/domain/vo/UserVO.java | 40 ++++++++++++++++++++
src/main/java/com/mindskip/xzs/service/ExamPaperService.java | 3 +
7 files changed, 85 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
index 892f2e3..1cc4a82 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
@@ -6,6 +6,7 @@
import com.mindskip.xzs.domain.ExamPaper;
import com.mindskip.xzs.domain.ExamPaperSubject;
import com.mindskip.xzs.domain.vo.PaperExcelVO;
+import com.mindskip.xzs.domain.vo.UserVO;
import com.mindskip.xzs.service.ExamPaperDepartmentService;
import com.mindskip.xzs.service.ExamPaperService;
import com.mindskip.xzs.service.ExamPaperSubjectService;
@@ -24,7 +25,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -84,12 +84,12 @@
@RequestMapping(value = "/edit", method = RequestMethod.POST)
public RestResponse<ExamPaperEditRequestVO> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception {
- Object[] obj = Arrays.stream(model.getUserIds()).sorted().distinct().toArray();
- Integer[] userIds = new Integer[obj.length];
- for(int i = 0;i<obj.length;i++) {
- userIds[i] = (Integer)obj[i];
- }
- model.setUserIds(userIds);
+ // Object[] obj = Arrays.stream(model.getUserIds()).sorted().distinct().toArray();
+ // Integer[] userIds = new Integer[obj.length];
+ // for(int i = 0;i<obj.length;i++) {
+ // userIds[i] = (Integer)obj[i];
+ // }
+ // model.setUserIds(userIds);
ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser());
ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
@@ -135,4 +135,9 @@
List<Integer> deptIds = isDeptAdmin() ? getAdminDeptIds() : null;
return RestResponse.ok(examPaperService.list(deptIds));
}
+
+ @RequestMapping(value = "/selectStudent", method = RequestMethod.POST)
+ public RestResponse<PageInfo<UserVO>> selectStudent(@RequestBody UserVO userVO) {
+ return RestResponse.ok(examPaperService.selectStudent(userVO));
+ }
}
diff --git a/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java b/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java
index 2bd26f4..2a8d14a 100644
--- a/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java
+++ b/src/main/java/com/mindskip/xzs/domain/vo/UserVO.java
@@ -89,6 +89,46 @@
private String conditionDetail;
+ private Integer tagId;
+
+ private Integer deptId;
+
+ private Integer pageIndex;
+
+ private Integer pageSize;
+
+ public Integer getPageIndex() {
+ return pageIndex;
+ }
+
+ public void setPageIndex(Integer pageIndex) {
+ this.pageIndex = pageIndex;
+ }
+
+ public Integer getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(Integer pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public Integer getTagId() {
+ return tagId;
+ }
+
+ public void setTagId(Integer tagId) {
+ this.tagId = tagId;
+ }
+
+ public Integer getDeptId() {
+ return deptId;
+ }
+
+ public void setDeptId(Integer deptId) {
+ this.deptId = deptId;
+ }
+
public String getConditionDetail() {
return conditionDetail;
}
diff --git a/src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java b/src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java
index d250267..42b7744 100644
--- a/src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java
+++ b/src/main/java/com/mindskip/xzs/repository/ExamPaperMapper.java
@@ -3,6 +3,7 @@
import com.mindskip.xzs.domain.ExamPaper;
import com.mindskip.xzs.domain.other.KeyValue;
import com.mindskip.xzs.domain.vo.PaperExcelVO;
+import com.mindskip.xzs.domain.vo.UserVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperInfo;
@@ -39,4 +40,6 @@
List<PaperExcelVO> getPaperExcelById(@Param("id") Integer id);
List<ExamPaper> list(List<Integer> deptIds);
+
+ List<UserVO> selectStudent(UserVO userVO);
}
diff --git a/src/main/java/com/mindskip/xzs/service/ExamPaperService.java b/src/main/java/com/mindskip/xzs/service/ExamPaperService.java
index 53094b8..8db3f0a 100644
--- a/src/main/java/com/mindskip/xzs/service/ExamPaperService.java
+++ b/src/main/java/com/mindskip/xzs/service/ExamPaperService.java
@@ -4,6 +4,7 @@
import com.mindskip.xzs.domain.ExamPaper;
import com.mindskip.xzs.domain.User;
import com.mindskip.xzs.domain.vo.PaperExcelVO;
+import com.mindskip.xzs.domain.vo.UserVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
@@ -40,4 +41,6 @@
void missExam(ExamPaperEditRequestVM model);
List<ExamPaper> list(List<Integer> deptIds);
+
+ PageInfo<UserVO> selectStudent(UserVO userVO);
}
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 f0d9dc0..beeb070 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
@@ -10,6 +10,7 @@
import com.mindskip.xzs.domain.exam.ExamPaperTitleItemObject;
import com.mindskip.xzs.domain.other.KeyValue;
import com.mindskip.xzs.domain.vo.PaperExcelVO;
+import com.mindskip.xzs.domain.vo.UserVO;
import com.mindskip.xzs.repository.ExamPaperAnswerMapper;
import com.mindskip.xzs.repository.ExamPaperMapper;
import com.mindskip.xzs.repository.QuestionMapper;
@@ -628,4 +629,10 @@
public List<ExamPaper> list(List<Integer> deptIds) {
return examPaperMapper.list(deptIds);
}
+
+ @Override
+ public PageInfo<UserVO> selectStudent(UserVO userVO) {
+ return PageHelper.startPage(userVO.getPageIndex(), userVO.getPageSize()).doSelectPageInfo(() ->
+ examPaperMapper.selectStudent(userVO));
+ }
}
diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml
index f24b711..c04d6c7 100644
--- a/src/main/resources/mapper/ExamPaperMapper.xml
+++ b/src/main/resources/mapper/ExamPaperMapper.xml
@@ -449,4 +449,23 @@
order by create_time desc
</select>
+ <select id="selectStudent" resultType="com.mindskip.xzs.domain.vo.UserVO" parameterType="com.mindskip.xzs.domain.vo.UserVO">
+ SELECT
+ a.id, a.real_name
+ FROM
+ t_user a
+ left join t_user_tag b on a.id = b.user_id
+ left join t_user_department c on a.id = c.user_id
+ where
+ user_name != 'admin'
+ <if test="tagId != null and tagId != ''">
+ and b.tag_id = #{tagId}
+ </if>
+ <if test="deptId != null and deptId != ''">
+ and c.department_id = #{deptId}
+ </if>
+ group by a.id, a.real_name
+ order by a.id
+ </select>
+
</mapper>
diff --git a/src/main/resources/mapper/ExamTemplatesMapper.xml b/src/main/resources/mapper/ExamTemplatesMapper.xml
index 97384b9..edeaf7c 100644
--- a/src/main/resources/mapper/ExamTemplatesMapper.xml
+++ b/src/main/resources/mapper/ExamTemplatesMapper.xml
@@ -16,7 +16,7 @@
<sql id="Base_Column_List">
id
- , name, paper_type, suggest_time, title_name, ctime, status, menu_ids,start_time,end_time
+ , name, paper_type, suggest_time, title_name, ctime, status, menu_ids,start_time,end_time, dept_id
</sql>
<insert id="add" parameterType="com.mindskip.xzs.domain.ExamTemplates" useGeneratedKeys="true" keyProperty="id">
--
Gitblit v1.8.0