|
@@ -3,10 +3,16 @@ package com.qmth.themis.exam.api;
|
|
|
import com.qmth.themis.business.bean.exam.LivenessVerifyBean;
|
|
|
import com.qmth.themis.business.bean.exam.LivenessVerifyParamBean;
|
|
|
import com.qmth.themis.business.cache.ExamRecordCacheUtil;
|
|
|
+import com.qmth.themis.business.cache.bean.ExamCacheBean;
|
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
|
import com.qmth.themis.business.dto.MqDto;
|
|
|
+import com.qmth.themis.business.enums.MonitorStatusSourceEnum;
|
|
|
+import com.qmth.themis.business.enums.MonitorVideoSourceEnum;
|
|
|
import com.qmth.themis.business.enums.MqTagEnum;
|
|
|
+import com.qmth.themis.business.enums.WebsocketStatusEnum;
|
|
|
import com.qmth.themis.business.service.MqDtoService;
|
|
|
+import com.qmth.themis.business.service.TEExamService;
|
|
|
+import com.qmth.themis.business.service.TOeExamRecordService;
|
|
|
import com.qmth.themis.business.service.TOeLivenessVerifyHistoryService;
|
|
|
import com.qmth.themis.business.util.MqUtil;
|
|
|
import com.qmth.themis.business.util.ServletUtil;
|
|
@@ -28,6 +34,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
|
* 活体验证
|
|
@@ -50,6 +57,12 @@ public class TELivenessController {
|
|
|
@Resource
|
|
|
MqUtil mqUtil;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TEExamService teExamService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ TOeExamRecordService tOeExamRecordService;
|
|
|
+
|
|
|
@ApiOperation(value = "活体验证结果")
|
|
|
@RequestMapping(value = "/verify", method = RequestMethod.POST)
|
|
|
@ApiResponses({@ApiResponse(code = 200, message = "活体验证信息")})
|
|
@@ -95,6 +108,20 @@ public class TELivenessController {
|
|
|
MqDto mqDto = new MqDto(mqUtil.getTopic(), MqTagEnum.LIVENESS_VERIFY_SAVE.name(), transMap,
|
|
|
MqTagEnum.LIVENESS_VERIFY_SAVE, param.getRecordId().toString(), ip);
|
|
|
mqDtoService.assembleSendAsyncMsg(mqDto);
|
|
|
+
|
|
|
+ Long examId = ExamRecordCacheUtil.getExamId(param.getRecordId());
|
|
|
+ if(Objects.nonNull(examId)) {
|
|
|
+ Long timestamp = System.currentTimeMillis();
|
|
|
+ ExamRecordCacheUtil.setClientWebsocketStatus(param.getRecordId(), WebsocketStatusEnum.ON_LINE, timestamp);
|
|
|
+ ExamCacheBean exam = teExamService.getExamCacheBean(examId);
|
|
|
+ if (Objects.nonNull(exam.getMonitorVideoSource())) {
|
|
|
+ String[] strs = exam.getMonitorVideoSource().split(",");
|
|
|
+ for (int i = 0; i < strs.length; i++) {
|
|
|
+ ExamRecordCacheUtil.setMonitorStatus(param.getRecordId(), MonitorVideoSourceEnum.valueOf(strs[i]), MonitorStatusSourceEnum.START, System.currentTimeMillis());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tOeExamRecordService.sendExamRecordDataSaveMq(param.getRecordId(), timestamp);
|
|
|
+ }
|
|
|
return ResultUtil.ok(ret);
|
|
|
}
|
|
|
|