|
@@ -108,6 +108,9 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
@Resource
|
|
@Resource
|
|
MqDtoService mqDtoService;
|
|
MqDtoService mqDtoService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ TEConfigService teConfigService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* mq最大重试次数逻辑
|
|
* mq最大重试次数逻辑
|
|
*
|
|
*
|
|
@@ -321,6 +324,7 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
Double realness = (Double) param.get("realness");
|
|
Double realness = (Double) param.get("realness");
|
|
Long time = (Long) param.get("time");
|
|
Long time = (Long) param.get("time");
|
|
String exception = (String) param.get("exception");
|
|
String exception = (String) param.get("exception");
|
|
|
|
+ TEConfig teConfig = teConfigService.getGlobalConfig();
|
|
if (Objects.equals(type.toUpperCase(), ExamTypeEnum.IN_PROCESS.name())) {
|
|
if (Objects.equals(type.toUpperCase(), ExamTypeEnum.IN_PROCESS.name())) {
|
|
VerifyExceptionEnum warningEnum = VerifyExceptionEnum.valueOf(exception);
|
|
VerifyExceptionEnum warningEnum = VerifyExceptionEnum.valueOf(exception);
|
|
WarningDto warningDto = new WarningDto(warningEnum, faceCount, realness, recordId, photoUrl);
|
|
WarningDto warningDto = new WarningDto(warningEnum, faceCount, realness, recordId, photoUrl);
|
|
@@ -340,27 +344,46 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
multipleFaceRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
multipleFaceRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
ExamRecordCacheUtil.setMultipleFaceCountErrorRandom(recordId, multipleFaceRandom);
|
|
ExamRecordCacheUtil.setMultipleFaceCountErrorRandom(recordId, multipleFaceRandom);
|
|
}
|
|
}
|
|
|
|
+ ExamRecordCacheUtil.setMultipleFaceCountErrorNum(recordId, ExamRecordCacheUtil.getMultipleFaceCountErrorNum(recordId) + 1);
|
|
warningDto.setRandom(multipleFaceRandom);
|
|
warningDto.setRandom(multipleFaceRandom);
|
|
faceVerifyHistoryService.save(id, recordId, type, photoUrl, faceCount, similarity, realness, time, exception, multipleFaceRandom);
|
|
faceVerifyHistoryService.save(id, recordId, type, photoUrl, faceCount, similarity, realness, time, exception, multipleFaceRandom);
|
|
|
|
+ Integer count = ExamRecordCacheUtil.getMultipleFaceCountErrorNum(recordId);
|
|
|
|
+ if (count >= teConfig.getMultipleFaceCountError()) {
|
|
|
|
+ ExamRecordCacheUtil.setMultipleFaceCountErrorRandom(recordId, String.valueOf(UUID.randomUUID()).replaceAll("-", ""));
|
|
|
|
+ ExamRecordCacheUtil.setMultipleFaceCountErrorNum(recordId, 0);
|
|
|
|
+ warningService.faceCountError(warningDto);
|
|
|
|
+ }
|
|
} else if (faceCount <= 0) {
|
|
} else if (faceCount <= 0) {
|
|
String noFaceRandom = ExamRecordCacheUtil.getNoFaceCountErrorRandom(recordId);
|
|
String noFaceRandom = ExamRecordCacheUtil.getNoFaceCountErrorRandom(recordId);
|
|
if (Objects.isNull(noFaceRandom)) {
|
|
if (Objects.isNull(noFaceRandom)) {
|
|
noFaceRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
noFaceRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
ExamRecordCacheUtil.setNoFaceCountErrorRandom(recordId, noFaceRandom);
|
|
ExamRecordCacheUtil.setNoFaceCountErrorRandom(recordId, noFaceRandom);
|
|
}
|
|
}
|
|
|
|
+ ExamRecordCacheUtil.setNoFaceCountErrorNum(recordId, ExamRecordCacheUtil.getNoFaceCountErrorNum(recordId) + 1);
|
|
warningDto.setRandom(noFaceRandom);
|
|
warningDto.setRandom(noFaceRandom);
|
|
faceVerifyHistoryService.save(id, recordId, type, photoUrl, faceCount, similarity, realness, time, exception, noFaceRandom);
|
|
faceVerifyHistoryService.save(id, recordId, type, photoUrl, faceCount, similarity, realness, time, exception, noFaceRandom);
|
|
|
|
+ Integer count = ExamRecordCacheUtil.getNoFaceCountErrorNum(recordId);
|
|
|
|
+ if (count >= teConfig.getNoFaceCountError()) {
|
|
|
|
+ ExamRecordCacheUtil.setNoFaceCountErrorRandom(recordId, String.valueOf(UUID.randomUUID()).replaceAll("-", ""));
|
|
|
|
+ ExamRecordCacheUtil.setNoFaceCountErrorNum(recordId, 0);
|
|
|
|
+ warningService.faceCountError(warningDto);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- warningService.faceCountError(warningDto);
|
|
|
|
} else if (Objects.equals(VerifyExceptionEnum.FACE_COMPARE_ERROR, warningEnum)) {//人脸比对异常
|
|
} else if (Objects.equals(VerifyExceptionEnum.FACE_COMPARE_ERROR, warningEnum)) {//人脸比对异常
|
|
String faceCompareErrorRandom = ExamRecordCacheUtil.getFaceCompareErrorRandom(recordId);
|
|
String faceCompareErrorRandom = ExamRecordCacheUtil.getFaceCompareErrorRandom(recordId);
|
|
if (Objects.isNull(faceCompareErrorRandom)) {
|
|
if (Objects.isNull(faceCompareErrorRandom)) {
|
|
faceCompareErrorRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
faceCompareErrorRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
ExamRecordCacheUtil.setFaceCompareErrorRandom(recordId, faceCompareErrorRandom);
|
|
ExamRecordCacheUtil.setFaceCompareErrorRandom(recordId, faceCompareErrorRandom);
|
|
}
|
|
}
|
|
|
|
+ ExamRecordCacheUtil.setFaceCompareErrorNum(recordId, ExamRecordCacheUtil.getFaceCompareErrorNum(recordId) + 1);
|
|
warningDto.setRandom(faceCompareErrorRandom);
|
|
warningDto.setRandom(faceCompareErrorRandom);
|
|
faceVerifyHistoryService.save(id, recordId, type, photoUrl, faceCount, similarity, realness, time, exception, null);
|
|
faceVerifyHistoryService.save(id, recordId, type, photoUrl, faceCount, similarity, realness, time, exception, null);
|
|
- warningService.faceCompareError(warningDto);
|
|
|
|
|
|
+ Integer count = ExamRecordCacheUtil.getFaceCompareErrorNum(recordId);
|
|
|
|
+ if (count >= teConfig.getTotalFaceCompareErrorCount()) {
|
|
|
|
+ ExamRecordCacheUtil.setFaceCompareErrorRandom(recordId, String.valueOf(UUID.randomUUID()).replaceAll("-", ""));
|
|
|
|
+ ExamRecordCacheUtil.setFaceCompareErrorNum(recordId, 0);
|
|
|
|
+ warningService.faceCountError(warningDto);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
faceVerifyHistoryService.save(id, recordId, type, photoUrl, faceCount, similarity, realness, time, exception, null);
|
|
faceVerifyHistoryService.save(id, recordId, type, photoUrl, faceCount, similarity, realness, time, exception, null);
|
|
if (realness.intValue() == 0) {//真实性异常
|
|
if (realness.intValue() == 0) {//真实性异常
|
|
@@ -368,6 +391,8 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ faceVerifyHistoryService.save(id, recordId, type, photoUrl, faceCount, similarity, realness, time, exception, null);
|
|
}
|
|
}
|
|
mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
TMRocketMessage tmRocketMessage = gson.fromJson(gson.toJson(mqDto), TMRocketMessage.class);
|
|
TMRocketMessage tmRocketMessage = gson.fromJson(gson.toJson(mqDto), TMRocketMessage.class);
|
|
@@ -395,6 +420,7 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
Long startTime = (Long) param.get("startTime");
|
|
Long startTime = (Long) param.get("startTime");
|
|
Long finishTime = (Long) param.get("finishTime");
|
|
Long finishTime = (Long) param.get("finishTime");
|
|
String exception = (String) param.get("exception");
|
|
String exception = (String) param.get("exception");
|
|
|
|
+ TEConfig teConfig = teConfigService.getGlobalConfig();
|
|
if (Objects.equals(type.toUpperCase(), ExamTypeEnum.IN_PROCESS.name())) {
|
|
if (Objects.equals(type.toUpperCase(), ExamTypeEnum.IN_PROCESS.name())) {
|
|
VerifyExceptionEnum warningEnum = VerifyExceptionEnum.valueOf(exception);
|
|
VerifyExceptionEnum warningEnum = VerifyExceptionEnum.valueOf(exception);
|
|
JSONArray jsonArray = JSONArray.parseArray(actions);
|
|
JSONArray jsonArray = JSONArray.parseArray(actions);
|
|
@@ -418,18 +444,31 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
multipleFaceRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
multipleFaceRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
ExamRecordCacheUtil.setMultipleFaceCountErrorRandom(recordId, multipleFaceRandom);
|
|
ExamRecordCacheUtil.setMultipleFaceCountErrorRandom(recordId, multipleFaceRandom);
|
|
}
|
|
}
|
|
|
|
+ ExamRecordCacheUtil.setMultipleFaceCountErrorNum(recordId, ExamRecordCacheUtil.getMultipleFaceCountErrorNum(recordId) + 1);
|
|
warningDto.setRandom(multipleFaceRandom);
|
|
warningDto.setRandom(multipleFaceRandom);
|
|
livenessVerifyHistoryService.save(id, recordId, type, actions, retry, startTime, finishTime, exception, multipleFaceRandom);
|
|
livenessVerifyHistoryService.save(id, recordId, type, actions, retry, startTime, finishTime, exception, multipleFaceRandom);
|
|
|
|
+ Integer count = ExamRecordCacheUtil.getMultipleFaceCountErrorNum(recordId);
|
|
|
|
+ if (count >= teConfig.getMultipleFaceCountError()) {
|
|
|
|
+ ExamRecordCacheUtil.setMultipleFaceCountErrorRandom(recordId, String.valueOf(UUID.randomUUID()).replaceAll("-", ""));
|
|
|
|
+ ExamRecordCacheUtil.setMultipleFaceCountErrorNum(recordId, 0);
|
|
|
|
+ warningService.faceCountError(warningDto);
|
|
|
|
+ }
|
|
} else if (faceCount <= 0) {
|
|
} else if (faceCount <= 0) {
|
|
String noFaceRandom = ExamRecordCacheUtil.getNoFaceCountErrorRandom(recordId);
|
|
String noFaceRandom = ExamRecordCacheUtil.getNoFaceCountErrorRandom(recordId);
|
|
if (Objects.isNull(noFaceRandom)) {
|
|
if (Objects.isNull(noFaceRandom)) {
|
|
noFaceRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
noFaceRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
ExamRecordCacheUtil.setNoFaceCountErrorRandom(recordId, noFaceRandom);
|
|
ExamRecordCacheUtil.setNoFaceCountErrorRandom(recordId, noFaceRandom);
|
|
}
|
|
}
|
|
|
|
+ ExamRecordCacheUtil.setNoFaceCountErrorNum(recordId, ExamRecordCacheUtil.getMultipleFaceCountErrorNum(recordId) + 1);
|
|
warningDto.setRandom(noFaceRandom);
|
|
warningDto.setRandom(noFaceRandom);
|
|
livenessVerifyHistoryService.save(id, recordId, type, actions, retry, startTime, finishTime, exception, noFaceRandom);
|
|
livenessVerifyHistoryService.save(id, recordId, type, actions, retry, startTime, finishTime, exception, noFaceRandom);
|
|
|
|
+ Integer count = ExamRecordCacheUtil.getNoFaceCountErrorNum(recordId);
|
|
|
|
+ if (count >= teConfig.getNoFaceCountError()) {
|
|
|
|
+ ExamRecordCacheUtil.setNoFaceCountErrorRandom(recordId, String.valueOf(UUID.randomUUID()).replaceAll("-", ""));
|
|
|
|
+ ExamRecordCacheUtil.setNoFaceCountErrorNum(recordId, 0);
|
|
|
|
+ warningService.faceCountError(warningDto);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- warningService.faceCountError(warningDto);
|
|
|
|
} else if (Objects.equals(VerifyExceptionEnum.FACE_COMPARE_ERROR, warningEnum)) {//人脸比对异常
|
|
} else if (Objects.equals(VerifyExceptionEnum.FACE_COMPARE_ERROR, warningEnum)) {//人脸比对异常
|
|
WarningDto warningDto = new WarningDto(warningEnum, null, null, recordId, String.valueOf(jsonObject.get("photoUrl")));
|
|
WarningDto warningDto = new WarningDto(warningEnum, null, null, recordId, String.valueOf(jsonObject.get("photoUrl")));
|
|
String faceCompareErrorRandom = ExamRecordCacheUtil.getFaceCompareErrorRandom(recordId);
|
|
String faceCompareErrorRandom = ExamRecordCacheUtil.getFaceCompareErrorRandom(recordId);
|
|
@@ -437,12 +476,20 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
faceCompareErrorRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
faceCompareErrorRandom = String.valueOf(UUID.randomUUID()).replaceAll("-", "");
|
|
ExamRecordCacheUtil.setFaceCompareErrorRandom(recordId, faceCompareErrorRandom);
|
|
ExamRecordCacheUtil.setFaceCompareErrorRandom(recordId, faceCompareErrorRandom);
|
|
}
|
|
}
|
|
|
|
+ ExamRecordCacheUtil.setFaceCompareErrorNum(recordId, ExamRecordCacheUtil.getFaceCompareErrorNum(recordId) + 1);
|
|
warningDto.setRandom(faceCompareErrorRandom);
|
|
warningDto.setRandom(faceCompareErrorRandom);
|
|
livenessVerifyHistoryService.save(id, recordId, type, actions, retry, startTime, finishTime, exception, faceCompareErrorRandom);
|
|
livenessVerifyHistoryService.save(id, recordId, type, actions, retry, startTime, finishTime, exception, faceCompareErrorRandom);
|
|
- warningService.faceCompareError(warningDto);
|
|
|
|
|
|
+ Integer count = ExamRecordCacheUtil.getFaceCompareErrorNum(recordId);
|
|
|
|
+ if (count >= teConfig.getTotalFaceCompareErrorCount()) {
|
|
|
|
+ ExamRecordCacheUtil.setFaceCompareErrorRandom(recordId, String.valueOf(UUID.randomUUID()).replaceAll("-", ""));
|
|
|
|
+ ExamRecordCacheUtil.setFaceCompareErrorNum(recordId, 0);
|
|
|
|
+ warningService.faceCountError(warningDto);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ livenessVerifyHistoryService.save(id, recordId, type, actions, retry, startTime, finishTime, exception, null);
|
|
}
|
|
}
|
|
mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
|
|
TMRocketMessage tmRocketMessage = gson.fromJson(gson.toJson(mqDto), TMRocketMessage.class);
|
|
TMRocketMessage tmRocketMessage = gson.fromJson(gson.toJson(mqDto), TMRocketMessage.class);
|
|
@@ -544,6 +591,7 @@ public class MqLogicServiceImpl implements MqLogicService {
|
|
tIeExamInvigilateCallLog.setExamId(examId);
|
|
tIeExamInvigilateCallLog.setExamId(examId);
|
|
tIeExamInvigilateCallLog.setExamActivityId(examActivityId);
|
|
tIeExamInvigilateCallLog.setExamActivityId(examActivityId);
|
|
tIeExamInvigilateCallLog.setExamStudentId(examStudentId);
|
|
tIeExamInvigilateCallLog.setExamStudentId(examStudentId);
|
|
|
|
+
|
|
QueryWrapper<TIeExamInvigilateCall> tIeExamInvigilateCallQueryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<TIeExamInvigilateCall> tIeExamInvigilateCallQueryWrapper = new QueryWrapper<>();
|
|
tIeExamInvigilateCallQueryWrapper.lambda().eq(TIeExamInvigilateCall::getExamRecordId, tIeExamInvigilateCallLog.getExamRecordId()).eq(TIeExamInvigilateCall::getSource, tIeExamInvigilateCallLog.getSource());
|
|
tIeExamInvigilateCallQueryWrapper.lambda().eq(TIeExamInvigilateCall::getExamRecordId, tIeExamInvigilateCallLog.getExamRecordId()).eq(TIeExamInvigilateCall::getSource, tIeExamInvigilateCallLog.getSource());
|
|
TIeExamInvigilateCall tIeExamInvigilateCall = tIeExamInvigilateCallService.getOne(tIeExamInvigilateCallQueryWrapper);
|
|
TIeExamInvigilateCall tIeExamInvigilateCall = tIeExamInvigilateCallService.getOne(tIeExamInvigilateCallQueryWrapper);
|