From 00c23de1ca3538128e7a59a665685e01f7118c2f Mon Sep 17 00:00:00 2001 From: junleea <354425203@qq.com> Date: Tue, 11 Jun 2024 15:27:33 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E9=87=8D=E5=90=AF=E8=AF=B7=E6=B1=82id=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=B8=8D=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler/device.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/handler/device.go b/handler/device.go index 94021a8..3051fe2 100644 --- a/handler/device.go +++ b/handler/device.go @@ -68,7 +68,6 @@ func UpdateDevice(c *gin.Context) { var req DeviceUpdateReq user_id, _ := c.Get("id") if err := c.ShouldBindJSON(&req); err == nil { - fmt.Println("req:", req) res := service.UpdateDevice(req.DeviceName, req.DeviceIP, req.DeviceStatus, req.DeviceInfo, req.DeviceType, req.DeviceLocation, req.ID, int(user_id.(float64))) if res { c.JSON(200, gin.H{ @@ -137,13 +136,18 @@ func GetDeviceList(c *gin.Context) { c.JSON(200, gin.H{ "code": 0, "message": "success", - "data": devices, + "data": devices, }) } func RestartDevice(c *gin.Context) { user_id, _ := c.Get("id") - device_id := c.GetInt("device_id") + var req DeviceDelReq + if err := c.ShouldBind(&req); err != nil { + c.JSON(200, gin.H{"code": 1, "message": "failed"}) + return + } + device_id := req.ID device := service.GetDevice(device_id, int(user_id.(float64))) if device.ID != 0 { if device.DeviceIP != "" { From 51dd15182bf000a82fcb653529e428143c30a65a Mon Sep 17 00:00:00 2001 From: junleea <354425203@qq.com> Date: Tue, 11 Jun 2024 15:28:42 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93debug=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dao/device.go | 12 ++++++------ dao/user.go | 6 +++--- dao/video.go | 24 ++++++++++++------------ 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/dao/device.go b/dao/device.go index 07254bd..70c54b8 100644 --- a/dao/device.go +++ b/dao/device.go @@ -18,7 +18,7 @@ type Device struct { func CreateDevice(authID int, deviceName, deviceType string, deviceStatus, deviceLocation, deviceIP, deviceInfo string) uint { device := Device{AuthID: authID, DeviceName: deviceName, DeviceType: deviceType, DeviceStatus: deviceStatus, DeviceLocation: deviceLocation, DeviceIP: deviceIP, DeviceInfo: deviceInfo} - result := DB.Debug().Create(&device) + result := DB.Create(&device) if result.Error != nil { fmt.Println("CreateDevice failed", result.Error) return 0 @@ -27,7 +27,7 @@ func CreateDevice(authID int, deviceName, deviceType string, deviceStatus, devic } func DeleteDeviceByID(id, user int) bool { - res := DB.Debug().Model(&Device{}).Where("id = ? and auth_id = ?", id, user).Delete(&Device{}) + res := DB.Model(&Device{}).Where("id = ? and auth_id = ?", id, user).Delete(&Device{}) if res.Error != nil { return false } @@ -36,18 +36,18 @@ func DeleteDeviceByID(id, user int) bool { func FindDeviceByID(id, auth_id int) Device { var device Device - DB.Debug().Where("id = ? and auth_id = ?", id, auth_id).First(&device) + DB.Where("id = ? and auth_id = ?", id, auth_id).First(&device) return device } func FindDeviceByAuthID(auth_id int) []Device { var devices []Device - DB.Debug().Where("auth_id = ?", auth_id).Find(&devices) + DB.Where("auth_id = ?", auth_id).Find(&devices) return devices } func SetDeviceStatus(status string, id, auth_id int) bool { - result := DB.Debug().Model(&Device{}).Where("id = ? and auth_id = ?", id, auth_id).Updates(Device{DeviceStatus: status}) + result := DB.Model(&Device{}).Where("id = ? and auth_id = ?", id, auth_id).Updates(Device{DeviceStatus: status}) if result.Error != nil { return false } @@ -78,7 +78,7 @@ func UpdateDeviceByID(id, auth_id int, deviceName, deviceType, deviceStatus, dev deviceInfo = pd.DeviceInfo } } - res := DB.Debug().Model(&Device{}).Where("id = ? and auth_id = ?", id, auth_id).Updates(Device{DeviceName: deviceName, DeviceType: deviceType, DeviceStatus: deviceStatus, DeviceLocation: deviceLocation, DeviceIP: deviceIP, DeviceInfo: deviceInfo}) + res := DB.Model(&Device{}).Where("id = ? and auth_id = ?", id, auth_id).Updates(Device{DeviceName: deviceName, DeviceType: deviceType, DeviceStatus: deviceStatus, DeviceLocation: deviceLocation, DeviceIP: deviceIP, DeviceInfo: deviceInfo}) if res.Error != nil { return false } diff --git a/dao/user.go b/dao/user.go index 277214c..b34cab7 100644 --- a/dao/user.go +++ b/dao/user.go @@ -29,20 +29,20 @@ func DeleteUserByID(id int) int { func FindUserByID(id int) User { var user User - DB.Debug().First(&user, id) + DB.First(&user, id) return user } func FindUserByName(name string) User { var user User fmt.Println("name:", name) - DB.Debug().Where("name = ?", name).First(&user) + DB.Where("name = ?", name).First(&user) return user } func FindUserByEmail(email string) User { var user User - DB.Debug().Where("email = ?", email).First(&user) + DB.Where("email = ?", email).First(&user) return user } diff --git a/dao/video.go b/dao/video.go index fe3f3b8..b3105e1 100644 --- a/dao/video.go +++ b/dao/video.go @@ -21,35 +21,35 @@ type Video struct { func FindWillDelVideoList(id int) []Video { var videos []Video - DB.Debug().Where("auth_id = ?", id).Where("delete_time<=now()").Where("isdelete=0").Find(&videos) + DB.Where("auth_id = ?", id).Where("delete_time<=now()").Where("isdelete=0").Find(&videos) return videos } 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.Debug().Create(&video) + res := DB.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) + 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 { delete_time := time.Now().Format("2006-01-02 15:04:05") - DB.Debug().Where("id = ? and auth_id = ?", id, user).Updates(&Video{DeleteTime: delete_time, IsDelete: 1}) - DB.Debug().Where("id = ? and auth_id = ?", id, user).Delete(&Video{}) + 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{}) return id } func UpdateVideo(videoPath, videoName string, cameraID, videoID, authID, human, isDelete int, createTime, endTime string, fileSize int) bool { - 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}) + 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 } - res = DB.Debug().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) + 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 } @@ -58,26 +58,26 @@ func UpdateVideo(videoPath, videoName string, cameraID, videoID, authID, human, func FindVideoByID(id, auth_id int) Video { var video Video - DB.Debug().Where("id = ? and auth_id = ?", id, auth_id).Where("isdelete = ?", 0).First(&video) + DB.Where("id = ? and auth_id = ?", id, auth_id).Where("isdelete = ?", 0).First(&video) return video } // 根据用户id查找视频列表,返回最新30条 func FindVideoListsByAuthID(auth_id int) []Video { var videos []Video - DB.Debug().Where("auth_id = ? and isdelete =? ", auth_id, 0).Order("create_time DESC").Limit(30).Find(&videos) + DB.Where("auth_id = ? and isdelete =? ", auth_id, 0).Order("create_time DESC").Limit(30).Find(&videos) return videos } func FindVideoListByTime(auth_id int, startTime, endTime string) []Video { var videos []Video - DB.Debug().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 < ?", startTime, endTime).Find(&videos) return videos } // id 为视频id,auth_id为用户id,day为延长天数,返回修改的行数 func DelayVideo(id, auth_id, day int) int { - res := DB.Debug().Exec("update videos set delete_time = date_add(delete_time, interval ? day) where id = ? and auth_id = ? and isdelete=0", day, id, auth_id) + res := DB.Exec("update videos set delete_time = date_add(delete_time, interval ? day) where id = ? and auth_id = ? and isdelete=0", day, id, auth_id) if res.Error != nil { return 0 } @@ -86,7 +86,7 @@ func DelayVideo(id, auth_id, day int) int { // id 为用户id,day为延长天数,返回修改的行数 func DelayAllVideo(id, day int) int { - res := DB.Debug().Exec("update videos set delete_time = date_add(delete_time, interval ? day) where auth_id = ? and isdelete = 0", day, id) + res := DB.Exec("update videos set delete_time = date_add(delete_time, interval ? day) where auth_id = ? and isdelete = 0", day, id) if res.Error != nil { return 0 } From b1c060baf4938c74eb1fadacd94e63d986639dc3 Mon Sep 17 00:00:00 2001 From: junleea <354425203@qq.com> Date: Tue, 11 Jun 2024 15:38:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8Ddevice=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8E=E9=87=8D=E5=90=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler/device.go | 78 +++++++++++++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 29 deletions(-) diff --git a/handler/device.go b/handler/device.go index 3051fe2..7b422aa 100644 --- a/handler/device.go +++ b/handler/device.go @@ -8,34 +8,39 @@ import ( ) type DeviceAddReq struct { - DeviceName string `json:"device_name"` - DeviceIP string `json:"device_ip"` - DeviceStatus string `json:"device_status"` - AuthID int `json:"auth_id"` - DeviceInfo string `json:"device_info"` - DeviceType string `json:"device_type"` - DeviceLocation string `json:"device_location"` + DeviceName string `json:"device_name" form:"device_name" binding:"required"` + DeviceIP string `json:"device_ip" form:"device_ip" binding:"required"` + DeviceStatus string `json:"device_status" form:"device_status" binding:"required"` + AuthID int `json:"auth_id" form:"auth_id" binding:"required"` + DeviceInfo string `json:"device_info" form:"device_info" binding:"required"` + DeviceType string `json:"device_type" form:"device_type" binding:"required"` + DeviceLocation string `json:"device_location" form:"device_location" binding:"required"` } type DeviceUpdateReq struct { - ID int `json:"id"` - DeviceName string `json:"device_name"` - DeviceIP string `json:"device_ip"` - DeviceStatus string `json:"device_status"` - AuthID int `json:"auth_id"` - DeviceInfo string `json:"device_info"` - DeviceType string `json:"device_type"` - DeviceLocation string `json:"device_location"` + ID int `json:"id" form:"id"` + DeviceName string `json:"device_name" form:"device_name" binding:"required"` + DeviceIP string `json:"device_ip" form:"device_ip" binding:"required"` + DeviceStatus string `json:"device_status" form:"device_status" binding:"required"` + AuthID int `json:"auth_id" form:"auth_id" binding:"required"` + DeviceInfo string `json:"device_info" form:"device_info" binding:"required"` + DeviceType string `json:"device_type" form:"device_type" binding:"required"` + DeviceLocation string `json:"device_location" form:"device_location" binding:"required"` } type DeviceStatus struct { - IP string `json:"ip"` - Status string `json:"status"` - ID int `json:"id"` + IP string `json:"ip" form:"ip" binding:"required"` + Status string `json:"status" form:"status" binding:"required"` + ID int `json:"id" form:"id" binding:"required"` } type DeviceDelReq struct { - ID int `json:"id"` + ID int `json:"id" form:"id" binding:"required"` +} + +type DeviceRestartReq struct { + ID int `json:"id" form:"id" binding:"required"` + Option string `json:"option" form:"option" binding:"required"` } func SetUpDeviceGroup(router *gin.Engine) { @@ -142,23 +147,38 @@ func GetDeviceList(c *gin.Context) { func RestartDevice(c *gin.Context) { user_id, _ := c.Get("id") - var req DeviceDelReq + var req DeviceRestartReq if err := c.ShouldBind(&req); err != nil { c.JSON(200, gin.H{"code": 1, "message": "failed"}) return } device_id := req.ID - device := service.GetDevice(device_id, int(user_id.(float64))) - if device.ID != 0 { - if device.DeviceIP != "" { - if Restart(device.DeviceIP) { - c.JSON(200, gin.H{"code": 0, "message": "success"}) - } else { - c.JSON(200, gin.H{"code": 1, "message": "failed"}) + if req.Option == "one" { + device := service.GetDevice(device_id, int(user_id.(float64))) + if device.ID != 0 { + if device.DeviceIP != "" { + if Restart(device.DeviceIP) { + c.JSON(200, gin.H{"code": 0, "message": "success"}) + } else { + c.JSON(200, gin.H{"code": 1, "message": "failed"}) + } + } + } else { + c.JSON(200, gin.H{"code": 1, "message": "failed"}) + } + } else if req.Option == "all" { + devices := service.GetDeviceList(int(user_id.(float64))) + if len(devices) > 0 { + for _, device := range devices { + if device.DeviceIP != "" { + if !Restart(device.DeviceIP) { + c.JSON(200, gin.H{"code": 1, "message": "failed"}) + return + } + } } } - } else { - c.JSON(200, gin.H{"code": 1, "message": "failed"}) + c.JSON(200, gin.H{"code": 0, "message": "success"}) } }