Browse Source

考务接口修改

wangliang 5 năm trước cách đây
mục cha
commit
1f37a8ac0e
16 tập tin đã thay đổi với 324 bổ sung113 xóa
  1. 123 0
      themis-backend/src/main/java/com/qmth/themis/backend/api/TBExamInvigilateUserController.java
  2. 3 1
      themis-backend/src/main/java/com/qmth/themis/backend/api/TBUserController.java
  3. 31 23
      themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamStudentController.java
  4. 3 5
      themis-backend/src/main/java/com/qmth/themis/backend/api/TEStudentController.java
  5. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamInvigilateUserController.java
  6. 30 0
      themis-business/src/main/java/com/qmth/themis/business/dao/TBExamInvigilateUserMapper.java
  7. 0 17
      themis-business/src/main/java/com/qmth/themis/business/dao/TOeExamInvigilateUserMapper.java
  8. 12 1
      themis-business/src/main/java/com/qmth/themis/business/entity/TBExamInvigilateUser.java
  9. 18 8
      themis-business/src/main/java/com/qmth/themis/business/enums/FieldUniqueEnum.java
  10. 27 0
      themis-business/src/main/java/com/qmth/themis/business/service/TBExamInvigilateUserService.java
  11. 0 15
      themis-business/src/main/java/com/qmth/themis/business/service/TOeExamInvigilateUserService.java
  12. 38 0
      themis-business/src/main/java/com/qmth/themis/business/service/impl/TBExamInvigilateUserServiceImpl.java
  13. 0 19
      themis-business/src/main/java/com/qmth/themis/business/service/impl/TOeExamInvigilateUserServiceImpl.java
  14. 35 0
      themis-business/src/main/resources/mapper/TBExamInvigilateUserMapper.xml
  15. 0 5
      themis-business/src/main/resources/mapper/TOeExamInvigilateUserMapper.xml
  16. 4 0
      themis-common/src/main/java/com/qmth/themis/common/enums/ExceptionResultEnum.java

+ 123 - 0
themis-backend/src/main/java/com/qmth/themis/backend/api/TBExamInvigilateUserController.java

