From fcf1e28fbd4dc1cca2f63bb569a572c05b92ba6b Mon Sep 17 00:00:00 2001
From: Jerry Yan <792602257@qq.com>
Date: Sat, 8 Feb 2025 10:12:51 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DdiffMs=EF=BC=8C=E5=92=8Coffse?=
 =?UTF-8?q?t=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 dto/file.go         | 5 +----
 util/ffmpeg.go      | 6 ------
 util/file_filter.go | 3 ++-
 3 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/dto/file.go b/dto/file.go
index ee12bb4..217feb8 100644
--- a/dto/file.go
+++ b/dto/file.go
@@ -7,10 +7,7 @@ type File struct {
 	Url       string    `json:"url"`
 	Path      string    `json:"path"`
 	Name      string    `json:"name"`
+	DiffMs    int64     `json:"diffMs"`
 	StartTime time.Time `json:"startTime"`
 	EndTime   time.Time `json:"endTime"`
 }
-
-func (f *File) GetDiffMs() int64 {
-	return f.EndTime.Sub(f.StartTime).Milliseconds()
-}
diff --git a/util/ffmpeg.go b/util/ffmpeg.go
index 15d8538..c66286a 100644
--- a/util/ffmpeg.go
+++ b/util/ffmpeg.go
@@ -1,7 +1,6 @@
 package util
 
 import (
-	"ZhenTuLocalPassiveAdapter/config"
 	"ZhenTuLocalPassiveAdapter/dto"
 	"bytes"
 	"fmt"
@@ -142,11 +141,6 @@ func CheckFileCoverageAndConstructTask(fileList []dto.File, beginDt, endDt time.
 		OutputFile: os.TempDir() + "/" + task.TaskID + ".mp4",
 	}
 
-	if ffmpegTask.Offset > (config.Config.Record.Duration) {
-		log.Printf("分析FFMPEG任务失败:ID:【%s】,文件片段:【%s】,无法完整覆盖时间点【%s】", task.TaskID, fileList[len(fileList)-1].Name, endDt)
-		return nil, fmt.Errorf("无法完整覆盖时间点")
-	}
-
 	return ffmpegTask, nil
 }
 
diff --git a/util/file_filter.go b/util/file_filter.go
index 91b2aa9..2b89ae8 100644
--- a/util/file_filter.go
+++ b/util/file_filter.go
@@ -13,6 +13,7 @@ func FilterAndSortFiles(fileList []dto.File, beginDt, endDt time.Time) []dto.Fil
 		fileStartTime := file.StartTime
 		nextFileStartTime := file.EndTime
 
+		file.DiffMs = fileStartTime.Sub(beginDt).Milliseconds()
 		// 如果当前文件还没有开始
 		if beginDt.After(fileStartTime) {
 			// 没有下一个文件的情况下,就是最后一个文件
@@ -34,7 +35,7 @@ func FilterAndSortFiles(fileList []dto.File, beginDt, endDt time.Time) []dto.Fil
 
 	// 按照 GetDiffMs 的值降序排序
 	sort.Slice(filteredFiles, func(i, j int) bool {
-		return filteredFiles[i].GetDiffMs() > filteredFiles[j].GetDiffMs()
+		return filteredFiles[i].DiffMs > filteredFiles[j].DiffMs
 	})
 
 	return filteredFiles