Compare commits

..

No commits in common. "945591f695410cdcc32d76bf29a837af57e16557" and "909bf31192e9e78ff7c825074cf8acba6005275a" have entirely different histories.

3 changed files with 37 additions and 41 deletions

View File

@ -3,7 +3,6 @@ package dao
import ( import (
"fmt" "fmt"
"gorm.io/gorm" "gorm.io/gorm"
"videoplayer/proto"
) )
type Video struct { type Video struct {
@ -28,35 +27,19 @@ 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}
var res *gorm.DB res := DB.Create(&video)
if proto.Config.SERVER_SQL_LOG { if res.Error != nil {
res = DB.Debug().Create(&video) return 0
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)
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 {
var res *gorm.DB 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 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
@ -66,12 +49,7 @@ func DeleteVideoByID(id, user int) int {
// 文件未删除时逻辑删除 // 文件未删除时逻辑删除
func LogicDeleteVideoByID(id, user int) int { func LogicDeleteVideoByID(id, user int) int {
var res *gorm.DB 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)
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
@ -90,12 +68,11 @@ 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 {
var res *gorm.DB 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 proto.Config.SERVER_SQL_LOG { if res.Error != nil {
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}) return false
} 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
} }
@ -117,11 +94,7 @@ 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
if proto.Config.SERVER_SQL_LOG { DB.Where("auth_id = ?", auth_id).Where("isdelete=0").Where("create_time > ? and create_time < ? and deleted_at != null", startTime, endTime).Find(&videos)
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
} }

View File

@ -75,7 +75,6 @@ type ConfigStruct struct {
CID_BASE_DIR string `json:"cid_base_dir"` CID_BASE_DIR string `json:"cid_base_dir"`
FILE_BASE_DIR string `json:"file_base_dir"` FILE_BASE_DIR string `json:"file_base_dir"`
MONITOR bool `json:"monitor"` // 状态监控及邮件通知 MONITOR bool `json:"monitor"` // 状态监控及邮件通知
SERVER_SQL_LOG bool `json:"server_sql_log"` // 服务器sql日志
SERVER_PORT string `json:"server_port"` // 服务端口 SERVER_PORT string `json:"server_port"` // 服务端口
LOG_SAVE_DAYS int `json:"log_save_days"` // 日志保存天数,-1表示不保存0表示永久保存 LOG_SAVE_DAYS int `json:"log_save_days"` // 日志保存天数,-1表示不保存0表示永久保存
SERVER_USER_TYPE string `json:"user_type"` // 服务器用户类型master: 主服务器slave: 从服务器,从服务器会定时同步数据 SERVER_USER_TYPE string `json:"user_type"` // 服务器用户类型master: 主服务器slave: 从服务器,从服务器会定时同步数据

View File

@ -128,5 +128,29 @@ func UpdateVideo(videoPath, videoName string, cameraID, videoID, authID, human,
if video.ID == 0 { if video.ID == 0 {
return false 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) return dao.UpdateVideo(videoPath, videoName, cameraID, videoID, authID, human, isDelete, createTime, endTime, fileSize)
} }