ソースを参照

监考日志修改

wangliang 4 年 前
コミット
c2b6cc850b
15 ファイル変更131 行追加103 行削除
  1. 14 4
      themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamController.java
  2. 1 1
      themis-backend/src/main/java/com/qmth/themis/backend/websocket/WebSocketAdminServer.java
  3. 15 0
      themis-exam/src/main/java/com/qmth/themis/exam/websocket/WebSocketOeServer.java
  4. 2 2
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/CalculateObjectiveScoreConcurrentlyImpl.java
  5. 20 20
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/ExamRecordInitConcurrentlyImpl.java
  6. 20 20
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/ExamRecordPersistedConcurrentlyImpl.java
  7. 20 20
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/ExamRecordUpdateConcurrentlyImpl.java
  8. 17 18
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/FaceVerifyConcurrentlyImpl.java
  9. 16 18
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/LivenessVerifyConcurrentlyImpl.java
  10. 1 0
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/LogConcurrentlyImpl.java
  11. 1 0
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/SessionConcurrentlyImpl.java
  12. 1 0
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/TaskConcurrentlyImpl.java
  13. 1 0
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/UserLogConcurrentlyImpl.java
  14. 1 0
      themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/WebsocketUnNormalConcurrentlyImpl.java
  15. 1 0
      themis-task/src/main/java/com/qmth/themis/task/listener/QuartzOrderlyImpl.java

+ 14 - 4
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamController.java

