فهرست منبع

管理员查询考试

xiatian 4 سال پیش
والد
کامیت
b5d6960a39
1فایلهای تغییر یافته به همراه20 افزوده شده و 8 حذف شده
  1. 20 8
      themis-backend/src/main/java/com/qmth/themis/backend/api/SysController.java

+ 20 - 8
themis-backend/src/main/java/com/qmth/themis/backend/api/SysController.java

@@ -279,20 +279,32 @@ public class SysController {
     @ApiResponses({@ApiResponse(code = 200, message = "角色信息", response = TEExamQueryDto.class)})
     public Result examQuery(@ApiParam(value = "用户id", required = false) @RequestParam(required = false) Long userId, @ApiParam(value = "批次名称", required = false) @RequestParam(required = false) String name, @ApiParam(value = "类型(区分实时监考台和考务)", required = false) @RequestParam(required = false) String type) {
         TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
+        AuthDto authDto = (AuthDto) redisUtil.get(SystemConstant.userOauth + "::" + tbUser.getId());
         List<TEExam> teExamList = null;
-        if (Objects.nonNull(userId) && !Objects.equals(userId, "")) {
-            teExamList = teExamService.examPrivilegeQuery(userId, tbUser.getOrgId(), type);
-        } else {
-            QueryWrapper<TEExam> teExamQueryWrapper = new QueryWrapper<>();
-            teExamQueryWrapper.lambda().eq(TEExam::getOrgId, tbUser.getOrgId());
+        if (authDto.getRoleCodes().toString().contains(RoleEnum.ADMIN.name())
+        		||authDto.getRoleCodes().toString().contains(RoleEnum.SUPER_ADMIN.name())) {//管理员
+        	QueryWrapper<TEExam> teExamQueryWrapper = new QueryWrapper<>();
+            teExamQueryWrapper.lambda().eq(TEExam::getOrgId, tbUser.getOrgId()).eq(TEExam::getEnable, 1);
             if (Objects.nonNull(name) && !Objects.equals(name, "")) {
                 teExamQueryWrapper.lambda().like(TEExam::getName, name);
             }
-            if (Objects.nonNull(type) && !Objects.equals(type, "") && Objects.equals(type, "monitor")) {
-                teExamQueryWrapper.lambda().ne(TEExam::getMonitorStatus, InvigilateMonitorStatusEnum.FINISHED.name());
-            }
             teExamQueryWrapper.lambda().orderByDesc(TEExam::getCreateTime);
             teExamList = teExamService.list(teExamQueryWrapper);
+        }else {
+	        if (Objects.nonNull(userId) && !Objects.equals(userId, "")) {
+	            teExamList = teExamService.examPrivilegeQuery(userId, tbUser.getOrgId(), type);
+	        } else {
+	            QueryWrapper<TEExam> teExamQueryWrapper = new QueryWrapper<>();
+	            teExamQueryWrapper.lambda().eq(TEExam::getOrgId, tbUser.getOrgId());
+	            if (Objects.nonNull(name) && !Objects.equals(name, "")) {
+	                teExamQueryWrapper.lambda().like(TEExam::getName, name);
+	            }
+	            if (Objects.nonNull(type) && !Objects.equals(type, "") && Objects.equals(type, "monitor")) {
+	                teExamQueryWrapper.lambda().ne(TEExam::getMonitorStatus, InvigilateMonitorStatusEnum.FINISHED.name());
+	            }
+	            teExamQueryWrapper.lambda().orderByDesc(TEExam::getCreateTime);
+	            teExamList = teExamService.list(teExamQueryWrapper);
+	        }
         }
         List<TEExamQueryDto> teExamQueryDtoList = null;
         if (Objects.nonNull(teExamList)) {