|
|
|
@ -3,6 +3,7 @@ package dao
|
|
|
|
import (
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"fmt"
|
|
|
|
"gorm.io/gorm"
|
|
|
|
"gorm.io/gorm"
|
|
|
|
|
|
|
|
"videoplayer/proto"
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
type Video struct {
|
|
|
|
type Video struct {
|
|
|
|
@ -27,19 +28,35 @@ func FindWillDelVideoList(id int) []Video {
|
|
|
|
|
|
|
|
|
|
|
|
func CreateVideo(videoPath, videoName string, cameraID, authID, human, isDelete int, createTime, endTime, deleteTime string, fileSize int) uint {
|
|
|
|
func CreateVideo(videoPath, videoName string, cameraID, authID, human, isDelete int, createTime, endTime, deleteTime string, fileSize int) uint {
|
|
|
|
video := Video{VideoPath: videoPath, VideoName: videoName, CameraID: cameraID, AuthId: authID, Human: human, IsDelete: isDelete, CreateTime: createTime, EndTime: endTime, DeleteTime: deleteTime, FileSize: fileSize}
|
|
|
|
video := Video{VideoPath: videoPath, VideoName: videoName, CameraID: cameraID, AuthId: authID, Human: human, IsDelete: isDelete, CreateTime: createTime, EndTime: endTime, DeleteTime: deleteTime, FileSize: fileSize}
|
|
|
|
res := DB.Create(&video)
|
|
|
|
var res *gorm.DB
|
|
|
|
if res.Error != nil {
|
|
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
|
|
return 0
|
|
|
|
res = DB.Debug().Create(&video)
|
|
|
|
}
|
|
|
|
if res.Error != nil {
|
|
|
|
if deleteTime == "" {
|
|
|
|
return 0
|
|
|
|
DB.Exec("update videos set delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY) where id=?", video.ID) //delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY)
|
|
|
|
}
|
|
|
|
|
|
|
|
if deleteTime == "" {
|
|
|
|
|
|
|
|
DB.Debug().Exec("update videos set delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY) where id=?", video.ID) //delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
res = DB.Create(&video)
|
|
|
|
|
|
|
|
if res.Error != nil {
|
|
|
|
|
|
|
|
return 0
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if deleteTime == "" {
|
|
|
|
|
|
|
|
DB.Exec("update videos set delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY) where id=?", video.ID) //delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY)
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return video.ID
|
|
|
|
return video.ID
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 文件已删除
|
|
|
|
// 文件已删除
|
|
|
|
func DeleteVideoByID(id, user int) int {
|
|
|
|
func DeleteVideoByID(id, user int) int {
|
|
|
|
res := DB.Exec("update videos set deleted_at = now(),isdelete=1 where id=? and auth_id=?", id, user) //delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY)
|
|
|
|
var res *gorm.DB
|
|
|
|
|
|
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
|
|
|
|
|
|
res = DB.Debug().Exec("update videos set deleted_at = now(),isdelete=1 where id=? and auth_id=?", id, user)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
res = DB.Exec("update videos set deleted_at = now(),isdelete=1 where id=? and auth_id=?", id, user) //delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY)
|
|
|
|
|
|
|
|
}
|
|
|
|
if res.Error != nil {
|
|
|
|
if res.Error != nil {
|
|
|
|
fmt.Println("dao DeleteVideoByID:", res.Error)
|
|
|
|
fmt.Println("dao DeleteVideoByID:", res.Error)
|
|
|
|
return 0
|
|
|
|
return 0
|
|
|
|
@ -49,7 +66,12 @@ func DeleteVideoByID(id, user int) int {
|
|
|
|
|
|
|
|
|
|
|
|
// 文件未删除时逻辑删除
|
|
|
|
// 文件未删除时逻辑删除
|
|
|
|
func LogicDeleteVideoByID(id, user int) int {
|
|
|
|
func LogicDeleteVideoByID(id, user int) int {
|
|
|
|
res := DB.Exec("update videos set deleted_at=now(),delete_time=now() where id=? and auth_id=?", id, user) //delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY)
|
|
|
|
var res *gorm.DB
|
|
|
|
|
|
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
|
|
|
|
|
|
res = DB.Debug().Exec("update videos set deleted_at=now(),delete_time=now() where id=? and auth_id=?", id, user)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
res = DB.Exec("update videos set deleted_at=now(),delete_time=now() where id=? and auth_id=?", id, user)
|
|
|
|
|
|
|
|
}
|
|
|
|
if res.Error != nil {
|
|
|
|
if res.Error != nil {
|
|
|
|
fmt.Println("dao LogicDeleteVideoByID:", res.Error)
|
|
|
|
fmt.Println("dao LogicDeleteVideoByID:", res.Error)
|
|
|
|
return 0
|
|
|
|
return 0
|
|
|
|
@ -68,11 +90,12 @@ func RollbackVideoByID(id, user int) int {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func UpdateVideo(videoPath, videoName string, cameraID, videoID, authID, human, isDelete int, createTime, endTime string, fileSize int) bool {
|
|
|
|
func UpdateVideo(videoPath, videoName string, cameraID, videoID, authID, human, isDelete int, createTime, endTime string, fileSize int) bool {
|
|
|
|
res := DB.Model(&Video{}).Where("id = ? and auth_id = ?", videoID, authID).Updates(Video{VideoPath: videoPath, VideoName: videoName, CameraID: cameraID, AuthId: authID, Human: human, IsDelete: isDelete, CreateTime: createTime, EndTime: endTime, FileSize: fileSize})
|
|
|
|
var res *gorm.DB
|
|
|
|
if res.Error != nil {
|
|
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
|
|
return false
|
|
|
|
res = DB.Debug().Model(&Video{}).Where("id = ? and auth_id = ?", videoID, authID).Updates(Video{VideoPath: videoPath, VideoName: videoName, CameraID: cameraID, AuthId: authID, Human: human, IsDelete: isDelete, CreateTime: createTime, EndTime: endTime, FileSize: fileSize})
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
res = DB.Model(&Video{}).Where("id = ? and auth_id = ?", videoID, authID).Updates(Video{VideoPath: videoPath, VideoName: videoName, CameraID: cameraID, AuthId: authID, Human: human, IsDelete: isDelete, CreateTime: createTime, EndTime: endTime, FileSize: fileSize})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
res = DB.Exec("update videos set delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY) where id=? and auth_id=?", videoID, authID) //delete_time= DATE_ADD(NOW(), INTERVAL 20 DAY)
|
|
|
|
|
|
|
|
if res.Error != nil {
|
|
|
|
if res.Error != nil {
|
|
|
|
return false
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -94,7 +117,11 @@ func FindVideoListsByAuthID(auth_id int) []Video {
|
|
|
|
|
|
|
|
|
|
|
|
func FindVideoListByTime(auth_id int, startTime, endTime string) []Video {
|
|
|
|
func FindVideoListByTime(auth_id int, startTime, endTime string) []Video {
|
|
|
|
var videos []Video
|
|
|
|
var videos []Video
|
|
|
|
DB.Where("auth_id = ?", auth_id).Where("isdelete=0").Where("create_time > ? and create_time < ? and deleted_at != null", startTime, endTime).Find(&videos)
|
|
|
|
if proto.Config.SERVER_SQL_LOG {
|
|
|
|
|
|
|
|
DB.Debug().Where("auth_id = ?", auth_id).Where("create_time > ? and create_time < ? and isdelete=0 and deleted_at is null", startTime, endTime).Find(&videos)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
DB.Where("auth_id = ?", auth_id).Where("create_time > ? and create_time < ? and isdelete=0 and deleted_at is null", startTime, endTime).Find(&videos)
|
|
|
|
|
|
|
|
}
|
|
|
|
return videos
|
|
|
|
return videos
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|