Merge remote-tracking branch 'origin/release' into release

# Conflicts:
#	dao/user.go
This commit is contained in:
junleea 2024-06-29 17:37:54 +08:00
commit 9319390bcd
2 changed files with 56 additions and 29 deletions

View File

@ -1,6 +1,7 @@
package dao package dao
import ( import (
"fmt"
"gorm.io/gorm" "gorm.io/gorm"
) )
@ -34,6 +35,7 @@ func FindUserByID(id int) User {
func FindUserByName(name string) User { func FindUserByName(name string) User {
var user User var user User
fmt.Println("name:", name)
DB.Where("name = ?", name).First(&user) DB.Where("name = ?", name).First(&user)
return user return user
} }

View File

@ -8,34 +8,39 @@ import (
) )
type DeviceAddReq struct { type DeviceAddReq struct {
DeviceName string `json:"device_name"` DeviceName string `json:"device_name" form:"device_name" binding:"required"`
DeviceIP string `json:"device_ip"` DeviceIP string `json:"device_ip" form:"device_ip" binding:"required"`
DeviceStatus string `json:"device_status"` DeviceStatus string `json:"device_status" form:"device_status" binding:"required"`
AuthID int `json:"auth_id"` AuthID int `json:"auth_id" form:"auth_id" binding:"required"`
DeviceInfo string `json:"device_info"` DeviceInfo string `json:"device_info" form:"device_info" binding:"required"`
DeviceType string `json:"device_type"` DeviceType string `json:"device_type" form:"device_type" binding:"required"`
DeviceLocation string `json:"device_location"` DeviceLocation string `json:"device_location" form:"device_location" binding:"required"`
} }
type DeviceUpdateReq struct { type DeviceUpdateReq struct {
ID int `json:"id"` ID int `json:"id" form:"id"`
DeviceName string `json:"device_name"` DeviceName string `json:"device_name" form:"device_name" binding:"required"`
DeviceIP string `json:"device_ip"` DeviceIP string `json:"device_ip" form:"device_ip" binding:"required"`
DeviceStatus string `json:"device_status"` DeviceStatus string `json:"device_status" form:"device_status" binding:"required"`
AuthID int `json:"auth_id"` AuthID int `json:"auth_id" form:"auth_id" binding:"required"`
DeviceInfo string `json:"device_info"` DeviceInfo string `json:"device_info" form:"device_info" binding:"required"`
DeviceType string `json:"device_type"` DeviceType string `json:"device_type" form:"device_type" binding:"required"`
DeviceLocation string `json:"device_location"` DeviceLocation string `json:"device_location" form:"device_location" binding:"required"`
} }
type DeviceStatus struct { type DeviceStatus struct {
IP string `json:"ip"` IP string `json:"ip" form:"ip" binding:"required"`
Status string `json:"status"` Status string `json:"status" form:"status" binding:"required"`
ID int `json:"id"` ID int `json:"id" form:"id" binding:"required"`
} }
type DeviceDelReq struct { 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) { func SetUpDeviceGroup(router *gin.Engine) {
@ -142,18 +147,38 @@ func GetDeviceList(c *gin.Context) {
func RestartDevice(c *gin.Context) { func RestartDevice(c *gin.Context) {
user_id, _ := c.Get("id") user_id, _ := c.Get("id")
device_id := c.GetInt("device_id") var req DeviceRestartReq
device := service.GetDevice(device_id, int(user_id.(float64))) if err := c.ShouldBind(&req); err != nil {
if device.ID != 0 { c.JSON(200, gin.H{"code": 1, "message": "failed"})
if device.DeviceIP != "" { return
if Restart(device.DeviceIP) { }
c.JSON(200, gin.H{"code": 0, "message": "success"}) device_id := req.ID
} else { if req.Option == "one" {
c.JSON(200, gin.H{"code": 1, "message": "failed"}) 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": 0, "message": "success"})
c.JSON(200, gin.H{"code": 1, "message": "failed"})
} }
} }