소스 검색

代码优化

xsx 1 년 전
부모
커밋
e87754f4a4

+ 1 - 0
im-platform/src/main/java/com/bx/implatform/IMPlatformApp.java

@@ -11,6 +11,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
 
 @Slf4j
 @EnableAspectJAutoProxy(exposeProxy = true)
+@ComponentScan(basePackages = {"com.bx"})
 @MapperScan(basePackages = {"com.bx.implatform.mapper"})
 @SpringBootApplication
 public class IMPlatformApp {

+ 0 - 35
im-server/src/main/java/com/bx/imserver/config/RedisConfig.java

@@ -1,35 +0,0 @@
-package com.bx.imserver.config;
-
-import com.alibaba.fastjson.support.spring.FastJsonRedisSerializer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.StringRedisSerializer;
-
-@Configuration
-public class RedisConfig {
-
-    @Primary
-    @Bean
-    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
-        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
-        redisTemplate.setConnectionFactory(redisConnectionFactory);
-        // 设置值(value)的序列化采用FastJsonRedisSerializer
-        redisTemplate.setValueSerializer(fastJsonRedisSerializer());
-        redisTemplate.setHashValueSerializer(fastJsonRedisSerializer());
-        // 设置键(key)的序列化采用StringRedisSerializer。
-        redisTemplate.setKeySerializer(new StringRedisSerializer());
-        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
-        redisTemplate.afterPropertiesSet();
-        return redisTemplate;
-    }
-
-
-    public FastJsonRedisSerializer fastJsonRedisSerializer() {
-        return new FastJsonRedisSerializer<>(Object.class);
-    }
-
-
-}

+ 5 - 5
im-server/src/main/java/com/bx/imserver/netty/processor/GroupMessageProcessor.java

@@ -8,11 +8,11 @@ import com.bx.imcommon.model.IMRecvInfo;
 import com.bx.imcommon.model.IMSendInfo;
 import com.bx.imcommon.model.IMSendResult;
 import com.bx.imcommon.model.IMUserInfo;
