From f760ad8e6bec8f4867b6ca4535f37db031461dfe Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 16 Jan 2025 11:45:50 +0800
Subject: [PATCH] 配置修改

---
 .idea/workspace.xml                       |  104 +++++------
 src/main/resources/application-dev.yml    |  113 ++++++++++++
 src/main/resources/application-prod.yml   |  113 ++++++++++++
 src/main/resources/application-docker.yml |   80 ++++++++
 src/main/resources/application-test.yml   |  116 ++++++++++++
 5 files changed, 467 insertions(+), 59 deletions(-)

diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 4476010..e0df550 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -11,14 +11,14 @@
       <path>
         <item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
         <item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
-        <item name="BRANCH:main" type="e8cecc67:BranchNodeDescriptor" />
+        <item name="BRANCH:update-v" type="e8cecc67:BranchNodeDescriptor" />
       </path>
     </select>
   </component>
   <component name="ChangeListManager">
     <list default="true" id="208daac0-1abd-465d-abf2-6a0414be019b" name="默认的" comment="配置提交">
+      <change afterPath="$PROJECT_DIR$/src/main/resources/application-dev.yml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceChannelServiceImpl.java" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -58,7 +58,7 @@
     <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/../../geoserver/geoserver-2.19.6" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/resources" />
     <property name="node.js.detected.package.eslint" value="true" />
     <property name="node.js.detected.package.tslint" value="true" />
     <property name="node.js.path.for.package.eslint" value="project" />
@@ -191,7 +191,9 @@
       <workItem from="1687249861313" duration="464000" />
       <workItem from="1687772319116" duration="68000" />
       <workItem from="1687846557234" duration="1264000" />
-      <workItem from="1687851016900" duration="5366000" />
+      <workItem from="1687851016900" duration="5749000" />
+      <workItem from="1687857702693" duration="467000" />
+      <workItem from="1736997469595" duration="1319000" />
     </task>
     <task id="LOCAL-00001" summary="默认的">
       <created>1676691639632</created>
@@ -284,7 +286,14 @@
       <option name="project" value="LOCAL" />
       <updated>1687847681236</updated>
     </task>
-    <option name="localTasksCounter" value="14" />
+    <task id="LOCAL-00014" summary="目录订阅时同时插入实时位置信息">
+      <created>1687856941902</created>
+      <option name="number" value="00014" />
+      <option name="presentableId" value="LOCAL-00014" />
+      <option name="project" value="LOCAL" />
+      <updated>1687856941902</updated>
+    </task>
+    <option name="localTasksCounter" value="15" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -301,7 +310,7 @@
                   <entry key="branch">
                     <value>
                       <list>
-                        <option value="main" />
+                        <option value="update-v" />
                       </list>
                     </value>
                   </entry>
@@ -328,89 +337,66 @@
     <MESSAGE value="执法记录仪同步去除" />
     <MESSAGE value="gb28181版本升级" />
     <MESSAGE value="gb28181版本升级-补充" />
-    <option name="LAST_COMMIT_MESSAGE" value="gb28181版本升级-补充" />
+    <MESSAGE value="目录订阅时同时插入实时位置信息" />
+    <option name="LAST_COMMIT_MESSAGE" value="目录订阅时同时插入实时位置信息" />
   </component>
   <component name="WindowStateProjectService">
