Merge branch '2.6.9' into wvp-28181-2.0
# Conflicts:
# pom.xml
| | |
| | | <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> |
| | |
| | | /** |
| | | * 添加合并任务 |
| | | */ |
| | | 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); |
| | | |
| | | |
| | | /** |
| | |
| | | |
| | | 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; |
| | |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | @DS("share") |
| | | public class CloudRecordServiceImpl implements ICloudRecordService { |
| | | |
| | | private final static Logger logger = LoggerFactory.getLogger(CloudRecordServiceImpl.class); |
| | |
| | | } |
| | | |
| | | @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; |
| | |
| | | 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(), "未检索到视频文件"); |
| | | } |
| | |
| | | @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(); |
| | |
| | | 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 |
| | |
| | | # 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不需要 |
| | |
| | | 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 |
| | |
| | | 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: |