Просмотр исходного кода

Merge branch '2.6.9' into wvp-28181-2.0

# Conflicts:
#	pom.xml
648540858 1 год назад
Родитель
Сommit
97a87542a6

+ 14 - 0
pom.xml

@@ -181,6 +181,20 @@
             <artifactId>springdoc-openapi-security</artifactId>
             <version>1.6.10</version>
         </dependency>
+		<!-- https://mvnrepository.com/artifact/com.baomidou/dynamic-datasource-spring-boot-starter -->
+		<dependency>
+			<groupId>com.baomidou</groupId>
+			<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+			<version>3.6.1</version>
+		</dependency>
+
+
+		<!--在线文档 -->
+		<dependency>
+			<groupId>org.springdoc</groupId>
+			<artifactId>springdoc-openapi-ui</artifactId>
+			<version>1.6.10</version>
+		</dependency>
 
         <dependency>
             <groupId>com.github.xiaoymin</groupId>

+ 2 - 1
src/main/java/com/genersoft/iot/vmp/service/ICloudRecordService.java

@@ -33,7 +33,8 @@ public interface ICloudRecordService {
     /**
      * 添加合并任务
      */
-    String addTask(String app, String stream, MediaServerItem mediaServerItem, String startTime, String endTime, String callId, String remoteHost);
+    String addTask(String app, String stream, MediaServerItem mediaServerItem, String startTime,
+                   String endTime, String callId, String remoteHost, boolean filterMediaServer);
 
 
     /**

+ 6 - 2
src/main/java/com/genersoft/iot/vmp/service/impl/CloudRecordServiceImpl.java

@@ -2,6 +2,7 @@ package com.genersoft.iot.vmp.service.impl;
 
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.genersoft.iot.vmp.conf.exception.ControllerException;
 import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
 import com.genersoft.iot.vmp.media.zlm.AssistRESTfulUtils;
@@ -29,6 +30,7 @@ import java.time.*;
 import java.util.*;
 
 @Service
+@DS("share")
 public class CloudRecordServiceImpl implements ICloudRecordService {
 
     private final static Logger logger = LoggerFactory.getLogger(CloudRecordServiceImpl.class);
@@ -109,7 +111,8 @@ public class CloudRecordServiceImpl implements ICloudRecordService {
     }
 
     @Override
-    public String addTask(String app, String stream, MediaServerItem mediaServerItem, String startTime, String endTime, String callId, String remoteHost) {
+    public String addTask(String app, String stream, MediaServerItem mediaServerItem, String startTime, String endTime,
+                          String callId, String remoteHost, boolean filterMediaServer) {
         // 参数校验
         assert app != null;
         assert stream != null;
@@ -128,7 +131,8 @@ public class CloudRecordServiceImpl implements ICloudRecordService {
         List<MediaServerItem> mediaServers = new ArrayList<>();
         mediaServers.add(mediaServerItem);
         // 检索相关的录像文件
-        List<String> filePathList = cloudRecordServiceMapper.queryRecordFilePathList(app, stream, startTimeStamp, endTimeStamp, callId, mediaServers);
+        List<String> filePathList = cloudRecordServiceMapper.queryRecordFilePathList(app, stream, startTimeStamp,
+                endTimeStamp, callId, filterMediaServer ? mediaServers : null);
         if (filePathList == null || filePathList.isEmpty()) {
             throw new ControllerException(ErrorCode.ERROR100.getCode(), "未检索到视频文件");
         }

+ 1 - 5
src/main/java/com/genersoft/iot/vmp/vmanager/cloudRecord/CloudRecordController.java

@@ -167,10 +167,6 @@ public class CloudRecordController {
             @RequestParam(required = false) String callId,
             @RequestParam(required = false) String remoteHost
     ){
-        System.out.println(request.getScheme());
-        System.out.println(request.getLocalAddr());
-        System.out.println(request.getRemoteAddr());
-        System.out.println(request.getRequestURI());
         MediaServerItem mediaServerItem;
         if (mediaServerId == null) {
             mediaServerItem = mediaServerService.getDefaultMediaServer();
@@ -184,7 +180,7 @@ public class CloudRecordController {
                 remoteHost = request.getScheme() + "://" + request.getLocalAddr() + ":" + mediaServerItem.getRecordAssistPort();
             }
         }
-        return cloudRecordService.addTask(app, stream, mediaServerItem, startTime, endTime, callId, remoteHost);
+        return cloudRecordService.addTask(app, stream, mediaServerItem, startTime, endTime, callId, remoteHost, mediaServerId != null);
     }
 
     @ResponseBody

+ 23 - 12
src/main/resources/all-application.yml

@@ -47,18 +47,29 @@ spring:
         #    username: root
         #    password: SYceshizu1234
         # mysql配置
-        type: com.zaxxer.hikari.HikariDataSource
-        driver-class-name: com.mysql.cj.jdbc.Driver
-        url: jdbc:mysql://127.0.0.1:3306/wvp2?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true
-        username: root
-        password: root123
-        hikari:
-            connection-timeout: 20000             # 是客户端等待连接池连接的最大毫秒数
-            initialSize: 50                       # 连接池初始化连接数
-            maximum-pool-size: 200                # 连接池最大连接数
-            minimum-idle: 10                       # 连接池最小空闲连接数
-            idle-timeout: 300000                  # 允许连接在连接池中空闲的最长时间(以毫秒为单位)
-            max-lifetime: 1200000                 # 是池中连接关闭后的最长生命周期(以毫秒为单位)
+        dynamic:
+            primary: master
+            datasource:
+                master:
+                    type: com.zaxxer.hikari.HikariDataSource
+                    driver-class-name: com.mysql.cj.jdbc.Driver
+                    url: jdbc:mysql://127.0.0.1:3306/wvp2?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true
+                    username: root
+                    password: root123
+                    hikari:
+                        connection-timeout: 20000             # 是客户端等待连接池连接的最大毫秒数
+                        initialSize: 50                       # 连接池初始化连接数
+                        maximum-pool-size: 200                # 连接池最大连接数
+                        minimum-idle: 10                       # 连接池最小空闲连接数
+                        idle-timeout: 300000                  # 允许连接在连接池中空闲的最长时间(以毫秒为单位)
+                        max-lifetime: 1200000                 # 是池中连接关闭后的最长生命周期(以毫秒为单位)
+                share:
+                    type: com.zaxxer.hikari.HikariDataSource
+                    driver-class-name: com.mysql.cj.jdbc.Driver
+                    url: jdbc:mysql://127.0.0.1:3306/wvp269_1?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+                    username: root
+                    password: 12345678
+
 
 
 # 修改分页插件为 postgresql, 数据库类型为mysql不需要

+ 16 - 12
src/main/resources/application-dev.yml

@@ -24,18 +24,22 @@ spring:
     timeout: 10000
     # mysql数据源
   datasource:
-    type: com.zaxxer.hikari.HikariDataSource
-    driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true
-    username: root
-    password: root
-    hikari:
-      connection-timeout: 20000             # 是客户端等待连接池连接的最大毫秒数
-      initialSize: 10                       # 连接池初始化连接数
-      maximum-pool-size: 200                # 连接池最大连接数
-      minimum-idle: 5                       # 连接池最小空闲连接数
-      idle-timeout: 300000                  # 允许连接在连接池中空闲的最长时间(以毫秒为单位)
-      max-lifetime: 1200000                 # 是池中连接关闭后的最长生命周期(以毫秒为单位)
+    dynamic:
+      primary: master
+      datasource:
+        master:
+          type: com.zaxxer.hikari.HikariDataSource
+          driver-class-name: com.mysql.cj.jdbc.Driver
+          url: jdbc:mysql://127.0.0.1:3306/wvp2?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true
+          username: root
+          password: root123
+          hikari:
+            connection-timeout: 20000             # 是客户端等待连接池连接的最大毫秒数
+            initialSize: 50                       # 连接池初始化连接数
+            maximum-pool-size: 200                # 连接池最大连接数
+            minimum-idle: 10                       # 连接池最小空闲连接数
+            idle-timeout: 300000                  # 允许连接在连接池中空闲的最长时间(以毫秒为单位)
+            max-lifetime: 1200000                 # 是池中连接关闭后的最长生命周期(以毫秒为单位)
 #[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
 server:
   port: 8080

+ 16 - 7
src/main/resources/application-docker.yml

@@ -18,13 +18,22 @@ spring:
         timeout: 10000
     # [必选] jdbc数据库配置
     datasource:
-        # 使用mysql 打开23-28行注释, 删除29-36行
-         name: wvp
-         url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&allowMultiQueries=true&useSSL=false&allowMultiQueries=true
-         username: root
-         password: root
-         type: com.zaxxer.hikari.HikariDataSource
-         driver-class-name: com.mysql.cj.jdbc.Driver
+        dynamic:
+            primary: master
+            datasource:
+                master:
+                    type: com.zaxxer.hikari.HikariDataSource
+                    driver-class-name: com.mysql.cj.jdbc.Driver
+                    url: jdbc:mysql://127.0.0.1:3306/wvp2?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true
+                    username: root
+                    password: root123
+                    hikari:
+                        connection-timeout: 20000             # 是客户端等待连接池连接的最大毫秒数
+                        initialSize: 50                       # 连接池初始化连接数
+                        maximum-pool-size: 200                # 连接池最大连接数
+                        minimum-idle: 10                       # 连接池最小空闲连接数
+                        idle-timeout: 300000                  # 允许连接在连接池中空闲的最长时间(以毫秒为单位)
+                        max-lifetime: 1200000                 # 是池中连接关闭后的最长生命周期(以毫秒为单位)
 
 # [可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
 server:

Разница между файлами не показана из-за своего большого размера
+ 0 - 15526
web_src/package-lock.json