Commit c98ef23b98573d622f6637bb181bfebc8172b118

Authored by 648540858
1 parent c1bc45fe

修复定时删除过期录像文件时,收藏文件被删除的问题

src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java
... ... @@ -41,8 +41,8 @@ public class CloudRecordTimer {
41 41 /**
42 42 * 定时查询待删除的录像文件
43 43 */
44   -// @Scheduled(fixedRate = 5000) //每五秒执行一次,方便测试
45   - @Scheduled(cron = "0 0 0 * * ?") //每天的0点执行
  44 + @Scheduled(fixedRate = 5000) //每五秒执行一次,方便测试
  45 +// @Scheduled(cron = "0 0 0 * * ?") //每天的0点执行
46 46 public void execute(){
47 47 logger.info("[录像文件定时清理] 开始清理过期录像文件");
48 48 // 获取配置了assist的流媒体节点
... ... @@ -56,7 +56,7 @@ public class CloudRecordTimer {
56 56 Calendar lastCalendar = Calendar.getInstance();
57 57 if (mediaServerItem.getRecordDay() > 0) {
58 58 lastCalendar.setTime(new Date());
59   - // 获取保存的最后截至日期,因为每个节点都有一个日期,也就是支持每个节点设置不同的保存日期,
  59 + // 获取保存的最后截至日[期,因为每个节点都有一个日期,也就是支持每个节点设置不同的保存日期,
60 60 lastCalendar.add(Calendar.DAY_OF_MONTH, -mediaServerItem.getRecordDay());
61 61 Long lastDate = lastCalendar.getTimeInMillis();
62 62  
... ...
src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
... ... @@ -133,6 +133,9 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
133 133 JSONArray dataArray = jsonObject.getJSONArray("data");
134 134 JSONObject mediaServerConfig = dataArray.getJSONObject(0);
135 135 String ffmpegCmd = mediaServerConfig.getString(param.getFfmpegCmdKey());
  136 + if (ffmpegCmd == null) {
  137 + throw new ControllerException(ErrorCode.ERROR100.getCode(), "ffmpeg拉流代理无法获取ffmpeg cmd");
  138 + }
136 139 String schema = getSchemaFromFFmpegCmd(ffmpegCmd);
137 140 if (schema == null) {
138 141 throw new ControllerException(ErrorCode.ERROR100.getCode(), "ffmpeg拉流代理无法从ffmpeg cmd中获取到输出格式");
... ...
src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
... ... @@ -91,7 +91,7 @@ public interface CloudRecordServiceMapper {
91 91 @Select(" <script>" +
92 92 "select *" +
93 93 " from wvp_cloud_record " +
94   - " where end_time &lt;= #{endTimeStamp} and media_server_id = #{mediaServerId} " +
  94 + " where collect = false and end_time &lt;= #{endTimeStamp} and media_server_id = #{mediaServerId} " +
95 95 " </script>")
96 96 List<CloudRecordItem> queryRecordListForDelete(@Param("endTimeStamp")Long endTimeStamp, String mediaServerId);
97 97  
... ...