|
@@ -8,6 +8,8 @@ import java.util.Objects;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
|
|
+import com.qmth.themis.business.enums.*;
|
|
|
|
+import com.qmth.themis.business.service.*;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -19,19 +21,6 @@ import com.qmth.themis.business.entity.TBSession;
|
|
import com.qmth.themis.business.entity.TMRocketMessage;
|
|
import com.qmth.themis.business.entity.TMRocketMessage;
|
|
import com.qmth.themis.business.entity.TOeExamBreakHistory;
|
|
import com.qmth.themis.business.entity.TOeExamBreakHistory;
|
|
import com.qmth.themis.business.entity.TOeExamRecord;
|
|
import com.qmth.themis.business.entity.TOeExamRecord;
|
|
-import com.qmth.themis.business.enums.BreakReasonEnum;
|
|
|
|
-import com.qmth.themis.business.enums.ExamRecordStatusEnum;
|
|
|
|
-import com.qmth.themis.business.enums.MqEnum;
|
|
|
|
-import com.qmth.themis.business.enums.SystemOperationEnum;
|
|
|
|
-import com.qmth.themis.business.enums.WebsocketStatusEnum;
|
|
|
|
-import com.qmth.themis.business.service.TBSessionService;
|
|
|
|
-import com.qmth.themis.business.service.TEExamStudentLogService;
|
|
|
|
-import com.qmth.themis.business.service.TEUserLogService;
|
|
|
|
-import com.qmth.themis.business.service.TMRocketMessageService;
|
|
|
|
-import com.qmth.themis.business.service.TOeExamBreakHistoryService;
|
|
|
|
-import com.qmth.themis.business.service.TOeExamRecordService;
|
|
|
|
-import com.qmth.themis.business.service.TOeFaceVerifyHistoryService;
|
|
|
|
-import com.qmth.themis.business.service.TOeLivenessVerifyHistoryService;
|
|
|
|
import com.qmth.themis.business.templete.TaskExportTemplete;
|
|
import com.qmth.themis.business.templete.TaskExportTemplete;
|
|
import com.qmth.themis.business.templete.TaskImportTemplete;
|
|
import com.qmth.themis.business.templete.TaskImportTemplete;
|
|
import com.qmth.themis.business.templete.impl.TaskExamPaperImportTemplete;
|
|
import com.qmth.themis.business.templete.impl.TaskExamPaperImportTemplete;
|
|
@@ -83,11 +72,12 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
TOeFaceVerifyHistoryService faceVerifyHistoryService;
|
|
TOeFaceVerifyHistoryService faceVerifyHistoryService;
|
|
-
|
|
|
|
|
|
+
|
|
@Resource
|
|
@Resource
|
|
TOeLivenessVerifyHistoryService livenessVerifyHistoryService;
|
|
TOeLivenessVerifyHistoryService livenessVerifyHistoryService;
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ TEExamService teExamService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* mq最大重试次数逻辑
|
|
* mq最大重试次数逻辑
|
|
@@ -218,9 +208,9 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
TOeExamRecord tOeExamRecord = tOeExamRecordService.getById(recordId);
|
|
TOeExamRecord tOeExamRecord = tOeExamRecordService.getById(recordId);
|
|
Integer breakCount = tOeExamRecord.getLeftBreakResumeCount();
|
|
Integer breakCount = tOeExamRecord.getLeftBreakResumeCount();
|
|
if (Objects.isNull(breakCount) || breakCount <= 0) {
|
|
if (Objects.isNull(breakCount) || breakCount <= 0) {
|
|
- //todo 没有断点次数,则强制交卷
|
|
|
|
tOeExamRecord.setStatus(ExamRecordStatusEnum.FINISHED);
|
|
tOeExamRecord.setStatus(ExamRecordStatusEnum.FINISHED);
|
|
tOeExamRecordService.updateById(tOeExamRecord);
|
|
tOeExamRecordService.updateById(tOeExamRecord);
|
|
|
|
+ teExamService.finish(tOeExamRecord.getExamStudentId(), tOeExamRecord.getId(), FinishTypeEnum.AUTO.name(), (int) (((System.currentTimeMillis() - tOeExamRecord.getClientLastSyncTime().getTime()) / 1000) + tOeExamRecord.getDurationSeconds()));
|
|
} else {
|
|
} else {
|
|
breakCount--;
|
|
breakCount--;
|
|
//增加断点记录
|
|
//增加断点记录
|
|
@@ -292,9 +282,9 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
redisUtil.delete(key, mqDto.getId());
|
|
redisUtil.delete(key, mqDto.getId());
|
|
}
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
|
- public void execMqLivenessVerifySaveLogic(MqDto mqDto, String key) {
|
|
|
|
- Gson gson = new Gson();
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public void execMqLivenessVerifySaveLogic(MqDto mqDto, String key) {
|
|
|
|
+ Gson gson = new Gson();
|
|
Map<String, Object> param = (Map<String, Object>) mqDto.getBody();
|
|
Map<String, Object> param = (Map<String, Object>) mqDto.getBody();
|
|
Long id = (Long) param.get("id");
|
|
Long id = (Long) param.get("id");
|
|
Long recordId = (Long) param.get("recordId");
|
|
Long recordId = (Long) param.get("recordId");
|
|
@@ -310,5 +300,5 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
tmRocketMessage.setBody(JacksonUtil.parseJson(tmRocketMessage.getBody()));
|
|
tmRocketMessage.setBody(JacksonUtil.parseJson(tmRocketMessage.getBody()));
|
|
tmRocketMessageService.saveOrUpdate(tmRocketMessage);
|
|
tmRocketMessageService.saveOrUpdate(tmRocketMessage);
|
|
redisUtil.delete(key, mqDto.getId());
|
|
redisUtil.delete(key, mqDto.getId());
|
|
- }
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|