@@ -402,13 +402,23 @@ public class TEExamController {
                         Map<String, Object> recordIdObjectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(Long.parseLong(k)));
                         if (Objects.nonNull(recordIdObjectMap) && recordIdObjectMap.size() > 0) {
                             //客户端通讯状态
-                            WebsocketStatusEnum clientStatus = Objects.isNull(recordIdObjectMap.get("clientWebsocketStatus")) ? null : (WebsocketStatusEnum) recordIdObjectMap.get("clientWebsocketStatus");
-                            if (Objects.equals(clientStatus, WebsocketStatusEnum.OFF_LINE)) {
+                            WebsocketStatusEnum clientStatus = Objects.isNull(recordIdObjectMap.get("clientWebsocketStatus")) ? null : WebsocketStatusEnum.valueOf(String.valueOf(recordIdObjectMap.get("clientWebsocketStatus")));
+                            if (Objects.nonNull(clientStatus) && Objects.equals(clientStatus, WebsocketStatusEnum.OFF_LINE)) {
                                 clientCommunicationStatusCount.getAndSet(clientCommunicationStatusCount.get() + 1);
                             }
                             //监控端通讯状态
-                            MonitorStatusSourceEnum monitorStatus = Objects.isNull(recordIdObjectMap.get("monitorStatusSource")) ? null : (MonitorStatusSourceEnum) recordIdObjectMap.get("monitorStatusSource");
-                            if (Objects.nonNull(monitorStatus) && Objects.equals(monitorStatus, MonitorStatusSourceEnum.STOP)) {
+                            MonitorVideoSourceEnum source = null;
+                            if (Objects.nonNull(recordIdObjectMap.get(SystemConstant.MONITOR_LIVE_URL_ + MonitorVideoSourceEnum.CLIENT_CAMERA.name()))) {
+                                source = MonitorVideoSourceEnum.CLIENT_CAMERA;
+                            } else if (Objects.nonNull(recordIdObjectMap.get(SystemConstant.MONITOR_LIVE_URL_ + MonitorVideoSourceEnum.CLIENT_SCREEN.name()))) {
+                                source = MonitorVideoSourceEnum.CLIENT_SCREEN;
+                            } else if (Objects.nonNull(recordIdObjectMap.get(SystemConstant.MONITOR_LIVE_URL_ + MonitorVideoSourceEnum.MOBILE_FIRST.name()))) {
+                                source = MonitorVideoSourceEnum.MOBILE_FIRST;
+                            } else if (Objects.nonNull(recordIdObjectMap.get(SystemConstant.MONITOR_LIVE_URL_ + MonitorVideoSourceEnum.MOBILE_SECOND.name()))) {
+                                source = MonitorVideoSourceEnum.MOBILE_SECOND;
+                            }
+                            MonitorStatusSourceEnum status = Objects.isNull(source) ? null : MonitorStatusSourceEnum.valueOf(String.valueOf(recordIdObjectMap.get(SystemConstant.MONITOR_STATUS_ + source)));
+                            if (Objects.nonNull(status) && Objects.equals(status, MonitorStatusSourceEnum.STOP)) {
                                 monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
                             }
                         }

+ 1 - 1
themis-backend/src/main/java/com/qmth/themis/backend/websocket/WebSocketAdminServer.java

@@ -258,9 +258,9 @@ public class WebSocketAdminServer implements Concurrently {
                 }
             }
         } catch (Exception e) {
+            log.error("mq websocket admin,消息消费出错", e);
             e.printStackTrace();
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
-
         } finally {
             if (Objects.nonNull(mqDto)) {
                 redisUtil.releaseLock(SystemConstant.REDIS_LOCK_MQ_PREFIX + mqDto.getId());

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

@@ -2,6 +2,7 @@ package com.qmth.themis.exam.websocket;
 
 import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
+import com.qmth.themis.business.cache.RedisKeyHelper;
 import com.qmth.themis.business.constant.SpringContextHolder;
 import com.qmth.themis.business.constant.SystemConstant;
 import com.qmth.themis.business.dto.MqDto;
@@ -9,6 +10,7 @@ import com.qmth.themis.business.dto.WebsocketDto;
 import com.qmth.themis.business.entity.TBSession;
 import com.qmth.themis.business.enums.MqTagEnum;
 import com.qmth.themis.business.enums.MqTopicEnum;
+import com.qmth.themis.business.enums.WebsocketStatusEnum;
 import com.qmth.themis.business.enums.WebsocketTypeEnum;
 import com.qmth.themis.business.service.MqDtoService;
 import com.qmth.themis.business.util.JacksonUtil;
@@ -115,6 +117,12 @@ public class WebSocketOeServer implements Concurrently {
                     this.ip = addr.toString().replace("/", "").split(":")[0];
 //                    this.sendMessage("ip[" + this.ip + "]连接成功");
                     log.info("ip[:{}]连接成功", this.ip);
+                    Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(recordId));
+                    objectMap.put("clientWebsocketStatus", WebsocketStatusEnum.ON_LINE);
+                    objectMap.put("clientCurrentIp", this.ip);
+                    objectMap.put("clientWebsocketId", this.session.getId());
+                    objectMap.put("clientLastSyncTime", new Date());
+                    redisUtil.setForHash(RedisKeyHelper.examRecordCacheKey(recordId), objectMap);
                     tranMap = new HashMap<>();
                     tranMap.put("recordId", this.recordId);
                     tranMap.put("deviceId", this.deviceId);
@@ -141,9 +149,15 @@ public class WebSocketOeServer implements Concurrently {
             subOnlineCount();
             //判断是否是正常退出
             Date now = new Date();
+            Map<String, Object> objectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(recordId));
+            objectMap.put("clientWebsocketStatus", WebsocketStatusEnum.OFF_LINE);
+            redisUtil.setForHash(RedisKeyHelper.examRecordCacheKey(recordId), objectMap);
             //大于等于超时时间,说明规定时间内都没有通信,非正常退出,因为期间会有心跳更新updateTime
             if ((now.getTime() - this.updateTime) / 1000 >= SystemConstant.WEBSOCKET_MAX_TIME_OUT / 1000) {
                 log.info("超时退出");
+                objectMap = redisUtil.getHashEntries(RedisKeyHelper.examRecordCacheKey(recordId));
+                objectMap.put("clientWebsocketStatus", WebsocketStatusEnum.OFF_LINE);
+                redisUtil.setForHash(RedisKeyHelper.examRecordCacheKey(recordId), objectMap);
                 //发送延时mq消息start
                 MqDtoService mqDtoService = SpringContextHolder.getBean(MqDtoService.class);
                 String level = "2m";
@@ -285,6 +299,7 @@ public class WebSocketOeServer implements Concurrently {
                 }
             }
         } catch (Exception e) {
+            log.error("mq websocket oe,消息消费出错", e);
             e.printStackTrace();
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {

+ 2 - 2
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/CalculateObjectiveScoreConcurrentlyImpl.java

@@ -2,10 +2,10 @@ package com.qmth.themis.mq.templete.impl;
 
 import com.qmth.themis.business.constant.SpringContextHolder;
 import com.qmth.themis.business.constant.SystemConstant;
+import com.qmth.themis.business.dto.MqDto;
 import com.qmth.themis.business.util.JacksonUtil;
 import com.qmth.themis.business.util.RedisUtil;
 import com.qmth.themis.common.contanst.Constants;
-import com.qmth.themis.business.dto.MqDto;
 import com.qmth.themis.mq.service.MqLogicService;
 import com.qmth.themis.mq.templete.Concurrently;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
@@ -62,7 +62,7 @@ public class CalculateObjectiveScoreConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
-            log.error("计算客观分,消息消费出错", e);
+            log.error("mq 计算客观分,消息消费出错", e);
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {
             if (Objects.nonNull(mqDto)) {

+ 20 - 20
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/ExamRecordInitConcurrentlyImpl.java

@@ -1,10 +1,12 @@
 package com.qmth.themis.mq.templete.impl;
 
-import java.util.List;
-import java.util.Objects;
-
-import javax.annotation.Resource;
-
+import com.qmth.themis.business.constant.SystemConstant;
+import com.qmth.themis.business.dto.MqDto;
+import com.qmth.themis.business.util.JacksonUtil;
+import com.qmth.themis.business.util.RedisUtil;
+import com.qmth.themis.common.contanst.Constants;
+import com.qmth.themis.mq.service.MqLogicService;
+import com.qmth.themis.mq.templete.Concurrently;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
 import org.apache.rocketmq.common.message.MessageExt;
@@ -12,27 +14,25 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
-import com.qmth.themis.business.constant.SystemConstant;
-import com.qmth.themis.business.util.JacksonUtil;
-import com.qmth.themis.business.util.RedisUtil;
-import com.qmth.themis.common.contanst.Constants;
-import com.qmth.themis.business.dto.MqDto;
-import com.qmth.themis.mq.service.MqLogicService;
-import com.qmth.themis.mq.templete.Concurrently;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
 
-/**考试记录数据初始化
- * @Description: 
+/**
+ * 考试记录数据初始化
+ *
+ * @Description:
  * @Author: xiatian
  * @Date: 2020-08-04
  */
 @Service
 public class ExamRecordInitConcurrentlyImpl implements Concurrently {
     private final static Logger log = LoggerFactory.getLogger(ExamRecordInitConcurrentlyImpl.class);
-    
-	@Resource
-	RedisUtil redisUtil;
-	@Resource
-	MqLogicService mqLogicService;
+
+    @Resource
+    RedisUtil redisUtil;
+    @Resource
+    MqLogicService mqLogicService;
 
     @Override
     public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
@@ -65,7 +65,7 @@ public class ExamRecordInitConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
-        	log.error("考试记录数据更新,消息消费出错",e);
+            log.error("mq 考试记录数据更新,消息消费出错", e);
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {
             if (Objects.nonNull(mqDto)) {

+ 20 - 20
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/ExamRecordPersistedConcurrentlyImpl.java

@@ -1,10 +1,12 @@
 package com.qmth.themis.mq.templete.impl;
 
-import java.util.List;
-import java.util.Objects;
-
-import javax.annotation.Resource;
-
+import com.qmth.themis.business.constant.SystemConstant;
+import com.qmth.themis.business.dto.MqDto;
+import com.qmth.themis.business.util.JacksonUtil;
+import com.qmth.themis.business.util.RedisUtil;
+import com.qmth.themis.common.contanst.Constants;
+import com.qmth.themis.mq.service.MqLogicService;
+import com.qmth.themis.mq.templete.Concurrently;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
 import org.apache.rocketmq.common.message.MessageExt;
@@ -12,27 +14,25 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
-import com.qmth.themis.business.constant.SystemConstant;
-import com.qmth.themis.business.util.JacksonUtil;
-import com.qmth.themis.business.util.RedisUtil;
-import com.qmth.themis.common.contanst.Constants;
-import com.qmth.themis.business.dto.MqDto;
-import com.qmth.themis.mq.service.MqLogicService;
-import com.qmth.themis.mq.templete.Concurrently;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
 
-/**考试记录数据持久化
- * @Description: 
+/**
+ * 考试记录数据持久化
+ *
+ * @Description:
  * @Author: xiatian
  * @Date: 2020-08-04
  */
 @Service
 public class ExamRecordPersistedConcurrentlyImpl implements Concurrently {
     private final static Logger log = LoggerFactory.getLogger(ExamRecordPersistedConcurrentlyImpl.class);
-    
-	@Resource
-	RedisUtil redisUtil;
-	@Resource
-	MqLogicService mqLogicService;
+
+    @Resource
+    RedisUtil redisUtil;
+    @Resource
+    MqLogicService mqLogicService;
 
     @Override
     public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
@@ -65,7 +65,7 @@ public class ExamRecordPersistedConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
-        	log.error("考试记录数据持久化,消息消费出错",e);
+            log.error("mq 考试记录数据持久化,消息消费出错", e);
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {
             if (Objects.nonNull(mqDto)) {

+ 20 - 20
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/ExamRecordUpdateConcurrentlyImpl.java

@@ -1,10 +1,12 @@
 package com.qmth.themis.mq.templete.impl;
 
-import java.util.List;
-import java.util.Objects;
-
-import javax.annotation.Resource;
-
+import com.qmth.themis.business.constant.SystemConstant;
+import com.qmth.themis.business.dto.MqDto;
+import com.qmth.themis.business.util.JacksonUtil;
+import com.qmth.themis.business.util.RedisUtil;
+import com.qmth.themis.common.contanst.Constants;
+import com.qmth.themis.mq.service.MqLogicService;
+import com.qmth.themis.mq.templete.Concurrently;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
 import org.apache.rocketmq.common.message.MessageExt;
@@ -12,27 +14,25 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
-import com.qmth.themis.business.constant.SystemConstant;
-import com.qmth.themis.business.util.JacksonUtil;
-import com.qmth.themis.business.util.RedisUtil;
-import com.qmth.themis.common.contanst.Constants;
-import com.qmth.themis.business.dto.MqDto;
-import com.qmth.themis.mq.service.MqLogicService;
-import com.qmth.themis.mq.templete.Concurrently;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
 
-/**考试记录数据更新
- * @Description: 
+/**
+ * 考试记录数据更新
+ *
+ * @Description:
  * @Author: xiatian
  * @Date: 2020-08-04
  */
 @Service
 public class ExamRecordUpdateConcurrentlyImpl implements Concurrently {
     private final static Logger log = LoggerFactory.getLogger(ExamRecordUpdateConcurrentlyImpl.class);
-    
-	@Resource
-	RedisUtil redisUtil;
-	@Resource
-	MqLogicService mqLogicService;
+
+    @Resource
+    RedisUtil redisUtil;
+    @Resource
+    MqLogicService mqLogicService;
 
     @Override
     public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
@@ -65,7 +65,7 @@ public class ExamRecordUpdateConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
-        	log.error("考试记录数据更新,消息消费出错",e);
+            log.error("mq 考试记录数据更新,消息消费出错", e);
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {
             if (Objects.nonNull(mqDto)) {

+ 17 - 18
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/FaceVerifyConcurrentlyImpl.java

@@ -1,10 +1,12 @@
 package com.qmth.themis.mq.templete.impl;
 
-import java.util.List;
-import java.util.Objects;
-
-import javax.annotation.Resource;
-
+import com.qmth.themis.business.constant.SystemConstant;
+import com.qmth.themis.business.dto.MqDto;
+import com.qmth.themis.business.util.JacksonUtil;
+import com.qmth.themis.business.util.RedisUtil;
+import com.qmth.themis.common.contanst.Constants;
+import com.qmth.themis.mq.service.MqLogicService;
+import com.qmth.themis.mq.templete.Concurrently;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
 import org.apache.rocketmq.common.message.MessageExt;
@@ -12,13 +14,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
-import com.qmth.themis.business.constant.SystemConstant;
-import com.qmth.themis.business.util.JacksonUtil;
-import com.qmth.themis.business.util.RedisUtil;
-import com.qmth.themis.common.contanst.Constants;
-import com.qmth.themis.business.dto.MqDto;
-import com.qmth.themis.mq.service.MqLogicService;
-import com.qmth.themis.mq.templete.Concurrently;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * 人脸验证保存
@@ -30,11 +28,11 @@ import com.qmth.themis.mq.templete.Concurrently;
 @Service
 public class FaceVerifyConcurrentlyImpl implements Concurrently {
     private final static Logger log = LoggerFactory.getLogger(FaceVerifyConcurrentlyImpl.class);
-    
-	@Resource
-	RedisUtil redisUtil;
-	@Resource
-	MqLogicService mqLogicService;
+
+    @Resource
+    RedisUtil redisUtil;
+    @Resource
+    MqLogicService mqLogicService;
 
     @Override
     public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
@@ -67,7 +65,8 @@ public class FaceVerifyConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
-        	log.error("人脸验证保存,消息消费出错",e);
+            log.error("mq 人脸验证保存,消息消费出错", e);
+            e.printStackTrace();
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {
             if (Objects.nonNull(mqDto)) {

+ 16 - 18
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/LivenessVerifyConcurrentlyImpl.java

@@ -1,10 +1,12 @@
 package com.qmth.themis.mq.templete.impl;
 
-import java.util.List;
-import java.util.Objects;
-
-import javax.annotation.Resource;
-
+import com.qmth.themis.business.constant.SystemConstant;
+import com.qmth.themis.business.dto.MqDto;
+import com.qmth.themis.business.util.JacksonUtil;
+import com.qmth.themis.business.util.RedisUtil;
+import com.qmth.themis.common.contanst.Constants;
+import com.qmth.themis.mq.service.MqLogicService;
+import com.qmth.themis.mq.templete.Concurrently;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
 import org.apache.rocketmq.common.message.MessageExt;
@@ -12,13 +14,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
-import com.qmth.themis.business.constant.SystemConstant;
-import com.qmth.themis.business.util.JacksonUtil;
-import com.qmth.themis.business.util.RedisUtil;
-import com.qmth.themis.common.contanst.Constants;
-import com.qmth.themis.business.dto.MqDto;
-import com.qmth.themis.mq.service.MqLogicService;
-import com.qmth.themis.mq.templete.Concurrently;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * 活体验证保存
@@ -30,11 +28,11 @@ import com.qmth.themis.mq.templete.Concurrently;
 @Service
 public class LivenessVerifyConcurrentlyImpl implements Concurrently {
     private final static Logger log = LoggerFactory.getLogger(LivenessVerifyConcurrentlyImpl.class);
-    
-	@Resource
-	RedisUtil redisUtil;
-	@Resource
-	MqLogicService mqLogicService;
+
+    @Resource
+    RedisUtil redisUtil;
+    @Resource
+    MqLogicService mqLogicService;
 
     @Override
     public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
@@ -67,7 +65,7 @@ public class LivenessVerifyConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
-        	log.error("人脸验证保存,消息消费出错",e);
+            log.error("mq 人脸验证保存,消息消费出错", e);
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {
             if (Objects.nonNull(mqDto)) {

+ 1 - 0
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/LogConcurrentlyImpl.java

@@ -56,6 +56,7 @@ public class LogConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
+            log.error("mq 日志,消息消费出错", e);
             e.printStackTrace();
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {

+ 1 - 0
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/SessionConcurrentlyImpl.java

@@ -60,6 +60,7 @@ public class SessionConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
+            log.error("mq 会话,消息消费出错", e);
             e.printStackTrace();
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {

+ 1 - 0
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/TaskConcurrentlyImpl.java

@@ -55,6 +55,7 @@ public class TaskConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
+            log.error("mq 任务,消息消费出错", e);
             e.printStackTrace();
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {

+ 1 - 0
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/UserLogConcurrentlyImpl.java

@@ -56,6 +56,7 @@ public class UserLogConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
+            log.error("mq 用户轨迹,消息消费出错", e);
             e.printStackTrace();
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {

+ 1 - 0
themis-mq/src/main/java/com/qmth/themis/mq/templete/impl/WebsocketUnNormalConcurrentlyImpl.java

@@ -61,6 +61,7 @@ public class WebsocketUnNormalConcurrentlyImpl implements Concurrently {
                 }
             }
         } catch (Exception e) {
+            log.error("mq 延时消息监听,消息消费出错", e);
             e.printStackTrace();
             return ConsumeConcurrentlyStatus.RECONSUME_LATER;//重试
         } finally {

+ 1 - 0
themis-task/src/main/java/com/qmth/themis/task/listener/QuartzOrderlyImpl.java

@@ -55,6 +55,7 @@ public class QuartzOrderlyImpl implements Orderly {
                 }
             }
         } catch (Exception e) {
+            log.error("mq quartz顺序,消息消费出错", e);
             e.printStackTrace();
             return ConsumeOrderlyStatus.SUSPEND_CURRENT_QUEUE_A_MOMENT;//重试
         } finally {