Browse Source

精度修正

wangliang 2 years ago
parent
commit
11d98e0a20

+ 3 - 3
themis-admin/src/main/java/com/qmth/themis/admin/api/TEExamController.java

@@ -539,9 +539,9 @@ public class TEExamController {
             tbTaskHistory.setEntityId(id);
             tbTaskHistory.setExamId(id);
             taskHistoryService.save(tbTaskHistory);
-            transMap.put(SystemConstant.EXAM_ID, id);
-            transMap.put(SystemConstant.ORG_ID, tbUser.getOrgId());
-            transMap.put(SystemConstant.TASK_ID, tbTaskHistory.getId());
+            transMap.put(SystemConstant.EXAM_ID, String.valueOf(id));
+            transMap.put(SystemConstant.ORG_ID, String.valueOf(tbUser.getOrgId()));
+            transMap.put(SystemConstant.TASK_ID, String.valueOf(tbTaskHistory.getId()));
             //mq发送消息start
             MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_SCORE_CALCULATE.name(), transMap,
                     MqTagEnum.EXAM_SCORE_CALCULATE, String.valueOf(tbTaskHistory.getId()), tbUser.getName());

+ 2 - 2
themis-business/src/main/java/com/qmth/themis/business/service/impl/CommonServiceImpl.java

@@ -78,8 +78,8 @@ public class CommonServiceImpl implements CommonService {
                 log.info("score is null ,recordId:" + recordId);
                 //算分未完成的 发送10秒延迟消息
                 Map<String, Object> propMap = mqDtoService.buildMqDelayMsg("10s");
-                propMap.put(SystemConstant.RECORD_ID, recordId);
-                propMap.put(SystemConstant.STUDENT_ID, studentId);
+                propMap.put(SystemConstant.RECORD_ID, String.valueOf(recordId));
+                propMap.put(SystemConstant.STUDENT_ID, String.valueOf(studentId));
                 MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_RECORD_PERSISTED.name(),
                         propMap, MqTagEnum.EXAM_RECORD_PERSISTED, recordId.toString(), propMap, recordId.toString());
                 mqDtoService.assembleSendAsyncDelayMsg(mqDto);

+ 5 - 5
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamServiceImpl.java

@@ -374,9 +374,9 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
 
     private void updateExamStudent(Long examStudentId, Integer alreadyExamCount, Long currentRecordId) {
         Map<String, Object> transMap = new HashMap<String, Object>();
-        transMap.put(SystemConstant.EXAM_STUDENT_ID, examStudentId);
-        transMap.put("alreadyExamCount", alreadyExamCount);
-        transMap.put("currentRecordId", currentRecordId);
+        transMap.put(SystemConstant.EXAM_STUDENT_ID, String.valueOf(examStudentId));
+        transMap.put("alreadyExamCount", String.valueOf(alreadyExamCount));
+        transMap.put("currentRecordId", String.valueOf(currentRecordId));
         MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_STUDNET_UPDATE.name(), transMap,
                 MqTagEnum.EXAM_STUDNET_UPDATE, examStudentId.toString(), examStudentId.toString());
         mqDtoService.assembleSendOneWayMsg(mqDto);
@@ -1263,8 +1263,8 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
             return;
         }
         Map<String, Object> propMap = mqDtoService.buildMqDelayMsg("10s");
-        propMap.put(SystemConstant.RECORD_ID, recordId);
-        propMap.put(SystemConstant.STUDENT_ID, studentId);
+        propMap.put(SystemConstant.RECORD_ID, String.valueOf(recordId));
+        propMap.put(SystemConstant.STUDENT_ID, String.valueOf(studentId));
         MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_RECORD_PERSISTED.name(), propMap,
                 MqTagEnum.EXAM_RECORD_PERSISTED, recordId.toString(), propMap, recordId.toString());
         mqDtoService.assembleSendAsyncDelayMsg(mqDto);

+ 5 - 5
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamStudentServiceImpl.java