@@ -0,0 +1,123 @@
+package com.qmth.themis.backend.api;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.themis.backend.util.ServletUtil;
+import com.qmth.themis.business.constant.SystemConstant;
+import com.qmth.themis.business.entity.TBExamInvigilateUser;
+import com.qmth.themis.business.entity.TBOrg;
+import com.qmth.themis.business.entity.TEExamStudent;
+import com.qmth.themis.business.enums.FieldUniqueEnum;
+import com.qmth.themis.business.service.TBExamInvigilateUserService;
+import com.qmth.themis.business.util.JacksonUtil;
+import com.qmth.themis.common.enums.ExceptionResultEnum;
+import com.qmth.themis.common.exception.BusinessException;
+import com.qmth.themis.common.util.Result;
+import com.qmth.themis.common.util.ResultUtil;
+import io.swagger.annotations.*;
+import org.springframework.dao.DuplicateKeyException;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: 监考员设置 前端控制器
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/6/25
+ */
+@Api(tags = "监考员设置Controller")
+@RestController
+@RequestMapping("/${prefix.url.admin}/invigilateUser")
+public class TBExamInvigilateUserController {
+
+    @Resource
+    TBExamInvigilateUserService tbExamInvigilateUserService;
+
+    @ApiOperation(value = "监考员查询接口")
+    @RequestMapping(value = "/query", method = RequestMethod.GET)
+    @ApiResponses({@ApiResponse(code = 200, message = "监考员信息", response = TEExamStudent.class)})
+    public Result query(@ApiParam(value = "考场代码", required = false) @RequestParam(required = false) String roomCode, @ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId, @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber, @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
+        IPage<Map> examInvigilateUserQuery = tbExamInvigilateUserService.examInvigilateUserQuery(new Page<>(pageNumber, pageSize), roomCode, userId);
+        Map map = new HashMap<>();
+        map.put(SystemConstant.RECORDS, examInvigilateUserQuery);
+        return ResultUtil.ok(map);
+    }
+
+    @ApiOperation(value = "监考员修改接口")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @Transactional
+    @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
+    public Result save(@ApiParam(value = "监考员信息", required = true) @RequestBody Map<String, Object> mapParameter) {
+        String roomCode = null;
+        try {
+            if (Objects.isNull(mapParameter.get("roomCode")) || Objects.equals(mapParameter.get("roomCode"), "")) {
+                throw new BusinessException(ExceptionResultEnum.ROOMCODE_IS_NULL);
+            }
+            roomCode = String.valueOf(mapParameter.get("roomCode"));
+            if (Objects.isNull(mapParameter.get("userId")) || Objects.equals(mapParameter.get("userId"), "")) {
+                throw new BusinessException(ExceptionResultEnum.USER_ID_IS_NULL);
+            }
+            String userId = String.valueOf(mapParameter.get("userId"));
+            String[] userIds = userId.split(",");
+            if (userIds.length > 3) {
+                throw new BusinessException(ExceptionResultEnum.ERROR.getCode(), "一个考场最多设置3名监考员");
+            }
+            HttpServletRequest request = ServletUtil.getRequest();
+            TBOrg tbOrg = (TBOrg) ServletUtil.getRequestOrg(request);
+            QueryWrapper<TBExamInvigilateUser> tbExamInvigilateUserQueryWrapper = new QueryWrapper<>();
+            tbExamInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getRoomCode, roomCode);
+            Long orgId = null;
+            if (Objects.nonNull(tbOrg)) {
+                tbExamInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getOrgId, tbOrg.getId());
+                orgId = tbOrg.getId();
+            }
+            List<TBExamInvigilateUser> tbExamInvigilateUserList = tbExamInvigilateUserService.list(tbExamInvigilateUserQueryWrapper);
+            List<String> roomNameList = tbExamInvigilateUserList.stream().map(s -> s.getRoomName()).collect(Collectors.toList());
+            tbExamInvigilateUserService.remove(tbExamInvigilateUserQueryWrapper);
+            if (userIds.length > 0) {
+                tbExamInvigilateUserList = new ArrayList<>();
+                for (int i = 0; i < userIds.length; i++) {
+                    TBExamInvigilateUser tbExamInvigilateUser = new TBExamInvigilateUser(orgId, Long.parseLong(userIds[i]), roomCode, roomNameList.get(0));
+                    tbExamInvigilateUserList.add(tbExamInvigilateUser);
+                }
+                tbExamInvigilateUserService.saveBatch(tbExamInvigilateUserList);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            if (e instanceof DuplicateKeyException) {
+                String errorColumn = e.getCause().toString();
+                String columnStr = errorColumn.substring(errorColumn.lastIndexOf("key") + 3, errorColumn.length()).replaceAll("'", "");
+                throw new BusinessException("考场代码[" + roomCode + "]下的" + FieldUniqueEnum.convertToCode(columnStr) + "数据不允许重复插入");
+            } else if (e instanceof BusinessException) {
+                throw new BusinessException(e.getMessage());
+            } else {
+                throw new RuntimeException(e);
+            }
+        }
+        return ResultUtil.ok(JacksonUtil.parseJson(SystemConstant.SUCCESS));
+    }
+
+    @ApiOperation(value = "监考员导入接口")
+    @RequestMapping(value = "/import", method = RequestMethod.POST)
+    @Transactional
+    @ApiResponses({@ApiResponse(code = 200, message = "{\"taskId\":0", response = Result.class)})
+    public Result importData(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) {
+        return ResultUtil.ok(JacksonUtil.parseJson(SystemConstant.SUCCESS));
+    }
+
+    @ApiOperation(value = "监考员导出接口")
+    @RequestMapping(value = "/export", method = RequestMethod.POST)
+    @Transactional
+    @ApiResponses({@ApiResponse(code = 200, message = "{\"taskId\":0", response = Result.class)})
+    public Result export(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) {
+        return ResultUtil.ok(JacksonUtil.parseJson(SystemConstant.SUCCESS));
+    }
+}

+ 3 - 1
themis-backend/src/main/java/com/qmth/themis/backend/api/TBUserController.java

@@ -546,7 +546,9 @@ public class TBUserController {
             HttpServletRequest request = ServletUtil.getRequest();
             TBOrg tbOrg = (TBOrg) ServletUtil.getRequestOrg(request);
             tbUser.setId(Constants.idGen.next());
-            tbUser.setOrgId(tbOrg.getId());
+            if(Objects.nonNull(tbOrg)) {
+                tbUser.setOrgId(tbOrg.getId());
+            }
             tbUser.setCreateId(tbUser.getId());
             if (Objects.nonNull(roleSet) && roleSet.size() > 0) {
                 roleSet.forEach(s -> {

+ 31 - 23
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamStudentController.java

@@ -21,9 +21,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * @Description: 考生库 前端控制器
@@ -54,29 +52,27 @@ public class TEExamStudentController {
     @RequestMapping(value = "/toggle", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
     @Transactional
-    public Result toggle(
-            @ApiJsonObject(name = "examStudentToggle", value = {
+    public Result toggle(@ApiJsonObject(name = "examStudentToggle", value = {
             @ApiJsonProperty(key = "id", type = "long", example = "1", description = "考生ID"),
             @ApiJsonProperty(key = "enable", type = "int", example = "1", description = "是否启用")
-    })
-            @ApiParam(value = "考生信息", required = true) @RequestBody Map<String, Object> mapParameter) {
-        if (Objects.isNull(mapParameter.get("id")) || Objects.equals(mapParameter.get("id"), "")) {
-            throw new BusinessException(ExceptionResultEnum.EXAM_STUDENT_ID_IS_NULL);
-        }
-        Long id = Long.parseLong(String.valueOf(mapParameter.get("id")));
-        if (Objects.isNull(mapParameter.get("enable")) || Objects.equals(mapParameter.get("enable"), "")) {
-            throw new BusinessException(ExceptionResultEnum.ENABLE_IS_NULL);
-        }
-        Integer enable = Integer.parseInt(String.valueOf(mapParameter.get("enable")));
-        TEExamStudent teExamStudent = teExamStudentService.getById(id);
-        if (Objects.isNull(teExamStudent)) {
+    }) @ApiParam(value = "考生信息", required = true) @RequestBody List<Map<String, Object>> mapParameter) {
+        if (Objects.isNull(mapParameter) || mapParameter.size() == 0) {
             throw new BusinessException(ExceptionResultEnum.EXAM_STUDENT_INFO_IS_NULL);
         }
         HttpServletRequest request = ServletUtil.getRequest();
         TBUser tbUser = (TBUser) ServletUtil.getRequestAccount(request);
-        teExamStudent.setEnable(enable);
-        teExamStudent.setUpdateId(tbUser.getId());
-        teExamStudentService.updateById(teExamStudent);
+        List<TEExamStudent> teExamStudentList = new ArrayList<>();
+        for (int i = 0; i < mapParameter.size(); i++) {
+            Map map = mapParameter.get(i);
+            TEExamStudent teExamStudent = teExamStudentService.getById(Long.parseLong(String.valueOf(map.get("id"))));
+            if (Objects.isNull(teExamStudent)) {
+                throw new BusinessException(ExceptionResultEnum.EXAM_STUDENT_NO);
+            }
+            teExamStudent.setEnable(Integer.parseInt(String.valueOf(map.get("enable"))));
+            teExamStudent.setUpdateId(tbUser.getId());
+            teExamStudentList.add(teExamStudent);
+        }
+        teExamStudentService.updateBatchById(teExamStudentList);
         return ResultUtil.ok(JacksonUtil.parseJson(SystemConstant.SUCCESS));
     }
 
@@ -84,11 +80,23 @@ public class TEExamStudentController {
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
     @Transactional
-    public Result save(@ApiParam(value = "考生信息", required = true) @RequestBody TEExamStudent teExamStudent) {
-        if (Objects.isNull(teExamStudent)) {
+    public Result save(@ApiParam(value = "考生信息", required = true) @RequestBody List<TEExamStudent> teExamStudentList) {
+        if (Objects.isNull(teExamStudentList)) {
             throw new BusinessException(ExceptionResultEnum.EXAM_STUDENT_INFO_IS_NULL);
         }
-        teExamStudentService.updateById(teExamStudent);
+        teExamStudentService.updateBatchById(teExamStudentList);
+        return ResultUtil.ok(JacksonUtil.parseJson(SystemConstant.SUCCESS));
+    }
+
+    @ApiOperation(value = "考生删除接口")
+    @RequestMapping(value = "/delete", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
+    @Transactional
+    public Result delete(@ApiParam(value = "考生id", required = true) @RequestBody List<Long> ids) {
+        if (Objects.isNull(ids)) {
+            throw new BusinessException(ExceptionResultEnum.EXAM_STUDENT_ID_IS_NULL);
+        }
+        teExamStudentService.removeByIds(ids);
         return ResultUtil.ok(JacksonUtil.parseJson(SystemConstant.SUCCESS));
     }
 

+ 3 - 5
themis-backend/src/main/java/com/qmth/themis/backend/api/TEStudentController.java

@@ -54,12 +54,10 @@ public class TEStudentController {
     @RequestMapping(value = "/toggle", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
     @Transactional
-    public Result toggle(
-            @ApiJsonObject(name = "studentToggle", value = {
+    public Result toggle(@ApiJsonObject(name = "studentToggle", value = {
             @ApiJsonProperty(key = "id", type = "long", example = "1", description = "学生ID"),
             @ApiJsonProperty(key = "enable", type = "long", example = "1", description = "是否启用")
-    })
-            @ApiParam(value = "学生信息", required = true) @RequestBody Map<String, Object> mapParameter) {
+    }) @ApiParam(value = "学生信息", required = true) @RequestBody Map<String, Object> mapParameter) {
         if (Objects.isNull(mapParameter.get("id")) || Objects.equals(mapParameter.get("id"), "")) {
             throw new BusinessException(ExceptionResultEnum.STUDENT_ID_IS_NULL);
         }
@@ -70,7 +68,7 @@ public class TEStudentController {
         Integer enable = Integer.parseInt(String.valueOf(mapParameter.get("enable")));
         TEStudent teStudent = teStudentService.getById(id);
         if (Objects.isNull(teStudent)) {
-            throw new BusinessException(ExceptionResultEnum.STUDENT_INFO_IS_NULL);
+            throw new BusinessException(ExceptionResultEnum.STUDENT_NO);
         }
         HttpServletRequest request = ServletUtil.getRequest();
         TBUser tbUser = (TBUser) ServletUtil.getRequestAccount(request);

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamInvigilateUserController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 监考员设置 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "监考员设置Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/examInvigilateUser")
-public class TOeExamInvigilateUserController {
-
-}

+ 30 - 0
themis-business/src/main/java/com/qmth/themis/business/dao/TBExamInvigilateUserMapper.java

@@ -0,0 +1,30 @@
+package com.qmth.themis.business.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.themis.business.entity.TBExamInvigilateUser;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+/**
+ * @Description: 监考员设置 Mapper 接口
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/7/9
+ */
+@Mapper
+public interface TBExamInvigilateUserMapper extends BaseMapper<TBExamInvigilateUser> {
+
+    /**
+     * 查询监考员
+     *
+     * @param iPage
+     * @param roomCode
+     * @param userId
+     * @return
+     */
+    public IPage<Map> examInvigilateUserQuery(IPage<Map> iPage, @Param("roomCode") String roomCode, @Param("userId") Long userId);
+}

+ 0 - 17
themis-business/src/main/java/com/qmth/themis/business/dao/TOeExamInvigilateUserMapper.java

@@ -1,17 +0,0 @@
-package com.qmth.themis.business.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.qmth.themis.business.entity.TOeExamInvigilateUser;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * @Description: 监考员设置 Mapper 接口
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/7/9
- */
-@Mapper
-public interface TOeExamInvigilateUserMapper extends BaseMapper<TOeExamInvigilateUser> {
-
-}

+ 12 - 1
themis-business/src/main/java/com/qmth/themis/business/entity/TOeExamInvigilateUser.java → themis-business/src/main/java/com/qmth/themis/business/entity/TBExamInvigilateUser.java

@@ -15,7 +15,7 @@ import java.io.Serializable;
  * @Date: 2020/7/9
  */
 @ApiModel(value = "t_oe_exam_invigilate_user", description = "监考员设置")
-public class TOeExamInvigilateUser implements Serializable {
+public class TBExamInvigilateUser implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty(value = "主键")
@@ -38,6 +38,17 @@ public class TOeExamInvigilateUser implements Serializable {
     @TableField("room_name")
     private String roomName;
 
+    public TBExamInvigilateUser() {
+
+    }
+
+    public TBExamInvigilateUser(Long orgId, Long userId, String roomCode, String roomName) {
+        this.orgId = orgId;
+        this.userId = userId;
+        this.roomCode = roomCode;
+        this.roomName = roomName;
+    }
+
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }

+ 18 - 8
themis-business/src/main/java/com/qmth/themis/business/enums/FieldUniqueEnum.java

@@ -19,9 +19,11 @@ public enum FieldUniqueEnum {
 
     t_e_exam_paper_examId_code_Idx("考试试卷编码"),
 
-    t_e_exam_student_examId_roomCode_Idx("考场代码"),
+//    t_e_exam_student_examId_roomCode_Idx("考场代码"),
 
-    t_e_student_orgId_identity_Idx("证件号");
+    t_e_student_orgId_identity_Idx("证件号"),
+
+    t_b_exam_invigilate_user_orgId_userId_roomCode_Idx("监考员");
 
     private String code;
 
@@ -46,10 +48,14 @@ public enum FieldUniqueEnum {
             return t_e_exam_course_examId_courseCode_Idx.name();
         } else if (Objects.equals(value.trim(), t_e_exam_paper_examId_code_Idx.code)) {
             return t_e_exam_paper_examId_code_Idx.name();
-        } else if (Objects.equals(value.trim(), t_e_exam_student_examId_roomCode_Idx.code)) {
-            return t_e_exam_student_examId_roomCode_Idx.name();
-        } else if (Objects.equals(value.trim(), t_e_student_orgId_identity_Idx.code)) {
+        }
+//        else if (Objects.equals(value.trim(), t_e_exam_student_examId_roomCode_Idx.code)) {
+//            return t_e_exam_student_examId_roomCode_Idx.name();
+//        }
+        else if (Objects.equals(value.trim(), t_e_student_orgId_identity_Idx.code)) {
             return t_e_student_orgId_identity_Idx.name();
+        } else if (Objects.equals(value.trim(), t_b_exam_invigilate_user_orgId_userId_roomCode_Idx.code)) {
+            return t_b_exam_invigilate_user_orgId_userId_roomCode_Idx.name();
         } else {
             return t_e_exam_activity_examId_code_Idx.name();
         }
@@ -68,10 +74,14 @@ public enum FieldUniqueEnum {
             return t_e_exam_course_examId_courseCode_Idx.code;
         } else if (Objects.equals(value.trim(), t_e_exam_paper_examId_code_Idx.name())) {
             return t_e_exam_paper_examId_code_Idx.code;
-        } else if (Objects.equals(value.trim(), t_e_exam_student_examId_roomCode_Idx.name())) {
-            return t_e_exam_student_examId_roomCode_Idx.code;
-        } else if (Objects.equals(value.trim(), t_e_student_orgId_identity_Idx.name())) {
+        }
+//        else if (Objects.equals(value.trim(), t_e_exam_student_examId_roomCode_Idx.name())) {
+//            return t_e_exam_student_examId_roomCode_Idx.code;
+//        }
+        else if (Objects.equals(value.trim(), t_e_student_orgId_identity_Idx.name())) {
             return t_e_student_orgId_identity_Idx.code;
+        } else if (Objects.equals(value.trim(), t_b_exam_invigilate_user_orgId_userId_roomCode_Idx.name())) {
+            return t_b_exam_invigilate_user_orgId_userId_roomCode_Idx.code;
         } else {
             return t_e_exam_activity_examId_code_Idx.code;
         }

+ 27 - 0
themis-business/src/main/java/com/qmth/themis/business/service/TBExamInvigilateUserService.java

@@ -0,0 +1,27 @@
+package com.qmth.themis.business.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.themis.business.entity.TBExamInvigilateUser;
+
+import java.util.Map;
+
+/**
+ * @Description: 监考员设置 服务类
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/7/9
+ */
+public interface TBExamInvigilateUserService extends IService<TBExamInvigilateUser> {
+
+    /**
+     * 查询监考员
+     *
+     * @param iPage
+     * @param roomCode
+     * @param userId
+     * @return
+     */
+    public IPage<Map> examInvigilateUserQuery(IPage<Map> iPage, String roomCode, Long userId);
+}

+ 0 - 15
themis-business/src/main/java/com/qmth/themis/business/service/TOeExamInvigilateUserService.java

@@ -1,15 +0,0 @@
-package com.qmth.themis.business.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.themis.business.entity.TOeExamInvigilateUser;
-
-/**
- * @Description: 监考员设置 服务类
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/7/9
- */
-public interface TOeExamInvigilateUserService extends IService<TOeExamInvigilateUser> {
-
-}

+ 38 - 0
themis-business/src/main/java/com/qmth/themis/business/service/impl/TBExamInvigilateUserServiceImpl.java

@@ -0,0 +1,38 @@
+package com.qmth.themis.business.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.themis.business.dao.TBExamInvigilateUserMapper;
+import com.qmth.themis.business.entity.TBExamInvigilateUser;
+import com.qmth.themis.business.service.TBExamInvigilateUserService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * @Description: 监考员设置 服务实现类
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2020/7/9
+ */
+@Service
+public class TBExamInvigilateUserServiceImpl extends ServiceImpl<TBExamInvigilateUserMapper, TBExamInvigilateUser> implements TBExamInvigilateUserService {
+
+    @Resource
+    TBExamInvigilateUserMapper tbExamInvigilateUserMapper;
+
+    /**
+     * 查询监考员
+     *
+     * @param iPage
+     * @param roomCode
+     * @param userId
+     * @return
+     */
+    @Override
+    public IPage<Map> examInvigilateUserQuery(IPage<Map> iPage, String roomCode, Long userId) {
+        return tbExamInvigilateUserMapper.examInvigilateUserQuery(iPage, roomCode, userId);
+    }
+}

+ 0 - 19
themis-business/src/main/java/com/qmth/themis/business/service/impl/TOeExamInvigilateUserServiceImpl.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.business.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.themis.business.dao.TOeExamInvigilateUserMapper;
-import com.qmth.themis.business.entity.TOeExamInvigilateUser;
-import com.qmth.themis.business.service.TOeExamInvigilateUserService;
-import org.springframework.stereotype.Service;
-
-/**
- * @Description: 监考员设置 服务实现类
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/7/9
- */
-@Service
-public class TOeExamInvigilateUserServiceImpl extends ServiceImpl<TOeExamInvigilateUserMapper, TOeExamInvigilateUser> implements TOeExamInvigilateUserService {
-
-}

+ 35 - 0
themis-business/src/main/resources/mapper/TBExamInvigilateUserMapper.xml

@@ -0,0 +1,35 @@
+<?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.qmth.themis.business.dao.TBExamInvigilateUserMapper">
+
+    <select id="examInvigilateUserQuery" resultType="java.util.Map">
+        select
+            t.roomCode,
+            t.roomName,
+            GROUP_CONCAT(t.userId) as userId,
+            GROUP_CONCAT(t.name) as name
+        from
+            (
+            select
+                tbeiu.room_code as roomCode, tbeiu.room_name as roomName, tbeiu.user_id as userId, (
+                select
+                    tbu.name
+                from
+                    t_b_user tbu
+                where
+                    tbu.id = tbeiu.user_id) as name
+            from
+                t_b_exam_invigilate_user tbeiu
+            <where>
+                <if test="userId != null and userId != ''">
+                    and tbeiu.user_id = #{userId}
+                </if>
+                <if test="roomCode != null and roomCode != ''">
+                    and tbeiu.room_code like concat('%', #{roomCode}, '%')
+                </if>
+            </where>) t
+        group by
+            t.roomCode,
+            t.roomName
+    </select>
+</mapper>

+ 0 - 5
themis-business/src/main/resources/mapper/TOeExamInvigilateUserMapper.xml

@@ -1,5 +0,0 @@
-<?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.qmth.themis.business.dao.TOeExamInvigilateUserMapper">
-
-</mapper>

+ 4 - 0
themis-common/src/main/java/com/qmth/themis/common/enums/ExceptionResultEnum.java

@@ -36,6 +36,8 @@ public enum ExceptionResultEnum {
 
     STUDENT_ID_IS_NULL("102", "学生id不能为空"),
 
+    ROOMCODE_IS_NULL("102", "考场代码不能为空"),
+
     STUDENT_INFO_IS_NULL("102", "待修改的学生信息不能为空"),
 
     LOGIN_NAME_IS_NULL("102", "用户名不能为空"),
@@ -78,6 +80,8 @@ public enum ExceptionResultEnum {
 
     STUDENT_NO("102", "学生不存在"),
 
+    EXAM_STUDENT_NO("102", "考生不存在"),
+
     LOGIN_NO("102", "请先登录"),
 
     SCENE_NUMBER_ID_IS_NULL("102", "场次id不能为空"),