From ebb2f116c5af7045824b13fe01de3ec063706fec Mon Sep 17 00:00:00 2001
From: xsx <825657193@qq.com>
Date: Thu, 18 Jul 2024 01:24:59 +0800
Subject: [PATCH] =?UTF-8?q?=E6=A1=86=E6=9E=B6=E7=89=88=E6=9C=AC=E5=8D=87?=
=?UTF-8?q?=E7=BA=A7=E8=87=B3:=20springboot3.3=E3=80=81jdk17?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
im-commom/pom.xml | 7 -
.../com/bx/imcommon/mq/RedisMQConfig.java | 1 -
.../com/bx/imcommon/mq/RedisMQPullTask.java | 8 +-
.../com/bx/imcommon/mq/RedisMQTemplate.java | 1 -
.../util/ThreadPoolExecutorFactory.java | 3 +-
im-platform/pom.xml | 67 +++---
.../java/com/bx/implatform/IMPlatformApp.java | 3 +-
.../bx/implatform/annotation/OnlineCheck.java | 1 -
.../implatform/aspect/OnlineCheckAspect.java | 7 -
.../bx/implatform/aspect/RedisLockAspect.java | 2 -
.../com/bx/implatform/config/RedisConfig.java | 54 ++---
.../bx/implatform/config/RedissonConfig.java | 9 +-
.../bx/implatform/config/SwaggerConfig.java | 51 +++--
.../implatform/controller/FileController.java | 15 +-
.../controller/FriendController.java | 26 +--
.../controller/GroupController.java | 41 ++--
.../controller/GroupMessageController.java | 37 ++--
.../controller/LoginController.java | 19 +-
.../controller/PrivateMessageController.java | 38 ++--
.../controller/SystemController.java | 13 +-
.../implatform/controller/UserController.java | 24 +--
.../controller/WebrtcGroupController.java | 54 +++--
.../controller/WebrtcPrivateController.java | 44 ++--
.../com/bx/implatform/dto/GroupBanDTO.java | 10 +-
.../bx/implatform/dto/GroupMessageDTO.java | 21 +-
.../com/bx/implatform/dto/GroupUnbanDTO.java | 7 +-
.../java/com/bx/implatform/dto/LoginDTO.java | 20 +-
.../com/bx/implatform/dto/ModifyPwdDTO.java | 12 +-
.../bx/implatform/dto/PrivateMessageDTO.java | 16 +-
.../com/bx/implatform/dto/RegisterDTO.java | 14 +-
.../com/bx/implatform/dto/UserBanDTO.java | 9 +-
.../implatform/dto/WebrtcGroupAnswerDTO.java | 16 +-
.../dto/WebrtcGroupCandidateDTO.java | 17 +-
.../implatform/dto/WebrtcGroupDeviceDTO.java | 15 +-
.../implatform/dto/WebrtcGroupFailedDTO.java | 12 +-
.../implatform/dto/WebrtcGroupInviteDTO.java | 13 +-
.../bx/implatform/dto/WebrtcGroupJoinDTO.java | 11 +-
.../implatform/dto/WebrtcGroupOfferDTO.java | 16 +-
.../implatform/dto/WebrtcGroupSetupDTO.java | 13 +-
.../java/com/bx/implatform/entity/Friend.java | 22 +-
.../java/com/bx/implatform/entity/Group.java | 41 ++--
.../com/bx/implatform/entity/GroupMember.java | 35 +---
.../bx/implatform/entity/GroupMessage.java | 30 +--
.../bx/implatform/entity/PrivateMessage.java | 25 +--
.../java/com/bx/implatform/entity/User.java | 64 ++----
.../com/bx/implatform/filter/CacheFilter.java | 6 +-
.../CacheHttpServletRequestWrapper.java | 8 +-
.../implatform/generator/CodeGenerator.java | 192 +++++++++---------
.../interceptor/AuthInterceptor.java | 5 +-
.../interceptor/XssInterceptor.java | 4 +-
.../listener/GroupMessageListener.java | 2 -
.../listener/SystemMessageListener.java | 10 -
.../service/IWebrtcGroupService.java | 1 -
.../service/IWebrtcPrivateService.java | 4 -
.../service/impl/GroupServiceImpl.java | 7 +-
.../service/thirdparty/FileService.java | 2 +-
.../bx/implatform/session/SessionContext.java | 3 +-
.../bx/implatform/session/WebrtcUserInfo.java | 15 +-
.../task/UserBannedConsumerTask.java | 1 +
.../implatform/util/SensitiveFilterUtil.java | 2 +-
.../java/com/bx/implatform/vo/FriendVO.java | 14 +-
.../com/bx/implatform/vo/GroupInviteVO.java | 13 +-
.../com/bx/implatform/vo/GroupMemberVO.java | 17 +-
.../com/bx/implatform/vo/GroupMessageVO.java | 27 ++-
.../java/com/bx/implatform/vo/GroupVO.java | 29 ++-
.../java/com/bx/implatform/vo/LoginVO.java | 13 +-
.../bx/implatform/vo/OnlineTerminalVO.java | 6 +-
.../bx/implatform/vo/PrivateMessageVO.java | 19 +-
.../com/bx/implatform/vo/SystemConfigVO.java | 7 +-
.../com/bx/implatform/vo/SystemMessageVO.java | 13 +-
.../com/bx/implatform/vo/UploadImageVO.java | 9 +-
.../java/com/bx/implatform/vo/UserVO.java | 28 ++-
.../bx/implatform/vo/WebrtcGroupFailedVO.java | 9 +-
.../bx/implatform/vo/WebrtcGroupInfoVO.java | 11 +-
.../src/main/resources/application.yml | 11 +-
im-server/pom.xml | 6 +-
.../com/bx/imserver/config/RedisConfig.java | 33 ---
.../com/bx/imserver/netty/IMServerGroup.java | 6 +-
pom.xml | 53 ++---
79 files changed, 628 insertions(+), 922 deletions(-)
delete mode 100644 im-server/src/main/java/com/bx/imserver/config/RedisConfig.java
diff --git a/im-commom/pom.xml b/im-commom/pom.xml
index 61b263c..a019f36 100644
--- a/im-commom/pom.xml
+++ b/im-commom/pom.xml
@@ -39,15 +39,9 @@
org.springframework
spring-beans
-
- org.apache.velocity
- velocity
- ${velocity.version}
-
com.fasterxml.jackson.datatype
jackson-datatype-joda
- 2.9.10
org.springframework
@@ -63,7 +57,6 @@
org.slf4j
slf4j-api
- 1.7.36
diff --git a/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQConfig.java b/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQConfig.java
index 24ba4ba..99c5074 100644
--- a/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQConfig.java
+++ b/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQConfig.java
@@ -4,7 +4,6 @@ import com.alibaba.fastjson.support.spring.FastJsonRedisSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
diff --git a/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQPullTask.java b/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQPullTask.java
index 7b0d4c6..cf5bf99 100644
--- a/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQPullTask.java
+++ b/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQPullTask.java
@@ -2,14 +2,18 @@ package com.bx.imcommon.mq;
import com.alibaba.fastjson.JSONObject;
import com.bx.imcommon.util.ThreadPoolExecutorFactory;
+import jakarta.annotation.PreDestroy;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
-import javax.annotation.PreDestroy;
+
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-import java.util.*;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Objects;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
diff --git a/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQTemplate.java b/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQTemplate.java
index f966579..bf8b076 100644
--- a/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQTemplate.java
+++ b/im-commom/src/main/java/com/bx/imcommon/mq/RedisMQTemplate.java
@@ -1,6 +1,5 @@
package com.bx.imcommon.mq;
-import cn.hutool.core.util.StrUtil;
import org.apache.logging.log4j.util.Strings;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisTemplate;
diff --git a/im-commom/src/main/java/com/bx/imcommon/util/ThreadPoolExecutorFactory.java b/im-commom/src/main/java/com/bx/imcommon/util/ThreadPoolExecutorFactory.java
index e2cdd6d..3cf0112 100644
--- a/im-commom/src/main/java/com/bx/imcommon/util/ThreadPoolExecutorFactory.java
+++ b/im-commom/src/main/java/com/bx/imcommon/util/ThreadPoolExecutorFactory.java
@@ -2,7 +2,8 @@ package com.bx.imcommon.util;
import lombok.extern.slf4j.Slf4j;
-import java.util.concurrent.*;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.ThreadPoolExecutor;
/**
* 创建单例线程池
diff --git a/im-platform/pom.xml b/im-platform/pom.xml
index 16e987c..05b2590 100644
--- a/im-platform/pom.xml
+++ b/im-platform/pom.xml
@@ -18,10 +18,6 @@
im-client
2.0.0
-
- org.springframework.boot
- spring-boot
-
org.springframework.boot
spring-boot-starter-web
@@ -29,29 +25,30 @@
com.baomidou
mybatis-plus-boot-starter
+
+
+ org.mybatis
+ mybatis-spring
+
+
+
+
+ org.mybatis
+ mybatis-spring
+ ${mybatis.spring.version}
com.alibaba
druid
- mysql
- mysql-connector-java
+ com.mysql
+ mysql-connector-j
org.springframework.boot
spring-boot-starter-jdbc
-
- io.springfox
- springfox-swagger2
- ${swagger.version}
-
-
- io.springfox
- springfox-swagger-ui
- ${swagger.version}
-
org.aspectj
aspectjweaver
@@ -62,8 +59,9 @@
spring-boot-starter-data-redis
- org.springframework.boot
- spring-boot-starter-security
+ org.springframework.security
+ spring-security-crypto
+ 6.3.1
org.springframework.session
@@ -77,27 +75,7 @@
io.minio
minio
- 8.4.3
-
-
- com.squareup.okhttp3
- okhttp
-
-
- org.jetbrains.kotlin
- kotlin-stdlib
-
-
-
-
- com.squareup.okhttp3
- okhttp
- 4.9.0
-
-
- org.jetbrains.kotlin
- kotlin-stdlib
- 1.3.70
+ ${minio.version}
@@ -112,8 +90,13 @@
org.redisson
- redisson
- 3.17.3
+ redisson-spring-boot-starter
+ ${redisson.version}
+
+
+ com.github.xiaoymin
+ knife4j-openapi3-jakarta-spring-boot-starter
+ ${knife4j.version}
@@ -123,7 +106,7 @@
org.springframework.boot
spring-boot-maven-plugin
- 2.0.3.RELEASE
+ 3.3.1
diff --git a/im-platform/src/main/java/com/bx/implatform/IMPlatformApp.java b/im-platform/src/main/java/com/bx/implatform/IMPlatformApp.java
index ecb30a4..73dab5d 100644
--- a/im-platform/src/main/java/com/bx/implatform/IMPlatformApp.java
+++ b/im-platform/src/main/java/com/bx/implatform/IMPlatformApp.java
@@ -4,7 +4,6 @@ import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
@@ -14,7 +13,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
@EnableAspectJAutoProxy(exposeProxy = true)
@ComponentScan(basePackages = {"com.bx"})
@MapperScan(basePackages = {"com.bx.implatform.mapper"})
-@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})// 禁用secrity
+@SpringBootApplication
public class IMPlatformApp {
public static void main(String[] args) {
diff --git a/im-platform/src/main/java/com/bx/implatform/annotation/OnlineCheck.java b/im-platform/src/main/java/com/bx/implatform/annotation/OnlineCheck.java
index f616002..4baec54 100644
--- a/im-platform/src/main/java/com/bx/implatform/annotation/OnlineCheck.java
+++ b/im-platform/src/main/java/com/bx/implatform/annotation/OnlineCheck.java
@@ -4,7 +4,6 @@ import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import java.util.concurrent.TimeUnit;
/**
* 在线校验,标注此注解的接口用户必须保持长连接,否则将抛异常
diff --git a/im-platform/src/main/java/com/bx/implatform/aspect/OnlineCheckAspect.java b/im-platform/src/main/java/com/bx/implatform/aspect/OnlineCheckAspect.java
index b81124c..a9be97e 100644
--- a/im-platform/src/main/java/com/bx/implatform/aspect/OnlineCheckAspect.java
+++ b/im-platform/src/main/java/com/bx/implatform/aspect/OnlineCheckAspect.java
@@ -1,8 +1,6 @@
package com.bx.implatform.aspect;
-import cn.hutool.core.util.StrUtil;
import com.bx.imclient.IMClient;
-import com.bx.implatform.annotation.RedisLock;
import com.bx.implatform.exception.GlobalException;
import com.bx.implatform.session.SessionContext;
import com.bx.implatform.session.UserSession;
@@ -11,13 +9,8 @@ import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
-import org.redisson.api.RLock;
-import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
-import java.lang.reflect.Method;
-
/**
* @author: blue
* @date: 2024-06-16
diff --git a/im-platform/src/main/java/com/bx/implatform/aspect/RedisLockAspect.java b/im-platform/src/main/java/com/bx/implatform/aspect/RedisLockAspect.java
index 0cd5586..dc5c6b5 100644
--- a/im-platform/src/main/java/com/bx/implatform/aspect/RedisLockAspect.java
+++ b/im-platform/src/main/java/com/bx/implatform/aspect/RedisLockAspect.java
@@ -8,8 +8,6 @@ import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.reflect.MethodSignature;
-import org.redisson.Redisson;
-import org.redisson.RedissonLock;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.core.DefaultParameterNameDiscoverer;
diff --git a/im-platform/src/main/java/com/bx/implatform/config/RedisConfig.java b/im-platform/src/main/java/com/bx/implatform/config/RedisConfig.java
index 14922b0..d74e656 100644
--- a/im-platform/src/main/java/com/bx/implatform/config/RedisConfig.java
+++ b/im-platform/src/main/java/com/bx/implatform/config/RedisConfig.java
@@ -1,18 +1,17 @@
package com.bx.implatform.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import jakarta.annotation.Resource;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.cache.interceptor.CacheErrorHandler;
-import org.springframework.cache.interceptor.CacheResolver;
-import org.springframework.cache.interceptor.SimpleCacheErrorHandler;
-import org.springframework.cache.interceptor.SimpleCacheResolver;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
@@ -24,9 +23,7 @@ import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.StringRedisSerializer;
-import javax.annotation.Resource;
import java.time.Duration;
-import java.util.Objects;
@EnableCaching
@Configuration
@@ -40,7 +37,6 @@ public class RedisConfig extends CachingConfigurerSupport {
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
-
// 设置值(value)的序列化采用jackson2JsonRedisSerializer
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer());
redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer());
@@ -51,42 +47,28 @@ public class RedisConfig extends CachingConfigurerSupport {
return redisTemplate;
}
+
+
+ @Bean
+ public CacheManager cacheManager() {
+ // 设置redis缓存管理器
+ RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofSeconds(600))
+ .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer()));
+ return RedisCacheManager.builder(factory).cacheDefaults(cacheConfiguration).build();
+ }
+
+
@Bean
public Jackson2JsonRedisSerializer
-
- org.springframework.boot
- spring-boot
-
io.netty
netty-all
@@ -40,7 +36,7 @@
org.springframework.boot
spring-boot-maven-plugin
- 2.0.3.RELEASE
+ 3.3.1
diff --git a/im-server/src/main/java/com/bx/imserver/config/RedisConfig.java b/im-server/src/main/java/com/bx/imserver/config/RedisConfig.java
deleted file mode 100644
index 844cdf5..0000000
--- a/im-server/src/main/java/com/bx/imserver/config/RedisConfig.java
+++ /dev/null
@@ -1,33 +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.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.StringRedisSerializer;
-
-@Configuration
-public class RedisConfig {
-
- @Bean
- public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
- RedisTemplate 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);
- }
-
-
-}
diff --git a/im-server/src/main/java/com/bx/imserver/netty/IMServerGroup.java b/im-server/src/main/java/com/bx/imserver/netty/IMServerGroup.java
index c498fd1..1498d18 100644
--- a/im-server/src/main/java/com/bx/imserver/netty/IMServerGroup.java
+++ b/im-server/src/main/java/com/bx/imserver/netty/IMServerGroup.java
@@ -1,13 +1,13 @@
package com.bx.imserver.netty;
import com.bx.imcommon.contant.IMRedisKey;
+import jakarta.annotation.PreDestroy;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
-import javax.annotation.PreDestroy;
import java.util.List;
@Slf4j
@@ -17,7 +17,7 @@ public class IMServerGroup implements CommandLineRunner {
public static volatile long serverId = 0;
- RedisTemplate redisTemplate;
+ private final RedisTemplate redisTemplate;
private final List imServers;
@@ -36,7 +36,7 @@ public class IMServerGroup implements CommandLineRunner {
}
@Override
- public void run(String... args) throws Exception {
+ public void run(String... args) {
// 初始化SERVER_ID
String key = IMRedisKey.IM_MAX_SERVER_ID;
serverId = redisTemplate.opsForValue().increment(key, 1);
diff --git a/pom.xml b/pom.xml
index c3202b5..f5511d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,6 +8,11 @@
com.bx
pom
2.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.3.1
+
im-platform
@@ -17,34 +22,24 @@
- 1.8
- 1.8
- 1.8
UTF-8
UTF-8
- 1.8
- 3.4.0
- 1.2.40
- 1.7
- 2.7.0
- 5.8.16
+ 17
+ 3.5.7
+ 1.2.83
+ 4.5.0
+ 5.8.28
1.1.22
+ 8.5.1
+ 3.21.3
3.8.1
- 1.18.16
- 5.1.46
+ 1.18.32
+ 3.0.3
-
-
- org.springframework.boot
- spring-boot-dependencies
- 2.7.17
- pom
- import
-
org.projectlombok
lombok
@@ -70,31 +65,11 @@
druid
${druid.version}
-
- org.apache.velocity
- velocity
- ${velocity.version}
-
-
- io.springfox
- springfox-swagger2
- ${swagger.version}
-
-
- io.springfox
- springfox-swagger-ui
- ${swagger.version}
-
cn.hutool
hutool-all
${hutool.version}
-
- mysql
- mysql-connector-java
- ${mysql.version}
-
org.apache.poi
poi-ooxml