瀏覽代碼

admin mq优化

wangliang 4 年之前
父節點
當前提交
39174d7c86
共有 1 個文件被更改,包括 7 次插入4 次删除
  1. 7 4
      themis-mq/src/main/java/com/qmth/themis/mq/service/impl/MqLogicServiceImpl.java

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

@@ -23,6 +23,7 @@ import com.qmth.themis.business.util.MqUtil;
 import com.qmth.themis.business.util.RedisUtil;
 import com.qmth.themis.business.util.UidUtil;
 import com.qmth.themis.common.contanst.Constants;
+import com.qmth.themis.common.exception.BusinessException;
 import com.qmth.themis.common.util.SimpleBeanUtil;
 import com.qmth.themis.mq.service.MqLogicService;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
@@ -173,7 +174,6 @@ public class MqLogicServiceImpl implements MqLogicService {
         }
         mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
         TMRocketMessage tmRocketMessage = gson.fromJson(gson.toJson(mqDto), TMRocketMessage.class);
-        tmRocketMessage.setBody(JacksonUtil.parseJson(tmRocketMessage.getBody()));
         tmRocketMessageService.saveOrUpdate(tmRocketMessage);
         redisUtil.delete(key, mqDto.getId());
     }
@@ -188,11 +188,14 @@ public class MqLogicServiceImpl implements MqLogicService {
     @Transactional
     public void execMqSessionLogic(MqDto mqDto, String key) {
         Gson gson = new Gson();
-        tbSessionService.saveSessionInfo(JacksonUtil.readJson(JacksonUtil.parseJson(mqDto.getBody()), TBSession.class),
-                mqDto.getTimestamp());
+        String sessionId = mqDto.getObjId();
+        TBSession tbSession = (TBSession) redisUtil.getUserSession(sessionId);
+        if (Objects.isNull(tbSession)) {
+            throw new BusinessException("缓存session为空");
+        }
+        tbSessionService.saveOrUpdate(tbSession);
         mqDto.setAck(SystemConstant.STANDARD_ACK_TYPE);
         TMRocketMessage tmRocketMessage = gson.fromJson(gson.toJson(mqDto), TMRocketMessage.class);
-        tmRocketMessage.setBody(JacksonUtil.parseJson(tmRocketMessage.getBody()));
         tmRocketMessageService.saveOrUpdate(tmRocketMessage);
         redisUtil.delete(key, mqDto.getId());
     }