@@ -136,14 +136,14 @@ public class TEExamStudentServiceImpl extends ServiceImpl<TEExamStudentMapper, T
     @Transactional
     @Override
     public void updateByMqMsg(Map<String, Object> param) {
-        Long examStudentId = (Long) param.get(SystemConstant.EXAM_STUDENT_ID);
-        Integer alreadyExamCount = (Integer) param.get("alreadyExamCount");
-        Long currentRecordId = (Long) param.get("currentRecordId");
+        String examStudentId = (String) param.get(SystemConstant.EXAM_STUDENT_ID);
+        String alreadyExamCount = (String) param.get("alreadyExamCount");
+        String currentRecordId = (String) param.get("currentRecordId");
         if (alreadyExamCount != null) {
-            teExamStudentMapper.updateAlreadyExamCount(examStudentId, alreadyExamCount);
+            teExamStudentMapper.updateAlreadyExamCount(Long.parseLong(examStudentId), Integer.parseInt(alreadyExamCount));
         }
         if (currentRecordId != null) {
-            teExamStudentMapper.updateCurrentRecordId(examStudentId, currentRecordId);
+            teExamStudentMapper.updateCurrentRecordId(Long.parseLong(examStudentId), Long.parseLong(currentRecordId));
         }
     }
 

+ 2 - 4
themis-business/src/main/resources/mapper/TEExamStudentMapper.xml

@@ -373,11 +373,11 @@
     </select>
 
     <update id="updateAlreadyExamCount">
-	update t_e_exam_student set already_exam_count=#{alreadyExamCount} where id=#{examStudentId} and (already_exam_count is null or already_exam_count &lt; #{alreadyExamCount})
+	update t_e_exam_student set already_exam_count=#{alreadyExamCount} where id=#{examStudentId} and (already_exam_count is null or already_exam_count <![CDATA[ < ]]> #{alreadyExamCount})
 	</update>
 
     <update id="updateCurrentRecordId">
-	update t_e_exam_student set current_record_id=#{currentRecordId} where id=#{examStudentId} and (current_record_id is null or current_record_id &lt; #{currentRecordId})
+	update t_e_exam_student set current_record_id=#{currentRecordId} where id=#{examStudentId} and (current_record_id is null or current_record_id <![CDATA[ < ]]> #{currentRecordId})
 	</update>
 
     <sql id="markResultCommon">
@@ -396,10 +396,8 @@
         t.examName,
         if(t.breachCount is null,0,t.breachCount) as breachCount,
         ifnull(t.objectiveScore,0) as objectiveScore,
-        ifnull(t.objectiveScore,0) as sumScore,
         t.examId,
         t.examActivityId,
-        t.objectiveScore,
         t.subjectiveScore,
         (t.objectiveScore + t.subjectiveScore) as sumScore,
         t.examStudentId

+ 2 - 2
themis-exam/src/main/java/com/qmth/themis/exam/api/TEFaceController.java

@@ -79,8 +79,8 @@ public class TEFaceController {
                 param.getFaceCount(),
                 param.getSimilarity(), param.getRealness(), param.getTime(), param.getException());
         Map<String, Object> transMap = new HashMap<String, Object>();
-        transMap.put(SystemConstant.ID, ret.getId());
-        transMap.put(SystemConstant.RECORD_ID, param.getRecordId());
+        transMap.put(SystemConstant.ID, String.valueOf(ret.getId()));
+        transMap.put(SystemConstant.RECORD_ID, String.valueOf(param.getRecordId()));
         transMap.put(SystemConstant.TYPE, param.getType());
         transMap.put("photoUrl", param.getPhotoUrl());
         transMap.put("faceCount", param.getFaceCount());

+ 2 - 2
themis-exam/src/main/java/com/qmth/themis/exam/api/TELivenessController.java

@@ -78,8 +78,8 @@ public class TELivenessController {
                 param.getActions(), param.getRetry(), param.getStartTime(), param.getFinishTime(),
                 param.getException());
         Map<String, Object> transMap = new HashMap<String, Object>();
-        transMap.put(SystemConstant.ID, ret.getId());
-        transMap.put(SystemConstant.RECORD_ID, param.getRecordId());
+        transMap.put(SystemConstant.ID, String.valueOf(ret.getId()));
+        transMap.put(SystemConstant.RECORD_ID, String.valueOf(param.getRecordId()));
         transMap.put(SystemConstant.TYPE, param.getType());
         transMap.put("actions", param.getActions());
         transMap.put("retry", param.getRetry());

+ 1 - 1
themis-exam/src/main/java/com/qmth/themis/exam/websocket/WebSocketOeServer.java

@@ -141,7 +141,7 @@ public class WebSocketOeServer implements Concurrently {
                             //发送延时mq消息start
                             MqDtoService mqDtoService = SpringContextHolder.getBean(MqDtoService.class);
                             tranMap = mqDtoService.buildMqDelayMsg("2m");
-                            tranMap.put(SystemConstant.RECORD_ID, this.recordId);
+                            tranMap.put(SystemConstant.RECORD_ID, String.valueOf(this.recordId));
                             MqUtil mqUtil = SpringContextHolder.getBean(MqUtil.class);
                             MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.OE_UN_NORMAL.name(),
                                     MqTagEnum.OE_UN_NORMAL, MqTagEnum.OE_UN_NORMAL, String.valueOf(this.recordId),

+ 8 - 8
themis-mq/src/main/java/com/qmth/themis/mq/service/impl/MqLogicServiceImpl.java

@@ -396,8 +396,8 @@ public class MqLogicServiceImpl implements MqLogicService {
     @Transactional
     public void execMqFaceVerifySaveLogic(MqDto mqDto, String key) {
         Map<String, Object> param = (Map<String, Object>) mqDto.getBody();
-        Long id = (Long) param.get(SystemConstant.ID);
-        Long recordId = (Long) param.get(SystemConstant.RECORD_ID);
+        Long id = Long.parseLong(String.valueOf(param.get(SystemConstant.ID)));
+        Long recordId = Long.parseLong(String.valueOf(param.get(SystemConstant.RECORD_ID)));
         String type = (String) param.get(SystemConstant.TYPE);
         String photoUrl = (String) param.get("photoUrl");
         Integer faceCount = (Integer) param.get("faceCount");
@@ -547,8 +547,8 @@ public class MqLogicServiceImpl implements MqLogicService {
     @Transactional
     public void execMqLivenessVerifySaveLogic(MqDto mqDto, String key) {
         Map<String, Object> param = (Map<String, Object>) mqDto.getBody();
-        Long id = (Long) param.get(SystemConstant.ID);
-        Long recordId = (Long) param.get(SystemConstant.RECORD_ID);
+        Long id = Long.parseLong(String.valueOf(param.get(SystemConstant.ID)));
+        Long recordId = Long.parseLong(String.valueOf(param.get(SystemConstant.RECORD_ID)));
         String type = (String) param.get(SystemConstant.TYPE);
         String actions = (String) param.get("actions");
         Integer retry = (Integer) param.get("retry");
@@ -680,8 +680,8 @@ public class MqLogicServiceImpl implements MqLogicService {
     @Transactional
     public void execMqRecordPersistedLogic(MqDto mqDto, String key) {
         Map<String, Object> param = (Map<String, Object>) mqDto.getBody();
-        Long recordId = (Long) param.get(SystemConstant.RECORD_ID);
-        Long studentId = (Long) param.get(SystemConstant.STUDENT_ID);
+        Long recordId = Long.parseLong(String.valueOf(param.get(SystemConstant.RECORD_ID)));
+        Long studentId = Long.parseLong(String.valueOf(param.get(SystemConstant.STUDENT_ID)));
         commonService.persisted(recordId, studentId);
         tmRocketMessageService.saveMqMessageSuccess(mqDto, key);
     }
@@ -831,8 +831,8 @@ public class MqLogicServiceImpl implements MqLogicService {
     @Override
     public void execMqCalculateScoreLogic(MqDto mqDto, String key) {
         Map<String, Object> param = (Map<String, Object>) mqDto.getBody();
-        Long examId = (Long) param.get(SystemConstant.EXAM_ID);
-        Long taskId = (Long) param.get(SystemConstant.TASK_ID);
+        Long examId = Long.parseLong(String.valueOf(param.get(SystemConstant.EXAM_ID)));
+        Long taskId = Long.parseLong(String.valueOf(param.get(SystemConstant.TASK_ID)));
         teExamService.calculateScore(examId, taskId);
         tmRocketMessageService.saveMqMessageSuccess(mqDto, key);
     }