+import com.bx.imcommon.mq.RedisMQTemplate;
 import com.bx.imserver.netty.UserChannelCtxMap;
 import io.netty.channel.ChannelHandlerContext;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -23,7 +23,7 @@ import java.util.Objects;
 @RequiredArgsConstructor
 public class GroupMessageProcessor extends AbstractMessageProcessor<IMRecvInfo> {
 
-    private final RedisTemplate<String, Object> redisTemplate;
+    private final RedisMQTemplate redisMQTemplate;
 
     @Override
     public void process(IMRecvInfo recvInfo) {
@@ -35,7 +35,7 @@ public class GroupMessageProcessor extends AbstractMessageProcessor<IMRecvInfo>
                 ChannelHandlerContext channelCtx = UserChannelCtxMap.getChannelCtx(receiver.getId(), receiver.getTerminal());
                 if (!Objects.isNull(channelCtx)) {
                     // 推送消息到用户
-                    IMSendInfo sendInfo = new IMSendInfo();
+                    IMSendInfo<Object> sendInfo = new IMSendInfo<>();
                     sendInfo.setCmd(IMCmdType.GROUP_MESSAGE.code());
                     sendInfo.setData(recvInfo.getData());
                     channelCtx.channel().writeAndFlush(sendInfo);
@@ -58,14 +58,14 @@ public class GroupMessageProcessor extends AbstractMessageProcessor<IMRecvInfo>
 
     private void sendResult(IMRecvInfo recvInfo, IMUserInfo receiver, IMSendCode sendCode) {
         if (recvInfo.getSendResult()) {
-            IMSendResult result = new IMSendResult();
+            IMSendResult<Object> result = new IMSendResult<>();
             result.setSender(recvInfo.getSender());
             result.setReceiver(receiver);
             result.setCode(sendCode.code());
             result.setData(recvInfo.getData());
             // 推送到结果队列
             String key = StrUtil.join(":",IMRedisKey.IM_RESULT_GROUP_QUEUE,recvInfo.getServiceName());
-            redisTemplate.opsForList().rightPush(key, result);
+            redisMQTemplate.opsForList().rightPush(key, result);
         }
     }
 }

+ 0 - 1
im-server/src/main/java/com/bx/imserver/netty/processor/HeartbeatProcessor.java

@@ -30,7 +30,6 @@ public class HeartbeatProcessor extends AbstractMessageProcessor<IMHeartbeatInfo
         IMSendInfo sendInfo = new IMSendInfo();
         sendInfo.setCmd(IMCmdType.HEART_BEAT.code());
         ctx.channel().writeAndFlush(sendInfo);
-        ;
         // 设置属性
         AttributeKey<Long> heartBeatAttr = AttributeKey.valueOf(ChannelAttrKey.HEARTBEAT_TIMES);
         Long heartbeatTimes = ctx.channel().attr(heartBeatAttr).get();

+ 3 - 3
im-server/src/main/java/com/bx/imserver/netty/processor/PrivateMessageProcessor.java

@@ -8,11 +8,11 @@ import com.bx.imcommon.model.IMRecvInfo;
 import com.bx.imcommon.model.IMSendInfo;
 import com.bx.imcommon.model.IMSendResult;
 import com.bx.imcommon.model.IMUserInfo;
+import com.bx.imcommon.mq.RedisMQTemplate;
 import com.bx.imserver.netty.UserChannelCtxMap;
 import io.netty.channel.ChannelHandlerContext;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 
 import java.util.Objects;
@@ -22,7 +22,7 @@ import java.util.Objects;
 @RequiredArgsConstructor
 public class PrivateMessageProcessor extends AbstractMessageProcessor<IMRecvInfo> {
 
-    private final RedisTemplate<String, Object> redisTemplate;
+    private final RedisMQTemplate redisMQTemplate;
 
     @Override
     public void process(IMRecvInfo recvInfo) {
@@ -61,7 +61,7 @@ public class PrivateMessageProcessor extends AbstractMessageProcessor<IMRecvInfo
             result.setData(recvInfo.getData());
             // 推送到结果队列
             String key = StrUtil.join(":",IMRedisKey.IM_RESULT_PRIVATE_QUEUE,recvInfo.getServiceName());
-            redisTemplate.opsForList().rightPush(key, result);
+            redisMQTemplate.opsForList().rightPush(key, result);
         }
     }
 }

+ 3 - 3
im-server/src/main/java/com/bx/imserver/netty/processor/SystemMessageProcessor.java

@@ -8,11 +8,11 @@ import com.bx.imcommon.model.IMRecvInfo;
 import com.bx.imcommon.model.IMSendInfo;
 import com.bx.imcommon.model.IMSendResult;
 import com.bx.imcommon.model.IMUserInfo;
+import com.bx.imcommon.mq.RedisMQTemplate;
 import com.bx.imserver.netty.UserChannelCtxMap;
 import io.netty.channel.ChannelHandlerContext;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
 
 import java.util.Objects;
@@ -22,7 +22,7 @@ import java.util.Objects;
 @RequiredArgsConstructor
 public class SystemMessageProcessor extends AbstractMessageProcessor<IMRecvInfo> {
 
-    private final RedisTemplate<String, Object> redisTemplate;
+    private final RedisMQTemplate redisMQTemplate;
 
     @Override
     public void process(IMRecvInfo recvInfo) {
@@ -61,7 +61,7 @@ public class SystemMessageProcessor extends AbstractMessageProcessor<IMRecvInfo>
             result.setData(recvInfo.getData());
             // 推送到结果队列
             String key = StrUtil.join(":",IMRedisKey.IM_RESULT_SYSTEM_QUEUE,recvInfo.getServiceName());
-            redisTemplate.opsForList().rightPush(key, result);
+            redisMQTemplate.opsForList().rightPush(key, result);
         }
     }
 }

+ 2 - 2
im-server/src/main/java/com/bx/imserver/netty/tcp/TcpSocketServer.java

@@ -17,14 +17,14 @@ import org.springframework.stereotype.Component;
 import java.util.concurrent.TimeUnit;
 
 /**
- * TCP服务器,用于连接非网页的客户端,协议格式: 4字节内容的长度+IMSendInfo的JSON序列化
+ * TCP服务器,用于连接非网页的客户端,协议格式: 8字节内容的长度+IMSendInfo的JSON序列化
  *
  * @author Blue
  * @date 2022-11-20
  */
 @Slf4j
 @Component
-@ConditionalOnProperty(prefix = "tcpsocket", value = "enable", havingValue = "true", matchIfMissing = true)
+@ConditionalOnProperty(prefix = "tcpsocket", value = "enable", havingValue = "true", matchIfMissing = false)
 public class TcpSocketServer implements IMServer {
 
     private volatile boolean ready = false;

+ 1 - 1
im-server/src/main/java/com/bx/imserver/netty/ws/WebSocketServer.java

@@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit;
  */
 @Slf4j
 @Component
-@ConditionalOnProperty(prefix = "websocket", value = "enable", havingValue = "true", matchIfMissing = true)
+@ConditionalOnProperty(prefix = "websocket", value = "enable", havingValue = "true", matchIfMissing = false)
 public class WebSocketServer implements IMServer {
 
     @Value("${websocket.port}")