-    <state x="414" y="174" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1686903824574">
+    <state x="414" y="175" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1736998260037">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state x="414" y="174" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1686903824574" />
-    <state x="92" y="92" width="1736" height="856" key="DiffContextDialog" timestamp="1686965187217">
+    <state x="414" y="175" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1736998260037" />
+    <state x="92" y="92" width="1736" height="856" key="DiffContextDialog" timestamp="1736997901574">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state x="92" y="92" width="1736" height="856" key="DiffContextDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1686965187217" />
-    <state width="1877" height="387" key="GridCell.Tab.0.bottom" timestamp="1687856409237">
+    <state x="92" y="92" width="1736" height="856" key="DiffContextDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1736997901574" />
+    <state width="1877" height="563" key="GridCell.Tab.0.bottom" timestamp="1736998493693">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="387" key="GridCell.Tab.0.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1687856409237" />
-    <state width="1877" height="387" key="GridCell.Tab.0.center" timestamp="1687856409237">
+    <state width="1877" height="563" key="GridCell.Tab.0.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493693" />
+    <state width="1877" height="563" key="GridCell.Tab.0.center" timestamp="1736998493693">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="387" key="GridCell.Tab.0.center/0.0.1920.1040@0.0.1920.1040" timestamp="1687856409237" />
-    <state width="1877" height="387" key="GridCell.Tab.0.left" timestamp="1687856409237">
+    <state width="1877" height="563" key="GridCell.Tab.0.center/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493693" />
+    <state width="1877" height="563" key="GridCell.Tab.0.left" timestamp="1736998493692">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="387" key="GridCell.Tab.0.left/0.0.1920.1040@0.0.1920.1040" timestamp="1687856409237" />
-    <state width="1877" height="387" key="GridCell.Tab.0.right" timestamp="1687856409237">
+    <state width="1877" height="563" key="GridCell.Tab.0.left/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493692" />
+    <state width="1877" height="563" key="GridCell.Tab.0.right" timestamp="1736998493693">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="387" key="GridCell.Tab.0.right/0.0.1920.1040@0.0.1920.1040" timestamp="1687856409237" />
-    <state width="1877" height="387" key="GridCell.Tab.1.bottom" timestamp="1687856361203">
+    <state width="1877" height="563" key="GridCell.Tab.0.right/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493693" />
+    <state width="0" height="0" key="GridCell.Tab.1.bottom" timestamp="1736998493658">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="387" key="GridCell.Tab.1.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1687856361203" />
-    <state width="1877" height="387" key="GridCell.Tab.1.center" timestamp="1687856361203">
+    <state width="0" height="0" key="GridCell.Tab.1.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493658" />
+    <state width="0" height="0" key="GridCell.Tab.1.center" timestamp="1736998493658">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="387" key="GridCell.Tab.1.center/0.0.1920.1040@0.0.1920.1040" timestamp="1687856361203" />
-    <state width="1877" height="387" key="GridCell.Tab.1.left" timestamp="1687856361203">
+    <state width="0" height="0" key="GridCell.Tab.1.center/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493658" />
+    <state width="0" height="0" key="GridCell.Tab.1.left" timestamp="1736998493658">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="387" key="GridCell.Tab.1.left/0.0.1920.1040@0.0.1920.1040" timestamp="1687856361203" />
-    <state width="1877" height="387" key="GridCell.Tab.1.right" timestamp="1687856361203">
+    <state width="0" height="0" key="GridCell.Tab.1.left/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493658" />
+    <state width="0" height="0" key="GridCell.Tab.1.right" timestamp="1736998493658">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="1877" height="387" key="GridCell.Tab.1.right/0.0.1920.1040@0.0.1920.1040" timestamp="1687856361203" />
-    <state width="0" height="0" key="GridCell.Tab.2.bottom" timestamp="1687856252285">
+    <state width="0" height="0" key="GridCell.Tab.1.right/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493658" />
+    <state width="0" height="0" key="GridCell.Tab.2.bottom" timestamp="1736998493658">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="0" height="0" key="GridCell.Tab.2.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1687856252285" />
-    <state width="0" height="0" key="GridCell.Tab.2.center" timestamp="1687856252285">
+    <state width="0" height="0" key="GridCell.Tab.2.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493658" />
+    <state width="0" height="0" key="GridCell.Tab.2.center" timestamp="1736998493658">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="0" height="0" key="GridCell.Tab.2.center/0.0.1920.1040@0.0.1920.1040" timestamp="1687856252285" />
-    <state width="0" height="0" key="GridCell.Tab.2.left" timestamp="1687856252285">
+    <state width="0" height="0" key="GridCell.Tab.2.center/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493658" />
+    <state width="0" height="0" key="GridCell.Tab.2.left" timestamp="1736998493658">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="0" height="0" key="GridCell.Tab.2.left/0.0.1920.1040@0.0.1920.1040" timestamp="1687856252285" />
-    <state width="0" height="0" key="GridCell.Tab.2.right" timestamp="1687856252285">
+    <state width="0" height="0" key="GridCell.Tab.2.left/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493658" />
+    <state width="0" height="0" key="GridCell.Tab.2.right" timestamp="1736998493658">
       <screen x="0" y="0" width="1920" height="1040" />
     </state>
