From 0371f5a96e8be9067b796c7b93ecf4d3bbdb99dc Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 15 一月 2024 15:31:20 +0800
Subject: [PATCH] 修复国标级联全部添加与全部删除
---
src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java | 33 +++++++++++++++++++++------------
1 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java b/src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java
index 9424750..f98977f 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/CloudRecordTimer.java
@@ -3,8 +3,10 @@
import com.alibaba.fastjson2.JSONObject;
import com.genersoft.iot.vmp.media.zlm.AssistRESTfulUtils;
+import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
import com.genersoft.iot.vmp.service.IMediaServerService;
+import com.genersoft.iot.vmp.service.bean.CloudRecordItem;
import com.genersoft.iot.vmp.storager.dao.CloudRecordServiceMapper;
import com.genersoft.iot.vmp.vmanager.cloudRecord.CloudRecordController;
import org.slf4j.Logger;
@@ -13,6 +15,7 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import java.io.File;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -33,16 +36,17 @@
private CloudRecordServiceMapper cloudRecordServiceMapper;
@Autowired
- private AssistRESTfulUtils assistRESTfulUtils;
+ private ZLMRESTfulUtils zlmresTfulUtils;
/**
* 瀹氭椂鏌ヨ寰呭垹闄ょ殑褰曞儚鏂囦欢
*/
+// @Scheduled(fixedRate = 10000) //姣忎簲绉掓墽琛屼竴娆★紝鏂逛究娴嬭瘯
@Scheduled(cron = "0 0 0 * * ?") //姣忓ぉ鐨�0鐐规墽琛�
public void execute(){
logger.info("[褰曞儚鏂囦欢瀹氭椂娓呯悊] 寮�濮嬫竻鐞嗚繃鏈熷綍鍍忔枃浠�");
// 鑾峰彇閰嶇疆浜哸ssist鐨勬祦濯掍綋鑺傜偣
- List<MediaServerItem> mediaServerItemList = mediaServerService.getAllWithAssistPort();
+ List<MediaServerItem> mediaServerItemList = mediaServerService.getAllOnline();
if (mediaServerItemList.isEmpty()) {
return;
}
@@ -50,23 +54,28 @@
for (MediaServerItem mediaServerItem : mediaServerItemList) {
Calendar lastCalendar = Calendar.getInstance();
- if (mediaServerItem.getRecordDate() > 0) {
+ if (mediaServerItem.getRecordDay() > 0) {
lastCalendar.setTime(new Date());
- // 鑾峰彇淇濆瓨鐨勬渶鍚庢埅鑷虫棩鏈燂紝鍥犱负姣忎釜鑺傜偣閮芥湁涓�涓棩鏈燂紝涔熷氨鏄敮鎸佹瘡涓妭鐐硅缃笉鍚岀殑淇濆瓨鏃ユ湡锛�
- lastCalendar.add(Calendar.DAY_OF_MONTH, -mediaServerItem.getRecordDate());
+ // 鑾峰彇淇濆瓨鐨勬渶鍚庢埅鑷虫棩[鏈燂紝鍥犱负姣忎釜鑺傜偣閮芥湁涓�涓棩鏈燂紝涔熷氨鏄敮鎸佹瘡涓妭鐐硅缃笉鍚岀殑淇濆瓨鏃ユ湡锛�
+ lastCalendar.add(Calendar.DAY_OF_MONTH, -mediaServerItem.getRecordDay());
Long lastDate = lastCalendar.getTimeInMillis();
+
// 鑾峰彇鍒版埅鑷虫棩鏈熶箣鍓嶇殑褰曞儚鏂囦欢鍒楄〃锛屾枃浠跺垪琛ㄦ弧瓒虫湭琚敹钘忓拰淇濇寔鐨勩�傝繖涓や釜瀛楁鐩墠鍏辫兘涓�鑷达紝
// 涓烘垜鑷繁涓氬姟绯荤粺鐩稿叧鐨勪唬鐮侊紝澶у浣跨敤鐨勬椂鍊欑洿鎺ヤ娇鐢ㄦ敹钘忥紙collect锛夎繖涓�涓被鍨嬪嵆鍙�
- List<String> filePathList = cloudRecordServiceMapper.queryRecordFilePathListForDelete(lastDate, mediaServerItem.getId());
- if (filePathList.isEmpty()) {
+ List<CloudRecordItem> cloudRecordItemList = cloudRecordServiceMapper.queryRecordListForDelete(lastDate, mediaServerItem.getId());
+ if (cloudRecordItemList.isEmpty()) {
continue;
}
- // 鍏堣皟鐢╝ssist鍒犻櫎纾佺洏鏂囦欢锛屽垹闄ゆ垚鍔熷悗鍐嶅垹闄ゆ暟鎹簱璁板綍
- JSONObject jsonObject = assistRESTfulUtils.deleteFiles(mediaServerItem, filePathList);
- if (jsonObject != null && jsonObject.getInteger("code") == 0 && jsonObject.getInteger("data") > 0) {
- result += jsonObject.getInteger("data");
- cloudRecordServiceMapper.deleteByFileList(filePathList, mediaServerItem.getId());
+ // TODO 鍚庣画鍙互鍒犻櫎绌轰簡鐨勮繃鏈熸棩鏈熸枃浠跺す
+ for (CloudRecordItem cloudRecordItem : cloudRecordItemList) {
+ 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) {
+ logger.warn("[褰曞儚鏂囦欢瀹氭椂娓呯悊] 鍒犻櫎纾佺洏鏂囦欢閿欒锛� {}:{}", cloudRecordItem.getFilePath(), jsonObject);
+ }
}
+ result += cloudRecordServiceMapper.deleteList(cloudRecordItemList);
}
}
logger.info("[褰曞儚鏂囦欢瀹氭椂娓呯悊] 鍏辨竻鐞唟}涓繃鏈熷綍鍍忔枃浠�", result);
--
Gitblit v1.8.0