浏览代码

BUG修复

wangliang 1 年之前
父节点
当前提交
ca7a6462e3

+ 1 - 1
themis-business/src/main/java/com/qmth/themis/business/entity/TEExamStudentLog.java

@@ -162,7 +162,7 @@ public class TEExamStudentLog implements Serializable {
             if (Objects.isNull(currentIp) || Objects.equals(currentIp.trim(), "")) {
                 currentIp = ip;
                 continue;
-            } else if (Objects.nonNull(currentIp) && !Objects.equals(currentIp.trim(), "") && !Objects.equals(currentIp, ip)) {
+            } else if (Objects.nonNull(currentIp) && Objects.nonNull(ip) && !Objects.equals(currentIp.trim(), "") && !Objects.equals(currentIp, ip)) {
                 if (!Objects.equals(teExamStudentLogList.get(i).getType(), ExamRecordStatusEnum.FINISHED.name())
                         || (Objects.equals(teExamStudentLogList.get(i).getType(), ExamRecordStatusEnum.FINISHED.name()) && Objects.nonNull(ip))) {
                     teExamStudentLogList.get(i).setIpChange(true);

+ 9 - 9
themis-business/src/main/java/com/qmth/themis/business/enums/ExceptionEnum.java

@@ -13,15 +13,15 @@ public enum ExceptionEnum {
 
     NET_TIME_OUT("网络超时", "异常处理"),
 
-//    MACHING_STOP("机器硬件故障、死机", "异常处理"),
-//
-//    NET_TIME_BREAK("网络断开", "异常处理"),
-//
-//    SOFTWARE_STOP("软件故障", "异常处理"),
-//
-//    POWER_CUT("停电", "异常处理"),
-//
-//    OTHER("其它", "异常处理");
+    MACHING_STOP("机器硬件故障、死机", "异常处理"),
+
+    NET_TIME_BREAK("网络断开", "异常处理"),
+
+    SOFTWARE_STOP("软件故障", "异常处理"),
+
+    POWER_CUT("停电", "异常处理"),
+
+    OTHER("其它", "异常处理"),
 
     EXAM_BREAK("断点续考", "断点续考");
 

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

@@ -165,6 +165,15 @@ public class MqLogicServiceImpl implements MqLogicService {
             String ip = null, country = null, region = null, province = null, city = null, isp = null;
             if (Objects.nonNull(mqDto.getProperties())) {
                 Long recordId = Long.parseLong(String.valueOf(mqDto.getProperties().get(SystemConstant.EXAM_RECORD_ID)));
+                ip = Objects.nonNull(recordId) ? ExamRecordCacheUtil.getClientCurrentIp(recordId) : mqDto.getObjName();
+                String[] strs = SystemConstant.getIpInfo(ip);
+                if (Objects.nonNull(strs) && strs.length > 0) {
+                    country = strs[0];
+                    region = strs[1];
+                    province = strs[2];
+                    city = strs[3];
+                    isp = strs[4];
+                }
                 String type = Objects.nonNull(mqDto.getProperties().get(SystemConstant.TYPE)) ?
                         String.valueOf(mqDto.getProperties().get(SystemConstant.TYPE)) :
                         SystemOperationEnum.valueOf(String.valueOf(mqDto.getBody())).getCode();
@@ -199,6 +208,12 @@ public class MqLogicServiceImpl implements MqLogicService {
                         teExamStudentLogService.saveOrUpdateBatch(teExamStudentLogList);
                     }
                     title = jsonObject.toJSONString();
+                    ip = null;
+                    country = null;
+                    region = null;
+                    province = null;
+                    city = null;
+                    isp = null;
                 }
                 teExamStudentLog = new TEExamStudentLog(String.valueOf(mqDto.getBody()), info, remark,
                         Long.parseLong(String.valueOf(mqDto.getObjId())),