mirror of
https://gitee.com/pan648540858/wvp-GB28181-pro.git
synced 2026-05-24 05:57:49 +08:00
增加云端录像手动删除
This commit is contained in:
parent
65cd397a9c
commit
45b3d9322c
@ -1,6 +1,7 @@
|
|||||||
package com.genersoft.iot.vmp.conf;
|
package com.genersoft.iot.vmp.conf;
|
||||||
|
|
||||||
|
|
||||||
|
import com.genersoft.iot.vmp.conf.exception.ControllerException;
|
||||||
import com.genersoft.iot.vmp.media.bean.MediaServer;
|
import com.genersoft.iot.vmp.media.bean.MediaServer;
|
||||||
import com.genersoft.iot.vmp.media.service.IMediaServerService;
|
import com.genersoft.iot.vmp.media.service.IMediaServerService;
|
||||||
import com.genersoft.iot.vmp.service.bean.CloudRecordItem;
|
import com.genersoft.iot.vmp.service.bean.CloudRecordItem;
|
||||||
@ -59,11 +60,14 @@ public class CloudRecordTimer {
|
|||||||
// TODO 后续可以删除空了的过期日期文件夹
|
// TODO 后续可以删除空了的过期日期文件夹
|
||||||
for (CloudRecordItem cloudRecordItem : cloudRecordItemList) {
|
for (CloudRecordItem cloudRecordItem : cloudRecordItemList) {
|
||||||
String date = new File(cloudRecordItem.getFilePath()).getParentFile().getName();
|
String date = new File(cloudRecordItem.getFilePath()).getParentFile().getName();
|
||||||
boolean deleteResult = mediaServerService.deleteRecordDirectory(mediaServerItem, cloudRecordItem.getApp(),
|
try {
|
||||||
cloudRecordItem.getStream(), date, cloudRecordItem.getFileName());
|
boolean deleteResult = mediaServerService.deleteRecordDirectory(mediaServerItem, cloudRecordItem.getApp(),
|
||||||
if (deleteResult) {
|
cloudRecordItem.getStream(), date, cloudRecordItem.getFileName());
|
||||||
log.warn("[录像文件定时清理] 删除磁盘文件成功: {}", cloudRecordItem.getFilePath());
|
if (deleteResult) {
|
||||||
}
|
log.warn("[录像文件定时清理] 删除磁盘文件成功: {}", cloudRecordItem.getFilePath());
|
||||||
|
}
|
||||||
|
}catch (ControllerException ignored) {}
|
||||||
|
|
||||||
}
|
}
|
||||||
result += cloudRecordServiceMapper.deleteList(cloudRecordItemList);
|
result += cloudRecordServiceMapper.deleteList(cloudRecordItemList);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -169,7 +169,7 @@ public class ZLMMediaNodeServerService implements IMediaNodeServerService {
|
|||||||
return true;
|
return true;
|
||||||
}else {
|
}else {
|
||||||
log.info("[zlm-deleteRecordDirectory] 删除磁盘文件错误, server: {} {}:{}->{}/{}, 结果: {}", mediaServer.getId(), app, stream, date, fileName, jsonObject);
|
log.info("[zlm-deleteRecordDirectory] 删除磁盘文件错误, server: {} {}:{}->{}/{}, 结果: {}", mediaServer.getId(), app, stream, date, fileName, jsonObject);
|
||||||
return false;
|
throw new ControllerException(ErrorCode.ERROR100.getCode(), "删除磁盘文件失败");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -344,18 +344,31 @@ public class CloudRecordServiceImpl implements ICloudRecordService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<CloudRecordItem> cloudRecordItemIdListForDelete = new ArrayList<>();
|
List<CloudRecordItem> cloudRecordItemIdListForDelete = new ArrayList<>();
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
for (CloudRecordItem cloudRecordItem : cloudRecordItemList) {
|
for (CloudRecordItem cloudRecordItem : cloudRecordItemList) {
|
||||||
String date = new File(cloudRecordItem.getFilePath()).getParentFile().getName();
|
String date = new File(cloudRecordItem.getFilePath()).getParentFile().getName();
|
||||||
MediaServer mediaServer = mediaServerService.getOne(cloudRecordItem.getMediaServerId());
|
MediaServer mediaServer = mediaServerService.getOne(cloudRecordItem.getMediaServerId());
|
||||||
boolean deleteResult = mediaServerService.deleteRecordDirectory(mediaServer, cloudRecordItem.getApp(),
|
try {
|
||||||
cloudRecordItem.getStream(), date, cloudRecordItem.getFileName());
|
boolean deleteResult = mediaServerService.deleteRecordDirectory(mediaServer, cloudRecordItem.getApp(),
|
||||||
if (deleteResult) {
|
cloudRecordItem.getStream(), date, cloudRecordItem.getFileName());
|
||||||
log.warn("[录像文件定时清理] 删除磁盘文件成功: {}", cloudRecordItem.getFilePath());
|
if (deleteResult) {
|
||||||
cloudRecordItemIdListForDelete.add(cloudRecordItem);
|
log.warn("[录像文件定时清理] 删除磁盘文件成功: {}", cloudRecordItem.getFilePath());
|
||||||
|
cloudRecordItemIdListForDelete.add(cloudRecordItem);
|
||||||
|
}
|
||||||
|
}catch (ControllerException e) {
|
||||||
|
if (stringBuilder.length() > 0) {
|
||||||
|
stringBuilder.append(", ");
|
||||||
|
}
|
||||||
|
stringBuilder.append(cloudRecordItem.getFileName());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (!cloudRecordItemIdListForDelete.isEmpty()) {
|
if (!cloudRecordItemIdListForDelete.isEmpty()) {
|
||||||
cloudRecordServiceMapper.deleteList(cloudRecordItemIdListForDelete);
|
cloudRecordServiceMapper.deleteList(cloudRecordItemIdListForDelete);
|
||||||
}
|
}
|
||||||
|
if (stringBuilder.length() > 0) {
|
||||||
|
stringBuilder.append(" 删除失败");
|
||||||
|
throw new ControllerException(ErrorCode.ERROR100.getCode(), stringBuilder.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user