videoplayer/service/videoService.go

133 lines
3.4 KiB
Go
Raw Normal View History

package service
import (
"strings"
"videoplayer/dao"
"videoplayer/proto"
)
func GetVideo(id, auth_id int) dao.Video {
return dao.FindVideoByID(id, auth_id)
}
func GetWillDelVideoList(id int) []dao.Video {
return dao.FindWillDelVideoList(id)
}
func GetVideoList(auth_id int, start, end, hour string) []dao.Video {
if start == "" {
return dao.FindVideoListsByAuthID(auth_id)
} else {
//s, err := time.Parse("2006/1/02 15:04:05", start)
//if err != nil {
// s, err = time.Parse("2006/01/02 15:04:05", start)
//}
//e, err2 := time.Parse("2006/1/02 15:04:05", end)
//if err2 != nil {
// e, err2 = time.Parse("2006/01/02 15:04:05", end)
//}
//if s.After(e) || err != nil || err2 != nil {
// fmt.Println(err)
// fmt.Println(err2)
// return []dao.Video{}
//}
start = strings.Replace(start, "/", "-", -1)
end = strings.Replace(end, "/", "-", -1)
start = strings.Replace(start, " ", " ", -1)
end = strings.Replace(end, " ", " ", -1)
start = start[0:5] + "0" + start[5:]
end = end[0:5] + "0" + end[5:]
if hour != "33" {
ss := strings.Split(start, " ")
ss1 := strings.Split(ss[1], ":")
start = ss[0] + " " + hour + ":" + ss1[1] + ":" + ss1[2]
es := strings.Split(end, " ")
es1 := strings.Split(es[1], ":")
end = es[0] + " " + hour + ":" + es1[1] + ":" + es1[2]
}
return dao.FindVideoListByTime(auth_id, start, end)
}
}
2024-05-29 16:57:26 +08:00
func DelayVideo(id, auth_id, day int) int {
return dao.DelayVideo(id, auth_id, day)
}
2024-05-29 16:57:26 +08:00
func DelayAllVideo(id, day int) int {
return dao.DelayAllVideo(id, day)
}
func CreateVideo(videoPath, videoName string, cameraID, authID, human, isDelete int, createTime, endTime, deleteTime string, fileSize int) uint {
return dao.CreateVideo(videoPath, videoName, cameraID, authID, human, isDelete, createTime, endTime, deleteTime, fileSize)
}
func DeleteVideo(id, user int) int {
return dao.DeleteVideoByID(id, user)
}
2024-06-24 17:58:22 +08:00
func QuashVideo(user int, data map[string]interface{}) (int, string) {
var res int
var msg string
switch data["method"] {
case "delete":
case "delay":
if data["option"] == "all" {
2024-06-25 10:48:09 +08:00
if dao.QuashAllDelay(user, data["delay_day"].(int)) == 0 {
res = proto.RevokeDelayOperationFailed
2024-06-24 17:58:22 +08:00
msg = "quash all video delay error"
} else {
res = proto.SuccessCode
2024-06-24 17:58:22 +08:00
msg = "success"
}
} else if data["option"] == "one" {
2024-06-25 10:48:09 +08:00
if dao.QuashOneDelay(user, data["id"].(int), data["delay_day"].(int)) == 0 {
res = proto.RevokeDelayOperationFailed
2024-06-24 17:58:22 +08:00
msg = "quash one video error"
} else {
res = proto.SuccessCode
2024-06-24 17:58:22 +08:00
msg = "success"
}
} else {
res = proto.RevokeOperationFailed
2024-06-24 17:58:22 +08:00
msg = "option error,no such delay option"
}
default:
res = proto.RevokeOperationFailed
2024-06-24 17:58:22 +08:00
msg = "method error,no such method"
}
return res, msg
}
func UpdateVideo(videoPath, videoName string, cameraID, videoID, authID, human, isDelete int, createTime, endTime string, fileSize int) bool {
video := GetVideo(videoID, authID)
if video.ID == 0 {
return false
}
if videoPath == "" {
videoPath = video.VideoPath
}
if videoName == "" {
videoName = video.VideoName
}
if cameraID == 0 {
cameraID = video.CameraID
}
if human == 0 {
human = video.Human
}
if isDelete == 0 {
isDelete = video.IsDelete
}
if createTime == "" {
createTime = video.CreateTime
}
if endTime == "" {
endTime = video.EndTime
}
if fileSize == 0 {
fileSize = video.FileSize
}
return dao.UpdateVideo(videoPath, videoName, cameraID, videoID, authID, human, isDelete, createTime, endTime, fileSize)
}