设备添加修改状态功能
This commit is contained in:
parent
cde4ba685c
commit
fc810dd289
|
|
@ -5,13 +5,13 @@ type Device struct {
|
||||||
AuthID int `gorm:"column:auth_id"`
|
AuthID int `gorm:"column:auth_id"`
|
||||||
DeviceName string `gorm:"column:device_name"`
|
DeviceName string `gorm:"column:device_name"`
|
||||||
DeviceType string `gorm:"column:device_type"`
|
DeviceType string `gorm:"column:device_type"`
|
||||||
DeviceStatus int `gorm:"column:device_status"`
|
DeviceStatus string `gorm:"column:device_status"`
|
||||||
DeviceLocation string `gorm:"column:device_location"`
|
DeviceLocation string `gorm:"column:device_location"`
|
||||||
DeviceIP string `gorm:"column:device_ip"`
|
DeviceIP string `gorm:"column:device_ip"`
|
||||||
DeviceInfo string `gorm:"column:device_info"`
|
DeviceInfo string `gorm:"column:device_info"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateDevice(authID int, deviceName, deviceType string, deviceStatus int, deviceLocation, deviceIP, deviceInfo string) int {
|
func CreateDevice(authID int, deviceName, deviceType string, deviceStatus, deviceLocation, deviceIP, deviceInfo string) int {
|
||||||
device := Device{AuthID: authID, DeviceName: deviceName, DeviceType: deviceType, DeviceStatus: deviceStatus, DeviceLocation: deviceLocation, DeviceIP: deviceIP, DeviceInfo: deviceInfo}
|
device := Device{AuthID: authID, DeviceName: deviceName, DeviceType: deviceType, DeviceStatus: deviceStatus, DeviceLocation: deviceLocation, DeviceIP: deviceIP, DeviceInfo: deviceInfo}
|
||||||
DB.Create(&device)
|
DB.Create(&device)
|
||||||
return device.ID
|
return device.ID
|
||||||
|
|
@ -34,10 +34,15 @@ func FindDeviceByAuthID(auth_id int) []Device {
|
||||||
return devices
|
return devices
|
||||||
}
|
}
|
||||||
|
|
||||||
func UpdateDeviceByID(id, auth_id int, deviceName, deviceType string, deviceStatus int, deviceLocation, deviceIP, deviceInfo string) {
|
func SetDeviceStatus(status string, id, auth_id int) bool {
|
||||||
|
DB.Model(&Device{}).Where("device_id = ? and auth_id = ?", id, auth_id).Updates(Device{DeviceStatus: status})
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func UpdateDeviceByID(id, auth_id int, deviceName, deviceType string, deviceStatus, deviceLocation, deviceIP, deviceInfo string) {
|
||||||
DB.Model(&Device{}).Where("device_id = ? and auth_id = ?", id, auth_id).Updates(Device{DeviceName: deviceName, DeviceType: deviceType, DeviceStatus: deviceStatus, DeviceLocation: deviceLocation, DeviceIP: deviceIP, DeviceInfo: deviceInfo})
|
DB.Model(&Device{}).Where("device_id = ? and auth_id = ?", id, auth_id).Updates(Device{DeviceName: deviceName, DeviceType: deviceType, DeviceStatus: deviceStatus, DeviceLocation: deviceLocation, DeviceIP: deviceIP, DeviceInfo: deviceInfo})
|
||||||
}
|
}
|
||||||
|
|
||||||
func UpdateDeviceStatusByID(id, auth_id, status int) {
|
func UpdateDeviceStatusByID(id, auth_id int, status string) {
|
||||||
DB.Model(&Device{}).Where("device_id = ? and auth_id = ?", id, auth_id).Updates(Device{DeviceStatus: status})
|
DB.Model(&Device{}).Where("device_id = ? and auth_id = ?", id, auth_id).Updates(Device{DeviceStatus: status})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,67 @@ import (
|
||||||
"videoplayer/service"
|
"videoplayer/service"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
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"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeviceStatus struct {
|
||||||
|
IP string `json:"ip"`
|
||||||
|
Status string `json:"status"`
|
||||||
|
ID int `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
func SetUpDeviceGroup(router *gin.Engine) {
|
func SetUpDeviceGroup(router *gin.Engine) {
|
||||||
videoGroup := router.Group("/device")
|
deviceGroup := router.Group("/device")
|
||||||
videoGroup.POST("/get_device_list", GetDeviceList)
|
deviceGroup.POST("/get_device_list", GetDeviceList)
|
||||||
videoGroup.POST("/restart", RestartDevice)
|
deviceGroup.POST("/restart", RestartDevice)
|
||||||
|
deviceGroup.POST("/add_device", AddDevice)
|
||||||
|
deviceGroup.POST("/set_device_status", SetDeviceStatus)
|
||||||
|
|
||||||
|
}
|
||||||
|
func SetDeviceStatus(c *gin.Context) {
|
||||||
|
var req DeviceStatus
|
||||||
|
if err := c.ShouldBindJSON(&req); err == nil {
|
||||||
|
if req.IP != "" {
|
||||||
|
if service.SetDeviceStatus(req.Status, req.ID, c.GetInt("id")) {
|
||||||
|
c.JSON(200, gin.H{"code": 0, "message": "success"})
|
||||||
|
} else {
|
||||||
|
c.JSON(400, gin.H{"code": 1, "message": "failed"})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
c.JSON(400, gin.H{"code": 1, "message": "failed"})
|
||||||
|
}
|
||||||
|
|
||||||
|
func AddDevice(c *gin.Context) {
|
||||||
|
var req DeviceAddReq
|
||||||
|
if err := c.ShouldBindJSON(&req); err == nil {
|
||||||
|
user_id := c.GetInt("id")
|
||||||
|
device_id := service.AddDevice(req.DeviceName, req.DeviceIP, req.DeviceStatus, req.DeviceInfo, req.DeviceType, req.DeviceLocation, user_id)
|
||||||
|
if device_id != 0 {
|
||||||
|
c.JSON(200, gin.H{
|
||||||
|
"code": 0,
|
||||||
|
"message": "success",
|
||||||
|
"device_id": device_id,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
c.JSON(400, gin.H{
|
||||||
|
"code": 1,
|
||||||
|
"message": "failed",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
c.JSON(400, gin.H{
|
||||||
|
"code": 1,
|
||||||
|
"message": "failed",
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetDeviceList(c *gin.Context) {
|
func GetDeviceList(c *gin.Context) {
|
||||||
|
|
|
||||||
1
main.go
1
main.go
|
|
@ -19,6 +19,7 @@ func main() {
|
||||||
r.Use(JWTAuthMiddleware()) // 使用 JWT 认证中间件
|
r.Use(JWTAuthMiddleware()) // 使用 JWT 认证中间件
|
||||||
handler.SetUpVideoGroup(r)
|
handler.SetUpVideoGroup(r)
|
||||||
handler.SetUpUserGroup(r)
|
handler.SetUpUserGroup(r)
|
||||||
|
handler.SetUpDeviceGroup(r)
|
||||||
r.Run(":8082") // listen and serve on 0.0.0.0:8082
|
r.Run(":8082") // listen and serve on 0.0.0.0:8082
|
||||||
defer dao.Close()
|
defer dao.Close()
|
||||||
defer worker.CloseRedis()
|
defer worker.CloseRedis()
|
||||||
|
|
|
||||||
|
|
@ -9,3 +9,11 @@ func GetDeviceList(auth_id int) []dao.Device {
|
||||||
func GetDevice(id, auth_id int) dao.Device {
|
func GetDevice(id, auth_id int) dao.Device {
|
||||||
return dao.FindDeviceByID(id, auth_id)
|
return dao.FindDeviceByID(id, auth_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func AddDevice(deviceName, deviceIP, deviceStatus, deviceInfo, deviceType, deviceLocation string, authID int) int {
|
||||||
|
return dao.CreateDevice(authID, deviceName, deviceType, deviceStatus, deviceLocation, deviceIP, deviceInfo)
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetDeviceStatus(status string, id, auth_id int) bool {
|
||||||
|
return dao.SetDeviceStatus(status, id, auth_id)
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue