|
@@ -8,10 +8,7 @@ import com.google.gson.Gson;
|
|
|
import com.qmth.themis.business.annotation.ApiJsonObject;
|
|
|
import com.qmth.themis.business.annotation.ApiJsonProperty;
|
|
|
import com.qmth.themis.business.base.BasePage;
|
|
|
-import com.qmth.themis.business.bean.backend.InvigilateListBean;
|
|
|
-import com.qmth.themis.business.bean.backend.InvigilateListDetailBean;
|
|
|
-import com.qmth.themis.business.bean.backend.InvigilateListPatrolBean;
|
|
|
-import com.qmth.themis.business.bean.backend.InvigilateListVideoBean;
|
|
|
+import com.qmth.themis.business.bean.backend.*;
|
|
|
import com.qmth.themis.business.cache.RedisKeyHelper;
|
|
|
import com.qmth.themis.business.cache.bean.ExamStudentCacheBean;
|
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
@@ -232,14 +229,17 @@ public class TIeInvigilateController {
|
|
|
|
|
|
@ApiOperation(value = "在线巡考列表接口")
|
|
|
@RequestMapping(value = "/patrol/list", method = RequestMethod.POST)
|
|
|
- @ApiResponses({@ApiResponse(code = 200, message = "监考监控信息", response = InvigilateListVideoBean.class)})
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "监考监控信息", response = InvigilateListPatrolBean.class)})
|
|
|
public Result patrolList(@ApiParam(value = "考试批次id") @RequestParam Long examId,
|
|
|
@ApiParam(value = "考试场次id", required = false) @RequestParam(required = false) Long examActivityId,
|
|
|
@ApiParam(value = "虚拟考场代码", required = true) @RequestParam Set<String> roomCodes,
|
|
|
- @ApiParam(value = "试题下载状态", required = false) @RequestParam(required = false) Integer paperDownload,
|
|
|
@ApiParam(value = "考生状态", required = false) @RequestParam(required = false) String status,
|
|
|
@ApiParam(value = "姓名", required = false) @RequestParam(required = false) String name,
|
|
|
@ApiParam(value = "证件号", required = false) @RequestParam(required = false) String identity,
|
|
|
+ @ApiParam(value = "陌生人脸min", required = false) @RequestParam(required = false) Integer minMultipleFaceCount,
|
|
|
+ @ApiParam(value = "陌生人脸max", required = false) @RequestParam(required = false) Integer maxMultipleFaceCount,
|
|
|
+ @ApiParam(value = "异常处理min", required = false) @RequestParam(required = false) Integer minExceptionCount,
|
|
|
+ @ApiParam(value = "异常处理max", required = false) @RequestParam(required = false) Integer maxExceptionCount,
|
|
|
@ApiParam(value = "预警量min", required = false) @RequestParam(required = false) Integer minWarningCount,
|
|
|
@ApiParam(value = "预警量max", required = false) @RequestParam(required = false) Integer maxWarningCount,
|
|
|
@ApiParam(value = "客户端网络通信状态", required = false) @RequestParam(required = false) String clientWebsocketStatus,
|
|
@@ -252,13 +252,63 @@ public class TIeInvigilateController {
|
|
|
if (Objects.isNull(roomCodes) || Objects.equals(roomCodes, "")) {
|
|
|
throw new BusinessException(ExceptionResultEnum.ROOMCODE_IS_NULL);
|
|
|
}
|
|
|
- IPage<InvigilateListPatrolBean> invigilateListPatrolBeanIPage = tOeExamRecordService.invigilatePagePatrolList(new Page<>(pageNumber, pageSize), examId, examActivityId, roomCodes, paperDownload, status, name, identity, minWarningCount, maxWarningCount, clientWebsocketStatus, monitorStatusSource);
|
|
|
+ IPage<InvigilateListPatrolBean> invigilateListPatrolBeanIPage = tOeExamRecordService.invigilatePagePatrolList(new Page<>(pageNumber, pageSize), examId, examActivityId, roomCodes, status, name, identity, minMultipleFaceCount, maxMultipleFaceCount, minExceptionCount, maxExceptionCount, minWarningCount, maxWarningCount, clientWebsocketStatus, monitorStatusSource);
|
|
|
BasePage basePage = new BasePage(invigilateListPatrolBeanIPage.getRecords(), invigilateListPatrolBeanIPage.getCurrent(), invigilateListPatrolBeanIPage.getSize(), invigilateListPatrolBeanIPage.getTotal());
|
|
|
Map map = new HashMap<>();
|
|
|
map.put(SystemConstant.RECORDS, basePage);
|
|
|
return ResultUtil.ok(map);
|
|
|
}
|
|
|
|
|
|
+ @ApiOperation(value = "预警提醒接口")
|
|
|
+ @RequestMapping(value = "/warn/notify", method = RequestMethod.POST)
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "{\"count\":1}", response = Result.class)})
|
|
|
+ public Result warnNotify(@ApiParam(value = "考试批次id") @RequestParam Long examId,
|
|
|
+ @ApiParam(value = "考试场次id", required = false) @RequestParam(required = false) Long examActivityId,
|
|
|
+ @ApiParam(value = "虚拟考场代码", required = true) @RequestParam Set<String> roomCodes) {
|
|
|
+ if (Objects.isNull(examId) || Objects.equals(examId, "")) {
|
|
|
+ throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
|
+ }
|
|
|
+ if (Objects.isNull(roomCodes) || Objects.equals(roomCodes, "")) {
|
|
|
+ throw new BusinessException(ExceptionResultEnum.ROOMCODE_IS_NULL);
|
|
|
+ }
|
|
|
+ Integer count = tIeInvigilateWarnInfoService.warningCount(examId, examActivityId, roomCodes);
|
|
|
+ Map map = new HashMap<>();
|
|
|
+ map.put(SystemConstant.COUNT, count);
|
|
|
+ return ResultUtil.ok(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "预警提醒列表接口")
|
|
|
+ @RequestMapping(value = "/warn/list", method = RequestMethod.POST)
|
|
|
+ @ApiResponses({@ApiResponse(code = 200, message = "监考预警信息", response = InvigilateListWarningBean.class)})
|
|
|
+ public Result warnList(@ApiParam(value = "考试批次id") @RequestParam Long examId,
|
|
|
+ @ApiParam(value = "考试场次id", required = false) @RequestParam(required = false) Long examActivityId,
|
|
|
+ @ApiParam(value = "虚拟考场代码", required = true) @RequestParam Set<String> roomCodes,
|
|
|
+ @ApiParam(value = "审阅状态", required = false) @RequestParam(required = false) Integer approveStatus,
|
|
|
+ @ApiParam(value = "姓名", required = false) @RequestParam(required = false) String name,
|
|
|
+ @ApiParam(value = "证件号", required = false) @RequestParam(required = false) String identity,
|
|
|
+ @ApiParam(value = "陌生人脸min", required = false) @RequestParam(required = false) Integer minMultipleFaceCount,
|
|
|
+ @ApiParam(value = "陌生人脸max", required = false) @RequestParam(required = false) Integer maxMultipleFaceCount,
|
|
|
+ @ApiParam(value = "异常处理min", required = false) @RequestParam(required = false) Integer minExceptionCount,
|
|
|
+ @ApiParam(value = "异常处理max", required = false) @RequestParam(required = false) Integer maxExceptionCount,
|
|
|
+ @ApiParam(value = "预警量min", required = false) @RequestParam(required = false) Integer minWarningCount,
|
|
|
+ @ApiParam(value = "预警量max", required = false) @RequestParam(required = false) Integer maxWarningCount,
|
|
|
+ @ApiParam(value = "客户端网络通信状态", required = false) @RequestParam(required = false) String clientWebsocketStatus,
|
|
|
+ @ApiParam(value = "监控设备通信状态", required = false) @RequestParam(required = false) String monitorStatusSource,
|
|
|
+ @ApiParam(value = "分页页码", required = true) @RequestParam int pageNumber,
|
|
|
+ @ApiParam(value = "分页数", required = true) @RequestParam int pageSize) {
|
|
|
+ if (Objects.isNull(examId) || Objects.equals(examId, "")) {
|
|
|
+ throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
|
+ }
|
|
|
+ if (Objects.isNull(roomCodes) || Objects.equals(roomCodes, "")) {
|
|
|
+ throw new BusinessException(ExceptionResultEnum.ROOMCODE_IS_NULL);
|
|
|
+ }
|
|
|
+ IPage<InvigilateListWarningBean> invigilateListWarningBeanIPage = tOeExamRecordService.invigilatePageWarningList(new Page<>(pageNumber, pageSize), examId, examActivityId, roomCodes, approveStatus, name, identity, minMultipleFaceCount, maxMultipleFaceCount, minExceptionCount, maxExceptionCount, minWarningCount, maxWarningCount, clientWebsocketStatus, monitorStatusSource);
|
|
|
+ BasePage basePage = new BasePage(invigilateListWarningBeanIPage.getRecords(), invigilateListWarningBeanIPage.getCurrent(), invigilateListWarningBeanIPage.getSize(), invigilateListWarningBeanIPage.getTotal());
|
|
|
+ Map map = new HashMap<>();
|
|
|
+ map.put(SystemConstant.RECORDS, basePage);
|
|
|
+ return ResultUtil.ok(map);
|
|
|
+ }
|
|
|
+
|
|
|
@ApiOperation(value = "违纪处理接口")
|
|
|
@RequestMapping(value = "/breach", method = RequestMethod.POST)
|
|
|
@ApiResponses({@ApiResponse(code = 200, message = "{\"success\":true}", response = Result.class)})
|