648540858
2023-11-24 ffc8a530f30ba5d200dc885aef7404c5cbab282e
修复定时录像删除
4个文件已修改
15 ■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/all-application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java
@@ -41,12 +41,12 @@
    /**
     * 定时查询待删除的录像文件
     */
//    @Scheduled(fixedRate = 5000) //每五秒执行一次,方便测试
//    @Scheduled(fixedRate = 10000) //每五秒执行一次,方便测试
    @Scheduled(cron = "0 0 0 * * ?")   //每天的0点执行
    public void execute(){
        logger.info("[录像文件定时清理] 开始清理过期录像文件");
        // 获取配置了assist的流媒体节点
        List<MediaServerItem> mediaServerItemList =  mediaServerService.getAllWithAssistPort();
        List<MediaServerItem> mediaServerItemList =  mediaServerService.getAllOnline();
        if (mediaServerItemList.isEmpty()) {
            return;
        }
@@ -70,8 +70,7 @@
                    String date = new File(cloudRecordItem.getFilePath()).getParentFile().getName();
                    JSONObject jsonObject = zlmresTfulUtils.deleteRecordDirectory(mediaServerItem, cloudRecordItem.getApp(),
                            cloudRecordItem.getStream(), date, cloudRecordItem.getFileName());
                    if (jsonObject.getInteger("code") == 0) {
                    }else {
                    if (jsonObject.getInteger("code") != 0) {
                        logger.warn("[录像文件定时清理] 删除磁盘文件错误: {}:{}", cloudRecordItem.getFilePath(), jsonObject);
                    }
                }
src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java
@@ -81,8 +81,8 @@
    @Value("${media.record-assist-port:0}")
    private Integer recordAssistPort = 0;
    @Value("${media.record-date:7}")
    private Integer recordDay = 7;
    @Value("${media.record-day:7}")
    private Integer recordDay;
    @Value("${media.record-path}")
    private String recordPath;
src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
@@ -101,7 +101,7 @@
    int changeCollectById(@Param("collect") boolean collect, @Param("recordId") Integer recordId);
    @Delete(" <script>" +
            "delete from wvp_cloud_record where media_server_id=#{mediaServerId} and id in " +
            "delete from wvp_cloud_record where id in " +
            " <foreach collection='cloudRecordItemIdList'  item='item'  open='(' separator=',' close=')' > #{item.id}</foreach>" +
            " </script>")
    int deleteList(List<CloudRecordItem> cloudRecordItemIdList);
src/main/resources/all-application.yml
@@ -155,7 +155,7 @@
    # 录像路径
    record-path: ./www/record
    # 录像保存时长
    record-date: 7
    record-day: 7
    # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
    rtp:
        # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输