Compare commits
2 Commits
7b93f3a801
...
4128347eab
| Author | SHA1 | Date |
|---|---|---|
|
|
4128347eab | |
|
|
e9f089c6a2 |
23
dao/video.go
23
dao/video.go
|
|
@ -1,8 +1,8 @@
|
|||
package dao
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"gorm.io/gorm"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Video struct {
|
||||
|
|
@ -37,10 +37,23 @@ func CreateVideo(videoPath, videoName string, cameraID, authID, human, isDelete
|
|||
return video.ID
|
||||
}
|
||||
|
||||
// 文件已删除
|
||||
func DeleteVideoByID(id, user int) int {
|
||||
delete_time := time.Now().Format("2006-01-02 15:04:05")
|
||||
DB.Where("id = ? and auth_id = ?", id, user).Updates(&Video{DeleteTime: delete_time, IsDelete: 1})
|
||||
DB.Where("id = ? and auth_id = ?", id, user).Delete(&Video{})
|
||||
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
|
||||
}
|
||||
return id
|
||||
}
|
||||
|
||||
// 文件未删除时逻辑删除
|
||||
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)
|
||||
if res.Error != nil {
|
||||
fmt.Println("dao LogicDeleteVideoByID:", res.Error)
|
||||
return 0
|
||||
}
|
||||
return id
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +84,7 @@ 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 < ?", startTime, endTime).Find(&videos)
|
||||
DB.Where("auth_id = ?", auth_id).Where("isdelete=0").Where("create_time > ? and create_time < ? and deleted_at != null", startTime, endTime).Find(&videos)
|
||||
return videos
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -60,12 +60,13 @@ type videoPReq struct {
|
|||
}
|
||||
|
||||
type VideoDelReq struct {
|
||||
ID int `json:"id"`
|
||||
ID int `json:"id" form:"id"`
|
||||
Type string `json:"type" form:"type"`
|
||||
}
|
||||
|
||||
// video延迟视频请求
|
||||
type delayReq struct {
|
||||
ID int `form:"id"`
|
||||
ID int `json:"id" form:"id"`
|
||||
Option string `form:"option"`
|
||||
AuthId int `form:"userId"`
|
||||
IP string `form:"ip"`
|
||||
|
|
@ -206,17 +207,17 @@ func DeleteVideo(c *gin.Context) {
|
|||
id, _ := c.Get("id")
|
||||
user, _ := c.Get("username")
|
||||
if err := c.ShouldBind(&video_req); err == nil {
|
||||
res := service.DeleteVideo(video_req.ID, int(id.(float64)))
|
||||
res := service.DeleteVideo(video_req.ID, int(id.(float64)), video_req.Type)
|
||||
if res != 0 {
|
||||
data := map[string]interface{}{"id": video_req.ID, "auth_id": int(id.(float64)), "delete_time": time.Now().Format("2006-01-02 15:04:05"), "method": "delete"}
|
||||
str, _ := json.Marshal(data)
|
||||
worker.PushRedisList(user.(string)+"-"+strconv.Itoa(int(id.(float64)))+"-option", string(str))
|
||||
c.JSON(http.StatusOK, gin.H{"code": proto.SuccessCode, "message": "success"})
|
||||
c.JSON(http.StatusOK, gin.H{"code": proto.SuccessCode, "msg": "success", "data": "delete video success"})
|
||||
} else {
|
||||
c.JSON(http.StatusOK, gin.H{"code": proto.ParameterError, "message": "failed"})
|
||||
c.JSON(http.StatusOK, gin.H{"code": proto.ParameterError, "msg": "failed", "data": "delete video failed"})
|
||||
}
|
||||
} else {
|
||||
c.JSON(http.StatusOK, gin.H{"error": err.Error(), "code": proto.ParameterError, "message": "failed"})
|
||||
c.JSON(http.StatusOK, gin.H{"error": err.Error(), "code": proto.ParameterError, "msg": err, "data": "failed"})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,9 +62,14 @@ func GetVideoListByPage(auth_id, page, page_size int) []dao.Video {
|
|||
return dao.GetVideoListByPage(auth_id, page, page_size)
|
||||
}
|
||||
|
||||
func DeleteVideo(id, user int) int {
|
||||
func DeleteVideo(id, user int, tp string) int {
|
||||
if tp == "del_with_logic" {
|
||||
return dao.LogicDeleteVideoByID(id, user)
|
||||
} else if tp == "del_with_real" {
|
||||
return dao.DeleteVideoByID(id, user)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func QuashVideo(user int, data map[string]interface{}) (int, string) {
|
||||
var res int
|
||||
|
|
|
|||
Loading…
Reference in New Issue