-    <state width="0" height="0" key="GridCell.Tab.2.right/0.0.1920.1040@0.0.1920.1040" timestamp="1687856252285" />
-    <state x="644" y="221" key="RollbackChangesDialog" timestamp="1686904469155">
-      <screen x="0" y="0" width="1920" height="1040" />
-    </state>
-    <state x="644" y="221" key="RollbackChangesDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1686904469155" />
-    <state x="552" y="239" key="Vcs.Push.Dialog.v2" timestamp="1687847692563">
-      <screen x="0" y="0" width="1920" height="1040" />
-    </state>
-    <state x="552" y="239" key="Vcs.Push.Dialog.v2/0.0.1920.1040@0.0.1920.1040" timestamp="1687847692563" />
-    <state width="968" height="528" key="XDebugger.FullValuePopup" timestamp="1687851764290">
-      <screen x="0" y="0" width="1920" height="1040" />
-    </state>
-    <state width="968" height="528" key="XDebugger.FullValuePopup/0.0.1920.1040@0.0.1920.1040" timestamp="1687851764290" />
-    <state x="661" y="252" width="866" height="536" key="find.popup" timestamp="1687852785509">
-      <screen x="0" y="0" width="1920" height="1040" />
-    </state>
-    <state x="661" y="252" width="866" height="536" key="find.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1687852785509" />
-    <state x="643" y="306" key="git4idea.merge.GitPullDialog" timestamp="1687846658305">
-      <screen x="0" y="0" width="1920" height="1040" />
-    </state>
-    <state x="643" y="306" key="git4idea.merge.GitPullDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1687846658305" />
-    <state x="726" y="419" key="git4idea.remote.GitConfigureRemotesDialog" timestamp="1687846651571">
-      <screen x="0" y="0" width="1920" height="1040" />
-    </state>
-    <state x="726" y="419" key="git4idea.remote.GitConfigureRemotesDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1687846651570" />
+    <state width="0" height="0" key="GridCell.Tab.2.right/0.0.1920.1040@0.0.1920.1040" timestamp="1736998493658" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
new file mode 100644
index 0000000..6bbbe50
--- /dev/null
+++ b/src/main/resources/application-dev.yml
@@ -0,0 +1,113 @@
+spring:
+    # [可选]上传文件大小限制
+    servlet:
+        multipart:
+            max-file-size: 10MB
+            max-request-size: 100MB
+    # REDIS数据库配置
+    redis:
+        # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1
+        host: 127.0.0.1
+        # [必须修改] 端口号
+        port: 6385
+        # [可选] 数据库 DB
+        database: 8
+        # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
+        password:
+        # [可选] 超时时间
+        timeout: 10000
+        # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置
+        # mysql数据源
+    datasource:
+        type: com.alibaba.druid.pool.DruidDataSource
+        driver-class-name: com.mysql.cj.jdbc.Driver
+        url: jdbc:mysql://10.141.11.7:3308/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowPublicKeyRetrieval=true
+        username: root
+        password: srjw@2023
+        druid:
+            initialSize: 10                       # 连接池初始化连接数
+            maxActive: 200                        # 连接池最大连接数
+            minIdle: 5                            # 连接池最小空闲连接数
+            maxWait: 60000                        # 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所\下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
+            keepAlive: true                       # 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。
+            validationQuery: select 1             # 检测连接是否有效sql,要求是查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
+            testWhileIdle: true                   # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
+            testOnBorrow: false                   # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+            testOnReturn: false                   # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+            poolPreparedStatements: false         # 是否開啟PSCache,並且指定每個連線上PSCache的大小
+            timeBetweenEvictionRunsMillis: 60000  # 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒
+            minEvictableIdleTimeMillis: 300000    # 配置一個連線在池中最小生存的時間,單位是毫秒
+            filters: stat,wall,slf4j             # 配置监控统计拦截的filters,监控统计用的filter:sta, 日志用的filter:log4j, 防御sql注入的filter:wall
+            useGlobalDataSourceStat: true         # 合并多个DruidDataSource的监控数据
+            # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
+            connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=1000
+            #stat-view-servlet.url-pattern: /admin/druid/*
+
+#[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
+server:
+    port: 18085
+
+# 作为28181服务器的配置
+sip:
+    monitor-ip: 0.0.0.0
+    # [必须修改] 本机的IP
+    ip: 10.141.11.11
+    # [可选] 28181服务监听的端口
+    port: 5080
+    # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
+    # 后两位为行业编码,定义参照附录D.3
+    # 3701020049标识山东济南历下区 信息行业接入
+    # [可选]
+    domain: 3602000000
+    # [可选]
+    id: 36020000002000000001
+    # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
+    password: 12345678
+
+#zlm 默认服务器配置
+media:
+    id: your_server_id_srgis
+    # [必须修改] zlm服务器的内网IP
+    ip: 10.141.11.11
+    # [必须修改] zlm服务器的http.port
+    http-port: 8880
+    # [可选] zlm服务器的hook.admin_params=secret
+    secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc
+    # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
+    rtp:
+        # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
+        enable: true
+        # [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性,不然自动配置此属性可能不成功
+        port-range: 30000,30500 # 端口范围
+        # [可选] 国标级联在此范围内选择端口发送媒体流,
+        send-port-range: 30000,30500 # 端口范围
+    # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
+    record-assist-port: 0
+# [可选] 日志配置, 一般不需要改
+logging:
+    config: classpath:logback-spring-local.xml
+user-settings:
+    play-timeout: 30000
+    # 推流直播是否录制
+    record-push-live: false
+    # 国标是否录制
+    record-sip: false
+    # 保存移动位置历史轨迹:true:保留历史数据,false:仅保留最后的位置(默认)
+    save-position-history: true
+
+# 关闭在线文档(生产环境建议关闭)
+springdoc:
+    api-docs:
+        enabled: false
+    swagger-ui:
+        enabled: false
+
+# 手台,执法记录仪udp接收端口
+syscfg:
+    udpReceivePort: 7687
+
+# 版本信息, 不需修改
+version:
+    version: "@project.version@"
+    description: "@project.description@"
+    artifact-id: "@project.artifactId@"
diff --git a/src/main/resources/application-docker.yml b/src/main/resources/application-docker.yml
new file mode 100644
index 0000000..a722435
--- /dev/null
+++ b/src/main/resources/application-docker.yml
@@ -0,0 +1,80 @@
+spring:
+    # 上传文件大小限制
+    servlet:
+        multipart:
+            max-file-size: 10MB
+            max-request-size: 100MB
+    # REDIS数据库配置
+    redis:
+        # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1
+        host: ${REDIS_HOST:127.0.0.1}
+        # [必须修改] 端口号
+        port: ${REDIS_PORT:6379}
+        # [可选] 数据库 DB
+        database: ${REDIS_DB:6}
+        # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
+        password: ${REDIS_PWD:root}
+        # [可选] 超时时间
+        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.alibaba.druid.pool.DruidDataSource
+         driver-class-name: com.mysql.cj.jdbc.Driver
+
+# [可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
+server:
+    port: 18080
+
+# 作为28181服务器的配置
+sip:
+    # [必须修改] 本机的IP
+    ip: ${WVP_HOST:127.0.0.1}
+    # [可选] 28181服务监听的端口
+    port: ${WVP_PORT:5060}
+    # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
+    # 后两位为行业编码,定义参照附录D.3
+    # 3701020049标识山东济南历下区 信息行业接入
+    # [可选]
+    domain: ${WVP_DOMAIN:4401020049}
+    # [可选]
+    id: ${WVP_ID:44010200492000000001}
+    # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
+    password: ${WVP_PWD:admin123}
+
+#zlm 默认服务器配置
+media:
+    # [必须修改] zlm服务器唯一id,用于触发hook时区别是哪台服务器,general.mediaServerId
+    id:
+    # [必须修改] zlm服务器的内网IP
+    ip: ${ZLM_HOST:127.0.0.1}
+    # [必须修改] zlm服务器的http.port
+    http-port: ${ZLM_PORT:80}
+    # [可选] zlm服务器的hook.admin_params=secret
+    secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc
+    # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
+    rtp:
+        # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
+        enable: true
+        # [可选] 在此范围内选择端口用于媒体流传输,
+        port-range: 30000,30500 # 端口范围
+        # [可选] 国标级联在此范围内选择端口发送媒体流,
+        send-port-range: 30000,30500 # 端口范围
+    # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
+    record-assist-port: 18081
+    sdp-ip: ${sip.ip}
+    stream-ip: ${sip.ip}
+# [可选] 日志配置, 一般不需要改
+# [可选] 日志配置, 一般不需要改
+logging:
+    config: classpath:logback-spring-local.xml
+
+# [根据业务需求配置]
+user-settings:
+    # 推流直播是否录制
+    record-push-live: true
+    auto-apply-play: true
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
new file mode 100644
index 0000000..6bbbe50
--- /dev/null
+++ b/src/main/resources/application-prod.yml
@@ -0,0 +1,113 @@
+spring:
+    # [可选]上传文件大小限制
+    servlet:
+        multipart:
+            max-file-size: 10MB
+            max-request-size: 100MB
+    # REDIS数据库配置
+    redis:
+        # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1
+        host: 127.0.0.1
+        # [必须修改] 端口号
+        port: 6385
+        # [可选] 数据库 DB
+        database: 8
+        # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
+        password:
+        # [可选] 超时时间
+        timeout: 10000
+        # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置
+        # mysql数据源
+    datasource:
+        type: com.alibaba.druid.pool.DruidDataSource
+        driver-class-name: com.mysql.cj.jdbc.Driver
+        url: jdbc:mysql://10.141.11.7:3308/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowPublicKeyRetrieval=true
+        username: root
+        password: srjw@2023
+        druid:
+            initialSize: 10                       # 连接池初始化连接数
+            maxActive: 200                        # 连接池最大连接数
+            minIdle: 5                            # 连接池最小空闲连接数
+            maxWait: 60000                        # 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所\下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
+            keepAlive: true                       # 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。
+            validationQuery: select 1             # 检测连接是否有效sql,要求是查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
+            testWhileIdle: true                   # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
+            testOnBorrow: false                   # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+            testOnReturn: false                   # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+            poolPreparedStatements: false         # 是否開啟PSCache,並且指定每個連線上PSCache的大小
+            timeBetweenEvictionRunsMillis: 60000  # 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒
+            minEvictableIdleTimeMillis: 300000    # 配置一個連線在池中最小生存的時間,單位是毫秒
+            filters: stat,wall,slf4j             # 配置监控统计拦截的filters,监控统计用的filter:sta, 日志用的filter:log4j, 防御sql注入的filter:wall
+            useGlobalDataSourceStat: true         # 合并多个DruidDataSource的监控数据
+            # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
+            connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=1000
+            #stat-view-servlet.url-pattern: /admin/druid/*
+
+#[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
+server:
+    port: 18085
+
+# 作为28181服务器的配置
+sip:
+    monitor-ip: 0.0.0.0
+    # [必须修改] 本机的IP
+    ip: 10.141.11.11
+    # [可选] 28181服务监听的端口
+    port: 5080
+    # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
+    # 后两位为行业编码,定义参照附录D.3
+    # 3701020049标识山东济南历下区 信息行业接入
+    # [可选]
+    domain: 3602000000
+    # [可选]
+    id: 36020000002000000001
+    # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
+    password: 12345678
+
+#zlm 默认服务器配置
+media:
+    id: your_server_id_srgis
+    # [必须修改] zlm服务器的内网IP
+    ip: 10.141.11.11
+    # [必须修改] zlm服务器的http.port
+    http-port: 8880
+    # [可选] zlm服务器的hook.admin_params=secret
+    secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc
+    # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
+    rtp:
+        # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
+        enable: true
+        # [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性,不然自动配置此属性可能不成功
+        port-range: 30000,30500 # 端口范围
+        # [可选] 国标级联在此范围内选择端口发送媒体流,
+        send-port-range: 30000,30500 # 端口范围
+    # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
+    record-assist-port: 0
+# [可选] 日志配置, 一般不需要改
+logging:
+    config: classpath:logback-spring-local.xml
+user-settings:
+    play-timeout: 30000
+    # 推流直播是否录制
+    record-push-live: false
+    # 国标是否录制
+    record-sip: false
+    # 保存移动位置历史轨迹:true:保留历史数据,false:仅保留最后的位置(默认)
+    save-position-history: true
+
+# 关闭在线文档(生产环境建议关闭)
+springdoc:
+    api-docs:
+        enabled: false
+    swagger-ui:
+        enabled: false
+
+# 手台,执法记录仪udp接收端口
+syscfg:
+    udpReceivePort: 7687
+
+# 版本信息, 不需修改
+version:
+    version: "@project.version@"
+    description: "@project.description@"
+    artifact-id: "@project.artifactId@"
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
new file mode 100644
index 0000000..62ac9d2
--- /dev/null
+++ b/src/main/resources/application-test.yml
@@ -0,0 +1,116 @@
+spring:
+    # [可选]上传文件大小限制
+    servlet:
+        multipart:
+            max-file-size: 10MB
+            max-request-size: 100MB
+    # REDIS数据库配置
+    redis:
+        # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1
+        host: 127.0.0.1
+        # [必须修改] 端口号
+        port: 6379
+        # [可选] 数据库 DB
+        database: 6
+        # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
+        password:
+        # [可选] 超时时间
+        timeout: 10000
+        # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置
+        # mysql数据源
+    datasource:
+        type: com.alibaba.druid.pool.DruidDataSource
+        driver-class-name: com.mysql.cj.jdbc.Driver
+#        url: jdbc:mysql://106.225.193.35:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowPublicKeyRetrieval=true
+#        username: root
+#        password: HCyj@2022
+        url: jdbc:mysql://139.196.74.78:3306/videos?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+        username: root
+        password: jxpskj_2018
+        druid:
+            initialSize: 10                       # 连接池初始化连接数
+            maxActive: 200                        # 连接池最大连接数
+            minIdle: 5                            # 连接池最小空闲连接数
+            maxWait: 60000                        # 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所\下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
+            keepAlive: true                       # 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。
+            validationQuery: select 1             # 检测连接是否有效sql,要求是查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
+            testWhileIdle: true                   # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
+            testOnBorrow: false                   # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+            testOnReturn: false                   # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+            poolPreparedStatements: false         # 是否開啟PSCache,並且指定每個連線上PSCache的大小
+            timeBetweenEvictionRunsMillis: 60000  # 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒
+            minEvictableIdleTimeMillis: 300000    # 配置一個連線在池中最小生存的時間,單位是毫秒
+            filters: stat,wall,slf4j             # 配置监控统计拦截的filters,监控统计用的filter:sta, 日志用的filter:log4j, 防御sql注入的filter:wall
+            useGlobalDataSourceStat: true         # 合并多个DruidDataSource的监控数据
+            # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
+            connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=1000
+            #stat-view-servlet.url-pattern: /admin/druid/*
+
+#[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
+server:
+    port: 18085
+
+# 作为28181服务器的配置
+sip:
+    monitor-ip: 0.0.0.0
+    # [必须修改] 本机的IP
+    ip: 192.168.1.170
+    # [可选] 28181服务监听的端口
+    port: 5060
+    # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
+    # 后两位为行业编码,定义参照附录D.3
+    # 3701020049标识山东济南历下区 信息行业接入
+    # [可选]
+    domain: 3602000000
+    # [可选]
+    id: 36020000002000000001
+    # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
+    password:
+
+#zlm 默认服务器配置
+media:
+    id: srgis
+    # [必须修改] zlm服务器的内网IP
+    ip: 192.168.0.160
+    # [必须修改] zlm服务器的http.port
+    http-port: 8880
+    # [可选] zlm服务器的hook.admin_params=secret
+    secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc
+    # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
+    rtp:
+        # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
+        enable: true
+        # [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性,不然自动配置此属性可能不成功
+        port-range: 30000,30500 # 端口范围
+        # [可选] 国标级联在此范围内选择端口发送媒体流,
+        send-port-range: 30000,30500 # 端口范围
+    # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
+    record-assist-port: 0
+# [可选] 日志配置, 一般不需要改
+logging:
+    config: classpath:logback-spring-local.xml
+user-settings:
+    play-timeout: 30000
+    # 推流直播是否录制
+    record-push-live: false
+    # 国标是否录制
+    record-sip: false
+    # 保存移动位置历史轨迹:true:保留历史数据,false:仅保留最后的位置(默认)
+    save-position-history: true
+
+# 关闭在线文档(生产环境建议关闭)
+springdoc:
+    api-docs:
+        enabled: false
+    swagger-ui:
+        enabled: false
+
+# 手台,执法记录仪udp接收端口
+syscfg:
+    udpReceivePort: 7687
+
+# 版本信息, 不需修改
+version:
+    version: "@project.version@"
+    description: "@project.description@"
+    artifact-id: "@project.artifactId@"

--
Gitblit v1.9.3