wangliang 4 年 前
コミット
3e1446b090

+ 7 - 3
themis-backend/src/main/java/com/qmth/themis/backend/api/SysController.java

@@ -253,7 +253,7 @@ public class SysController {
     @ApiResponses({@ApiResponse(code = 200, message = "角色信息", response = TBRole.class)})
     public Result roleList() {
         List<TBRole> tbRoleList = (List<TBRole>) redisUtil.getRole();
-        if (Objects.nonNull(tbRoleList)) {
+        if (Objects.nonNull(tbRoleList) && tbRoleList.size() > 0) {
             tbRoleList = (List<TBRole>) tbRoleList.get(0);
         } else {
             QueryWrapper<TBRole> tbRoleQueryWrapper = new QueryWrapper<>();
@@ -276,14 +276,18 @@ public class SysController {
     @ApiOperation(value = "考试批次查询接口")
     @RequestMapping(value = "/exam/query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "角色信息", response = TEExamQueryDto.class)})
-    public Result examQuery(@ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId) {
+    public Result examQuery(@ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId, @ApiParam(value = "批次名称", required = false) @RequestParam(required = false) String name) {
         TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
         List<TEExam> teExamList = null;
         if (Objects.nonNull(userId) && !Objects.equals(userId, "")) {
             teExamList = teExamService.examPrivilegeQuery(userId);
         } else {
             QueryWrapper<TEExam> teExamQueryWrapper = new QueryWrapper<>();
-            teExamQueryWrapper.lambda().eq(TEExam::getOrgId, tbUser.getOrgId()).orderByDesc(TEExam::getCreateTime);
+            teExamQueryWrapper.lambda().eq(TEExam::getOrgId, tbUser.getOrgId());
+            if (Objects.nonNull(name) && !Objects.equals(name, "")) {
+                teExamQueryWrapper.lambda().like(TEExam::getName, name);
+            }
+            teExamQueryWrapper.lambda().orderByDesc(TEExam::getCreateTime);
             teExamList = teExamService.list(teExamQueryWrapper);
         }
         List<TEExamQueryDto> teExamQueryDtoList = null;

+ 3 - 6
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamController.java

@@ -219,16 +219,13 @@ public class TEExamController {
     @ApiOperation(value = "考试批次查询接口")
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "考试批次信息", response = TEExam.class)})
-    public Result query(@ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId, @ApiParam(value = "考试批次id", required = false) @RequestParam(required = false) Long id, @ApiParam(value = "考试批次编码", required = false) @RequestParam(required = false) String code, @ApiParam(value = "考试批次名称", required = false) @RequestParam(required = false) String name, @ApiParam(value = "考试批次模式", required = false) @RequestParam(required = false) String mode, @ApiParam(value = "是否启用", required = false) @RequestParam(required = false) Integer enable, @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber, @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
+    public Result query(@ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId, @ApiParam(value = "考试批次id", required = false) @RequestParam(required = false) Long id, @ApiParam(value = "考试批次编码", required = false) @RequestParam(required = false) String code, @ApiParam(value = "考试批次名称", required = false) @RequestParam(required = false) String name, @ApiParam(value = "考试批次模式", required = false) @RequestParam(required = false) String mode, @ApiParam(value = "是否启用", required = false) @RequestParam(required = false) Integer enable, @ApiParam(value = "类型(区分实时监考台和考务)", required = false) @RequestParam(required = false) String type, @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber, @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
         TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
         AuthDto authDto = (AuthDto) redisUtil.get(SystemConstant.userOauth + "::" + tbUser.getId());
-        Long uId = null;
         if (authDto.getRoleCodes().toString().contains(RoleEnum.INSPECTION.name())) {
-            uId = null;
-        } else {
-            uId = userId;
+            userId = null;
         }
-        return ResultUtil.ok(teExamService.examQuery(new Page<>(pageNumber, pageSize), uId, id, code, name, mode, enable, tbUser.getOrgId()));
+        return ResultUtil.ok(teExamService.examQuery(new Page<>(pageNumber, pageSize), userId, id, code, name, mode, enable, tbUser.getOrgId(), type));
     }
 
     @ApiOperation(value = "考试批次停用/启用接口")

+ 13 - 13
themis-business/src/main/java/com/qmth/themis/business/dao/TEExamMapper.java

@@ -1,11 +1,5 @@
 package com.qmth.themis.business.dao;
 
-import java.util.List;
-import java.util.Map;
-
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.themis.business.bean.backend.OpenExamBean;
@@ -14,6 +8,11 @@ import com.qmth.themis.business.dto.response.TEExamQueryDto;
 import com.qmth.themis.business.entity.TEExam;
 import com.qmth.themis.business.enums.InvigilateMonitorStatusEnum;
 import com.qmth.themis.business.enums.ScoreStatusEnum;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 考试批次 Mapper 接口
@@ -36,9 +35,10 @@ public interface TEExamMapper extends BaseMapper<TEExam> {
      * @param mode
      * @param enable
      * @param orgId
+     * @param type
      * @return
      */
-    public IPage<TEExamQueryDto> examQuery(IPage<Map> iPage, @Param("userId") Long userId, @Param("id") Long id, @Param("code") String code, @Param("name") String name, @Param("mode") String mode, @Param("enable") Integer enable, @Param("orgId") Long orgId);
+    public IPage<TEExamQueryDto> examQuery(IPage<Map> iPage, @Param("userId") Long userId, @Param("id") Long id, @Param("code") String code, @Param("name") String name, @Param("mode") String mode, @Param("enable") Integer enable, @Param("orgId") Long orgId, @Param("type") String type);
 
     /**
      * 获取考试待考列表
@@ -67,11 +67,11 @@ public interface TEExamMapper extends BaseMapper<TEExam> {
      */
     public List<TEExam> examPrivilegeQuery(@Param("userId") Long userId);
 
-	public void updateInvigilateMonitorStatus(@Param("monitorStatus") InvigilateMonitorStatusEnum monitorStatus,@Param("examId") Long examId);
+    public void updateInvigilateMonitorStatus(@Param("monitorStatus") InvigilateMonitorStatusEnum monitorStatus, @Param("examId") Long examId);
+
+    public void updateScoreStatus(@Param("scoreStatus") ScoreStatusEnum scoreStatus, @Param("examId") Long examId);
+
+    public void updateScoreProgress(@Param("progress") Double progress, @Param("examId") Long examId);
 
-	public void updateScoreStatus(@Param("scoreStatus") ScoreStatusEnum scoreStatus,@Param("examId") Long examId);
-	
-	public void updateScoreProgress(@Param("progress") Double progress,@Param("examId") Long examId);
-	
-	public IPage<OpenExamBean> examQueryForOpen(IPage<OpenExamBean> iPage, @Param("id") Long id, @Param("code") String code);
+    public IPage<OpenExamBean> examQueryForOpen(IPage<OpenExamBean> iPage, @Param("id") Long id, @Param("code") String code);
 }

+ 2 - 1
themis-business/src/main/java/com/qmth/themis/business/service/TEExamService.java

@@ -38,9 +38,10 @@ public interface TEExamService extends IService<TEExam> {
      * @param mode
      * @param enable
      * @param orgId
+     * @param type
      * @return
      */
-    public IPage<TEExamQueryDto> examQuery(IPage<Map> iPage, Long userId, Long id, String code, String name, String mode, Integer enable, Long orgId);
+    public IPage<TEExamQueryDto> examQuery(IPage<Map> iPage, Long userId, Long id, String code, String name, String mode, Integer enable, Long orgId,String type);
 
     /**
      * 获取考试待考列表

+ 3 - 2
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamServiceImpl.java

@@ -110,11 +110,12 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
      * @param mode
      * @param enable
      * @param orgId
+     * @param type
      * @return
      */
     @Override
-    public IPage<TEExamQueryDto> examQuery(IPage<Map> iPage, Long userId, Long id, String code, String name, String mode, Integer enable, Long orgId) {
-        return teExamMapper.examQuery(iPage, userId, id, code, name, mode, enable, orgId);
+    public IPage<TEExamQueryDto> examQuery(IPage<Map> iPage, Long userId, Long id, String code, String name, String mode, Integer enable, Long orgId, String type) {
+        return teExamMapper.examQuery(iPage, userId, id, code, name, mode, enable, orgId, type);
     }
 
     /**

+ 5 - 3
themis-business/src/main/resources/mapper/TEExamMapper.xml

@@ -74,10 +74,12 @@
         where
         t1.id = t.update_id) as updateName
         from t_e_exam t
-        <where> 1=1
-            <!--and t.monitor_status <![CDATA[ <> ]]> 'FINISHED'-->
-            <if test="userId != null and userId != ''">
+        <where> 1 = 1
+            <if test="type != null and type != '' and type == 'monitor'">
+                and t.monitor_status <![CDATA[ <> ]]> 'FINISHED'
                 and t.start_time <![CDATA[ <= ]]> unix_timestamp(current_timestamp()) * 1000
+            </if>
+            <if test="userId != null and userId != ''">
                 and t.enable = 1
                 and EXISTS(
                 select