diff --git a/pom.xml b/pom.xml
index b3eb307d6..ade82e5e3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.3.5
+ 3.4.4
com.genersoft
@@ -48,7 +48,6 @@
UTF-8
MMddHHmm
- 3.1.1
${project.build.directory}/generated-snippets
@@ -57,8 +56,8 @@
${project.build.directory}/asciidoc/html
${project.build.directory}/asciidoc/pdf
- 17
- 17
+ 21
+ 21
@@ -116,6 +115,17 @@
spring-boot-starter-websocket
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+
+ org.springframework.session
+ spring-session-core
+
+
org.springframework.boot
spring-boot-configuration-processor
@@ -124,7 +134,7 @@
org.mybatis.spring.boot
mybatis-spring-boot-starter
- 3.0.3
+ 3.0.4
com.zaxxer
@@ -142,20 +152,13 @@
spring-boot-starter-jdbc
-
-
- com.alibaba
- druid-spring-boot-starter
- 1.2.23
-
-
-
com.h2database
h2
2.3.232
+
com.mysql
@@ -189,23 +192,29 @@
${basedir}/libs/jdbc-x86/kingbase8-8.6.0.jar
+
+
+
+
+
+
com.github.pagehelper
pagehelper-spring-boot-starter
- 1.4.6
+ 2.1.1
org.springdoc
springdoc-openapi-starter-webmvc-ui
- 2.5.0
+ 2.8.8
org.springdoc
springdoc-openapi-starter-webmvc-api
- 2.5.0
+ 2.8.8
org.springdoc
@@ -216,21 +225,15 @@
com.github.xiaoymin
knife4j-openapi3-jakarta-spring-boot-starter
- 4.4.0
+ 4.5.0
-
- javax.validation
- validation-api
- 2.0.1.Final
-
-
-
-
- org.springframework.boot
- spring-boot-starter-aop
-
+
+
+
+
+
@@ -243,14 +246,14 @@
org.slf4j
log4j-over-slf4j
- 1.7.36
+ 2.0.17
org.dom4j
dom4j
- 2.1.3
+ 2.1.4
@@ -274,21 +277,21 @@
com.squareup.okhttp3
okhttp
- 4.10.0
+ 4.12.0
com.squareup.okhttp3
logging-interceptor
- 4.10.0
+ 4.12.0
io.github.rburgst
okhttp-digest
- 2.7
+ 3.1.1
@@ -302,17 +305,9 @@
org.bitbucket.b_c
jose4j
- 0.9.3
+ 0.9.6
-
-
- org.mitre.dsmiley.httpproxy
- smiley-http-proxy-servlet
- 2.0
- system
- ${basedir}/libs/smiley-http-proxy-servlet-2.0.jar
-
org.apache.httpcomponents
httpclient
@@ -323,7 +318,7 @@
com.alibaba
easyexcel
- 3.3.2
+ 4.0.3
org.apache.commons
@@ -334,64 +329,44 @@
org.apache.commons
commons-compress
- 1.24.0
+ 1.27.1
com.github.oshi
oshi-core
- 6.2.2
+ 6.6.5
-
- org.springframework.session
- spring-session-core
-
-
-
-
-
-
-
-
-
-
com.google.guava
guava
- 32.1.3-jre
+ 33.4.8-jre
org.apache.ftpserver
ftpserver-core
- 1.2.0
+ 1.2.1
org.apache.ftpserver
ftplet-api
- 1.2.0
+ 1.2.1
org.projectlombok
lombok
- 1.18.30
+ 1.18.38
provided
-
-
- org.projectlombok
- lombok
- 1.18.30
- provided
-
@@ -418,7 +393,7 @@
org.springframework.boot
spring-boot-maven-plugin
- 3.3.1
+ 3.4.10
true
true
@@ -428,10 +403,10 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.1
+ 3.14.0
- 17
- 17
+ 21
+ 21
org.projectlombok
@@ -445,7 +420,7 @@
pl.project13.maven
git-commit-id-plugin
- 3.0.1
+ 4.9.10
true
false
@@ -465,7 +440,7 @@
org.apache.maven.plugins
maven-jar-plugin
- 3.3.0
+ 3.4.2
**/配置详情.yml
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
deleted file mode 100644
index 6fb02ac0d..000000000
--- a/src/main/java/com/genersoft/iot/vmp/conf/ProxyServletConfig.java
+++ /dev/null
@@ -1,301 +0,0 @@
-package com.genersoft.iot.vmp.conf;
-
-import com.genersoft.iot.vmp.media.bean.MediaServer;
-import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.http.HttpHost;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
-import org.mitre.dsmiley.httpproxy.ProxyServlet;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.web.servlet.ServletRegistrationBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.annotation.Order;
-import org.springframework.util.ObjectUtils;
-
-import jakarta.servlet.ServletException;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.net.ConnectException;
-
-/**
- * @author lin
- */
-@SuppressWarnings(value = {"rawtypes", "unchecked"})
-@Configuration
-@Order(1)
-@Slf4j
-public class ProxyServletConfig {
-
- @Autowired
- private IMediaServerService mediaServerService;
-
- @Value("${server.port}")
- private int serverPort;
-
- @Bean
- public ServletRegistrationBean zlmServletRegistrationBean(){
- ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new ZlmProxyServlet(),"/zlm/*");
- servletRegistrationBean.setName("zlm_Proxy");
- servletRegistrationBean.addInitParameter("targetUri", "http://127.0.0.1:6080");
- servletRegistrationBean.addUrlMappings();
- if (log.isDebugEnabled()) {
- servletRegistrationBean.addInitParameter("log", "true");
- }
- return servletRegistrationBean;
- }
-
- class ZlmProxyServlet extends ProxyServlet{
- @Override
- protected String rewriteQueryStringFromRequest(HttpServletRequest servletRequest, String queryString) {
- String queryStr = super.rewriteQueryStringFromRequest(servletRequest, queryString);
- MediaServer mediaInfo = getMediaInfoByUri(servletRequest.getRequestURI());
- if (mediaInfo != null) {
- if (!ObjectUtils.isEmpty(queryStr)) {
- queryStr += "&secret=" + mediaInfo.getSecret();
- }else {
- queryStr = "secret=" + mediaInfo.getSecret();
- }
- }
- return queryStr;
- }
-
-
- @Override
- protected HttpResponse doExecute(HttpServletRequest servletRequest, HttpServletResponse servletResponse,
- HttpRequest proxyRequest) throws IOException {
- HttpResponse response = super.doExecute(servletRequest, servletResponse, proxyRequest);
- response.removeHeaders("Access-Control-Allow-Origin");
- response.setHeader("Access-Control-Allow-Credentials","true");
- response.removeHeaders("Access-Control-Allow-Credentials");
-
- return response;
- }
-
- /**
- * 异常处理
- */
- @Override
- protected void handleRequestException(HttpRequest proxyRequest, HttpResponse proxyResonse, Exception e){
- try {
- super.handleRequestException(proxyRequest, proxyResonse, e);
- } catch (ServletException servletException) {
- log.error("zlm 代理失败: ", e);
- } catch (IOException ioException) {
- if (ioException instanceof ConnectException) {
- log.error("zlm 连接失败");
- } else {
- log.error("zlm 代理失败: ", e);
- }
- } catch (RuntimeException exception){
- log.error("zlm 代理失败: ", e);
- }
- }
-
- /**
- * 对于为按照格式请求的可以直接返回404
- */
- @Override
- protected String getTargetUri(HttpServletRequest servletRequest) {
- String requestURI = servletRequest.getRequestURI();
- MediaServer mediaInfo = getMediaInfoByUri(requestURI);
-
- String uri = null;
- if (mediaInfo != null) {
-// String realRequestURI = requestURI.substring(requestURI.indexOf(mediaInfo.getId())+ mediaInfo.getId().length());
- uri = String.format("http://%s:%s", mediaInfo.getIp(), mediaInfo.getHttpPort());
- }else {
- uri = "http://127.0.0.1:" + serverPort +"/index/hook/null"; // 只是一个能返回404的请求而已, 其他的也可以
- }
- return uri;
- }
-
- /**
- * 动态替换请求目标
- */
- @Override
- protected HttpHost getTargetHost(HttpServletRequest servletRequest) {
- String requestURI = servletRequest.getRequestURI();
- MediaServer mediaInfo = getMediaInfoByUri(requestURI);
- HttpHost host;
- if (mediaInfo != null) {
- host = new HttpHost(mediaInfo.getIp(), mediaInfo.getHttpPort());
- }else {
- host = new HttpHost("127.0.0.1", serverPort);
- }
- return host;
-
- }
-
- /**
- * 根据uri获取流媒体信息
- */
- MediaServer getMediaInfoByUri(String uri){
- String[] split = uri.split("/");
- String mediaServerId = split[2];
- if ("default".equalsIgnoreCase(mediaServerId)) {
- return mediaServerService.getDefaultMediaServer();
- }else {
- return mediaServerService.getOne(mediaServerId);
- }
- }
-
- /**
- * 去掉url中的标志信息
- */
- @Override
- protected String rewriteUrlFromRequest(HttpServletRequest servletRequest) {
- String requestURI = servletRequest.getRequestURI();
- MediaServer mediaInfo = getMediaInfoByUri(requestURI);
- String url = super.rewriteUrlFromRequest(servletRequest);
- if (mediaInfo == null) {
- log.error("[ZLM服务访问代理],错误:处理url信息时未找到流媒体信息=>{}", requestURI);
- return url;
- }
- if (!ObjectUtils.isEmpty(mediaInfo.getId())) {
- url = url.replace(mediaInfo.getId() + "/", "");
- }
- return url.replace("default/", "");
- }
- }
-
- @Bean
- public ServletRegistrationBean recordServletRegistrationBean(){
- ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new RecordProxyServlet(),"/record_proxy/*");
- servletRegistrationBean.setName("record_proxy");
- servletRegistrationBean.addInitParameter("targetUri", "http://127.0.0.1:18081");
- servletRegistrationBean.addUrlMappings();
- if (log.isDebugEnabled()) {
- servletRegistrationBean.addInitParameter("log", "true");
- }
- return servletRegistrationBean;
- }
-
- class RecordProxyServlet extends ProxyServlet{
-
- @Override
- protected String rewriteQueryStringFromRequest(HttpServletRequest servletRequest, String queryString) {
- String queryStr = super.rewriteQueryStringFromRequest(servletRequest, queryString);
- MediaServer mediaInfo = getMediaInfoByUri(servletRequest.getRequestURI());
- if (mediaInfo == null) {
- return null;
- }
- String remoteHost = String.format("http://%s:%s", mediaInfo.getStreamIp(), mediaInfo.getRecordAssistPort());
- if (!ObjectUtils.isEmpty(queryStr)) {
- queryStr += "&remoteHost=" + remoteHost;
- }else {
- queryStr = "remoteHost=" + remoteHost;
- }
- return queryStr;
- }
-
-
- @Override
- protected HttpResponse doExecute(HttpServletRequest servletRequest, HttpServletResponse servletResponse,
- HttpRequest proxyRequest) throws IOException {
- HttpResponse response = super.doExecute(servletRequest, servletResponse, proxyRequest);
- String origin = servletRequest.getHeader("origin");
- response.setHeader("Access-Control-Allow-Origin",origin);
- response.setHeader("Access-Control-Allow-Credentials","true");
-
- return response;
- }
-
- /**
- * 异常处理
- */
- @Override
- protected void handleRequestException(HttpRequest proxyRequest, HttpResponse proxyResponse, Exception e){
- try {
- super.handleRequestException(proxyRequest, proxyResponse, e);
- } catch (ServletException servletException) {
- log.error("录像服务 代理失败: ", e);
- } catch (IOException ioException) {
- if (ioException instanceof ConnectException) {
- log.error("录像服务 连接失败");
-// }else if (ioException instanceof ClientAbortException) {
-// /**
-// * TODO 使用这个代理库实现代理在遇到代理视频文件时,如果是206结果,会遇到报错蛋市目前功能正常,
-// * TODO 暂时去除异常处理。后续使用其他代理框架修改测试
-// */
-
- }else {
- log.error("录像服务 代理失败: ", e);
- }
- } catch (RuntimeException exception){
- log.error("录像服务 代理失败: ", e);
- }
- }
-
- /**
- * 对于为按照格式请求的可以直接返回404
- */
- @Override
- protected String getTargetUri(HttpServletRequest servletRequest) {
- String requestURI = servletRequest.getRequestURI();
- MediaServer mediaInfo = getMediaInfoByUri(requestURI);
-
- String uri = null;
- if (mediaInfo != null) {
-// String realRequestURI = requestURI.substring(requestURI.indexOf(mediaInfo.getId())+ mediaInfo.getId().length());
- uri = String.format("http://%s:%s", mediaInfo.getIp(), mediaInfo.getRecordAssistPort());
- }else {
- uri = "http://127.0.0.1:" + serverPort +"/index/hook/null"; // 只是一个能返回404的请求而已, 其他的也可以
- }
- return uri;
- }
-
- /**
- * 动态替换请求目标
- */
- @Override
- protected HttpHost getTargetHost(HttpServletRequest servletRequest) {
- String requestURI = servletRequest.getRequestURI();
- MediaServer mediaInfo = getMediaInfoByUri(requestURI);
- HttpHost host;
- if (mediaInfo != null) {
- host = new HttpHost(mediaInfo.getIp(), mediaInfo.getRecordAssistPort());
- }else {
- host = new HttpHost("127.0.0.1", serverPort);
- }
- return host;
-
- }
-
- /**
- * 根据uri获取流媒体信息
- */
- MediaServer getMediaInfoByUri(String uri){
- String[] split = uri.split("/");
- String mediaServerId = split[2];
- if ("default".equalsIgnoreCase(mediaServerId)) {
- return mediaServerService.getDefaultMediaServer();
- }else {
- return mediaServerService.getOne(mediaServerId);
- }
-
- }
-
- /**
- * 去掉url中的标志信息
- */
- @Override
- protected String rewriteUrlFromRequest(HttpServletRequest servletRequest) {
- String requestURI = servletRequest.getRequestURI();
- MediaServer mediaInfo = getMediaInfoByUri(requestURI);
- String url = super.rewriteUrlFromRequest(servletRequest);
- if (mediaInfo == null) {
- log.error("[录像服务访问代理],错误:处理url信息时未找到流媒体信息=>{}", requestURI);
- return url;
- }
- if (!ObjectUtils.isEmpty(mediaInfo.getId())) {
- url = url.replace(mediaInfo.getId() + "/", "");
- }
- return url.replace("default/", "");
- }
- }
-
-}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/FrontEndCode.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/FrontEndCode.java
index ecdb4efaa..c155b5391 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/FrontEndCode.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/FrontEndCode.java
@@ -1,8 +1,8 @@
package com.genersoft.iot.vmp.gb28181.bean;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
-import javax.validation.constraints.NotNull;
/**
* 解析收到的前端控制指令
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java
index a292f58ff..ef0795040 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/controller/MediaController.java
@@ -18,13 +18,13 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.async.DeferredResult;
-import javax.servlet.http.HttpServletRequest;
import java.net.MalformedURLException;
import java.net.URL;
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/IDeviceChannelService.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/IDeviceChannelService.java
index 27fdf0415..a290f21de 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/IDeviceChannelService.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/IDeviceChannelService.java
@@ -7,9 +7,9 @@ import com.genersoft.iot.vmp.service.bean.ErrorCallback;
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
import com.genersoft.iot.vmp.web.gb28181.dto.DeviceChannelExtend;
import com.github.pagehelper.PageInfo;
+import jakarta.validation.constraints.NotNull;
import org.dom4j.Element;
-import javax.validation.constraints.NotNull;
import java.util.List;
/**
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java
index d5cd7fc8b..0dcf7ef2c 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceChannelServiceImpl.java
@@ -30,6 +30,7 @@ import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
import com.genersoft.iot.vmp.web.gb28181.dto.DeviceChannelExtend;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j;
import org.dom4j.Element;
import org.springframework.beans.factory.annotation.Autowired;
@@ -43,7 +44,6 @@ import org.springframework.util.ObjectUtils;
import javax.sip.InvalidArgumentException;
import javax.sip.SipException;
import javax.sip.message.Response;
-import javax.validation.constraints.NotNull;
import java.text.ParseException;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java
index 1c919d940..be302fe34 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/DeviceServiceImpl.java
@@ -39,6 +39,7 @@ import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import gov.nist.javax.sip.message.SIPResponse;
+import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
@@ -51,7 +52,6 @@ import org.springframework.util.Assert;
import javax.sip.InvalidArgumentException;
import javax.sip.ResponseEvent;
import javax.sip.SipException;
-import javax.validation.constraints.NotNull;
import java.text.ParseException;
import java.time.Instant;
import java.util.*;
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java
index 0043db3f2..f82ec206e 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderPlarformProvider.java
@@ -9,6 +9,7 @@ import com.genersoft.iot.vmp.utils.GitUtil;
import com.genersoft.iot.vmp.utils.IpPortUtil;
import gov.nist.javax.sip.message.MessageFactoryImpl;
import gov.nist.javax.sip.message.SIPRequest;
+import jakarta.validation.constraints.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.DigestUtils;
@@ -20,7 +21,6 @@ import javax.sip.address.Address;
import javax.sip.address.SipURI;
import javax.sip.header.*;
import javax.sip.message.Request;
-import javax.validation.constraints.NotNull;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.UUID;
diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java b/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java
index 85d5c952d..5310ff030 100644
--- a/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java
+++ b/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078Controller.java
@@ -18,6 +18,10 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -27,10 +31,6 @@ import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.async.DeferredResult;
-import javax.annotation.Resource;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078TerminalController.java b/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078TerminalController.java
index 19e150998..58058e48c 100644
--- a/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078TerminalController.java
+++ b/src/main/java/com/genersoft/iot/vmp/jt1078/controller/JT1078TerminalController.java
@@ -1,18 +1,19 @@
package com.genersoft.iot.vmp.jt1078.controller;
import com.genersoft.iot.vmp.conf.security.JwtUtils;
-import com.genersoft.iot.vmp.jt1078.bean.*;
+import com.genersoft.iot.vmp.jt1078.bean.JTChannel;
+import com.genersoft.iot.vmp.jt1078.bean.JTDevice;
import com.genersoft.iot.vmp.jt1078.service.Ijt1078Service;
import com.github.pagehelper.PageInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.web.bind.annotation.*;
-import javax.annotation.Resource;
@Slf4j
diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/service/Ijt1078Service.java b/src/main/java/com/genersoft/iot/vmp/jt1078/service/Ijt1078Service.java
index 7ca1b58f8..b6bbba445 100644
--- a/src/main/java/com/genersoft/iot/vmp/jt1078/service/Ijt1078Service.java
+++ b/src/main/java/com/genersoft/iot/vmp/jt1078/service/Ijt1078Service.java
@@ -4,8 +4,8 @@ import com.genersoft.iot.vmp.common.CommonCallback;
import com.genersoft.iot.vmp.jt1078.bean.*;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import com.github.pagehelper.PageInfo;
+import jakarta.servlet.ServletOutputStream;
-import javax.servlet.ServletOutputStream;
import java.io.OutputStream;
import java.util.List;
diff --git a/src/main/java/com/genersoft/iot/vmp/jt1078/service/impl/jt1078ServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/jt1078/service/impl/jt1078ServiceImpl.java
index 1e3df6711..6247af899 100644
--- a/src/main/java/com/genersoft/iot/vmp/jt1078/service/impl/jt1078ServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/jt1078/service/impl/jt1078ServiceImpl.java
@@ -4,10 +4,10 @@ import com.genersoft.iot.vmp.common.CommonCallback;
import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.common.VideoManagerConstants;
import com.genersoft.iot.vmp.conf.DynamicTask;
-import com.genersoft.iot.vmp.conf.ftpServer.FtpFileSystemFactory;
-import com.genersoft.iot.vmp.conf.ftpServer.FtpSetting;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.conf.exception.ControllerException;
+import com.genersoft.iot.vmp.conf.ftpServer.FtpFileSystemFactory;
+import com.genersoft.iot.vmp.conf.ftpServer.FtpSetting;
import com.genersoft.iot.vmp.conf.ftpServer.UserManager;
import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel;
import com.genersoft.iot.vmp.gb28181.service.IGbChannelService;
@@ -30,6 +30,8 @@ import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import jakarta.annotation.PostConstruct;
+import jakarta.servlet.ServletOutputStream;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.ftpserver.usermanager.impl.BaseUser;
@@ -42,13 +44,13 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
-import javax.annotation.PostConstruct;
-import javax.servlet.ServletOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.net.InetSocketAddress;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
@Service
@Slf4j
diff --git a/src/main/java/com/genersoft/iot/vmp/media/abl/ABLHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/abl/ABLHttpHookListener.java
index ade53797e..9da225c17 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/abl/ABLHttpHookListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/abl/ABLHttpHookListener.java
@@ -18,8 +18,9 @@ import com.genersoft.iot.vmp.media.event.media.*;
import com.genersoft.iot.vmp.media.service.IMediaServerService;
import com.genersoft.iot.vmp.media.zlm.dto.hook.HookResult;
import com.genersoft.iot.vmp.media.zlm.dto.hook.HookResultForOnPublish;
-import com.genersoft.iot.vmp.service.*;
+import com.genersoft.iot.vmp.service.IMediaService;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
+import jakarta.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,7 +31,6 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
diff --git a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
index 6d508658c..8b1ee8c4a 100755
--- a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
@@ -21,13 +21,17 @@ import com.genersoft.iot.vmp.media.service.IMediaNodeServerService;
import com.genersoft.iot.vmp.media.service.IMediaServerService;
import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OriginType;
-import com.genersoft.iot.vmp.service.bean.*;
+import com.genersoft.iot.vmp.service.bean.DownloadFileInfo;
+import com.genersoft.iot.vmp.service.bean.ErrorCallback;
+import com.genersoft.iot.vmp.service.bean.MediaServerLoad;
+import com.genersoft.iot.vmp.service.bean.SSRCInfo;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.dao.MediaServerMapper;
import com.genersoft.iot.vmp.streamProxy.bean.StreamProxy;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
+import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
import okhttp3.Request;
@@ -41,7 +45,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
-import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.*;
diff --git a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java
index f524a9218..d9453d260 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java
@@ -14,6 +14,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.service.IMobilePositionService;
import com.genersoft.iot.vmp.utils.DateUtil;
+import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.Message;
@@ -24,7 +25,6 @@ import org.springframework.util.ObjectUtils;
import javax.sip.InvalidArgumentException;
import javax.sip.SipException;
-import javax.validation.constraints.NotNull;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/IStreamProxyPlayService.java b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/IStreamProxyPlayService.java
index 7836e80f6..a96532dae 100755
--- a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/IStreamProxyPlayService.java
+++ b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/IStreamProxyPlayService.java
@@ -3,8 +3,8 @@ package com.genersoft.iot.vmp.streamProxy.service;
import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.service.bean.ErrorCallback;
import com.genersoft.iot.vmp.streamProxy.bean.StreamProxy;
+import jakarta.validation.constraints.NotNull;
-import javax.validation.constraints.NotNull;
public interface IStreamProxyPlayService {
diff --git a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java
index bc9858b96..9e0d4442e 100755
--- a/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/streamProxy/service/impl/StreamProxyPlayServiceImpl.java
@@ -16,13 +16,13 @@ import com.genersoft.iot.vmp.streamProxy.bean.StreamProxy;
import com.genersoft.iot.vmp.streamProxy.dao.StreamProxyMapper;
import com.genersoft.iot.vmp.streamProxy.service.IStreamProxyPlayService;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
+import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;
-import javax.validation.constraints.NotNull;
import java.util.UUID;
/**
diff --git a/src/main/java/com/genersoft/iot/vmp/utils/DateUtil.java b/src/main/java/com/genersoft/iot/vmp/utils/DateUtil.java
index 4d97d7ed9..41a031062 100755
--- a/src/main/java/com/genersoft/iot/vmp/utils/DateUtil.java
+++ b/src/main/java/com/genersoft/iot/vmp/utils/DateUtil.java
@@ -1,9 +1,9 @@
package com.genersoft.iot.vmp.utils;
+import jakarta.validation.constraints.NotNull;
import org.apache.commons.lang3.ObjectUtils;
-import javax.validation.constraints.NotNull;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -12,7 +12,6 @@ import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAccessor;
-
import java.util.Locale;
/**