Merge branch 'refs/heads/feat-sql-log'
This commit is contained in:
commit
945591f695
53
dao/video.go
53
dao/video.go
|
|
@ -3,6 +3,7 @@ package dao
|
|||
import (
|
||||
"fmt"
|
||||
"gorm.io/gorm"
|
||||
"videoplayer/proto"
|
||||
)
|
||||
|
||||
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 {
|
||||
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)
|
||||
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)
|
||||
var res *gorm.DB
|
||||
if proto.Config.SERVER_SQL_LOG {
|
||||
res = DB.Debug().Create(&video)
|
||||
if res.Error != nil {
|
||||
return 0
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
// 文件已删除
|
||||
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 {
|
||||
fmt.Println("dao DeleteVideoByID:", res.Error)
|
||||
return 0
|
||||
|
|
@ -49,7 +66,12 @@ func DeleteVideoByID(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 {
|
||||
fmt.Println("dao LogicDeleteVideoByID:", res.Error)
|
||||
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 {
|
||||
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})
|
||||
if res.Error != nil {
|
||||
return false
|
||||
var res *gorm.DB
|
||||
if proto.Config.SERVER_SQL_LOG {
|
||||
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 {
|
||||
return false
|
||||
}
|
||||
|
|
@ -94,7 +117,11 @@ func FindVideoListsByAuthID(auth_id int) []Video {
|
|||
|
||||
func FindVideoListByTime(auth_id int, startTime, endTime string) []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
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ type ConfigStruct struct {
|
|||
CID_BASE_DIR string `json:"cid_base_dir"`
|
||||
FILE_BASE_DIR string `json:"file_base_dir"`
|
||||
MONITOR bool `json:"monitor"` // 状态监控及邮件通知
|
||||
SERVER_SQL_LOG bool `json:"server_sql_log"` // 服务器sql日志
|
||||
SERVER_PORT string `json:"server_port"` // 服务端口
|
||||
LOG_SAVE_DAYS int `json:"log_save_days"` // 日志保存天数,-1表示不保存,0表示永久保存
|
||||
SERVER_USER_TYPE string `json:"user_type"` // 服务器用户类型,master: 主服务器,slave: 从服务器,从服务器会定时同步数据
|
||||
|
|
|
|||
|
|
@ -128,29 +128,5 @@ func UpdateVideo(videoPath, videoName string, cameraID, videoID, authID, human,
|
|||
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)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue