You've already forked VptPassiveAdapter
Initial
This commit is contained in:
35
core/task.go
Normal file
35
core/task.go
Normal file
@ -0,0 +1,35 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"ZhenTuLocalPassiveAdapter/config"
|
||||
"ZhenTuLocalPassiveAdapter/dto"
|
||||
"ZhenTuLocalPassiveAdapter/fs"
|
||||
"ZhenTuLocalPassiveAdapter/util"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func HandleTask(device config.DeviceMapping, task dto.Task) (*dto.FileObject, error) {
|
||||
adapter := fs.GetAdapter()
|
||||
fileList, err := adapter.GetFileList(device.Name + "/" + task.StartTime.Format("2006"+config.Config.FileName.DateSeparator+"01"+config.Config.FileName.DateSeparator+"02"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
files := util.FilterAndSortFiles(fileList, task.StartTime, task.EndTime)
|
||||
if len(files) == 0 {
|
||||
return nil, fmt.Errorf("没有找到文件")
|
||||
}
|
||||
constructTask, err := util.CheckFileCoverageAndConstructTask(files, task.StartTime, task.EndTime, task)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ok := util.RunFfmpegTask(constructTask)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("ffmpeg任务执行失败")
|
||||
}
|
||||
return &dto.FileObject{
|
||||
CreateTime: task.EndTime,
|
||||
EndTime: task.EndTime,
|
||||
NeedDownload: true,
|
||||
URL: constructTask.OutputFile,
|
||||
}, nil
|
||||
}
|
Reference in New Issue
Block a user