videoplayer/dao/device.go

87 lines
2.5 KiB
Go
Raw Permalink Normal View History

package dao
import (
2024-05-20 17:30:39 +08:00
"fmt"
"gorm.io/gorm"
)
type Device struct {
gorm.Model
AuthID int `gorm:"column:auth_id"`
DeviceName string `gorm:"column:device_name"`
DeviceType string `gorm:"column:device_type"`
2024-05-20 11:16:53 +08:00
DeviceStatus string `gorm:"column:device_status"`
DeviceLocation string `gorm:"column:device_location"`
DeviceIP string `gorm:"column:device_ip"`
DeviceInfo string `gorm:"column:device_info"`
}
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)
if result.Error != nil {
2024-05-20 17:30:39 +08:00
fmt.Println("CreateDevice failed", result.Error)
return 0
}
return device.ID
}
func DeleteDeviceByID(id, user int) bool {
res := DB.Debug().Model(&Device{}).Where("id = ? and auth_id = ?", id, user).Delete(&Device{})
if res.Error != nil {
return false
}
return true
}
func FindDeviceByID(id, auth_id int) Device {
var device Device
DB.Debug().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)
return devices
}
2024-05-20 11:16:53 +08:00
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})
if result.Error != nil {
return false
}
2024-05-20 11:16:53 +08:00
return true
}
func UpdateDeviceByID(id, auth_id int, deviceName, deviceType, deviceStatus, deviceLocation, deviceIP, deviceInfo string) bool {
pd := FindDeviceByID(id, auth_id)
if pd.ID == 0 {
return false
} else {
if deviceName == "" {
deviceName = pd.DeviceName
}
if deviceType == "" {
deviceType = pd.DeviceType
}
if deviceStatus == "" {
deviceStatus = pd.DeviceStatus
}
if deviceLocation == "" {
deviceLocation = pd.DeviceLocation
}
if deviceIP == "" {
deviceIP = pd.DeviceIP
}
if deviceInfo == "" {
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})
if res.Error != nil {
return false
}
return true
}