38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
|
package dao
|
|||
|
|
|||
|
import "gorm.io/gorm"
|
|||
|
|
|||
|
type Bluetooth struct {
|
|||
|
ID uint64 `gorm:"primaryKey"`
|
|||
|
DeviceId string `gorm:"unique;type varchar(64);not null;comment:'设备Id,唯一标识每个蓝牙设备'"`
|
|||
|
DeviceName string `gorm:"type varchar(64);comment:'蓝牙名称'"`
|
|||
|
DeviceType string `gorm:"type varchar(64);comment:'设备类型'"`
|
|||
|
UserId int32 `gorm:"index;comment:'用户ID'"`
|
|||
|
}
|
|||
|
|
|||
|
func AddBluetooth(data *Bluetooth) error {
|
|||
|
if err := s.db.Where("device_id = ? AND user_id = ?", data.DeviceId, data.UserId).FirstOrCreate(data).Error; err != nil {
|
|||
|
return err
|
|||
|
}
|
|||
|
return nil
|
|||
|
}
|
|||
|
|
|||
|
func DeleteBluetooth(deviceid string, userid int32) error {
|
|||
|
var data *Bluetooth
|
|||
|
if err := s.db.Where("device_id = ? AND user_id = ?", deviceid, userid).First(&data).Error; err != nil && err != gorm.ErrRecordNotFound {
|
|||
|
return err
|
|||
|
}
|
|||
|
if err := s.db.Delete(&data).Error; err != nil && err != gorm.ErrRecordNotFound {
|
|||
|
return err
|
|||
|
}
|
|||
|
return nil
|
|||
|
}
|
|||
|
|
|||
|
func GetAllBluetooth(userid int32) ([]*Bluetooth, error) {
|
|||
|
var list []*Bluetooth
|
|||
|
if err := s.db.Where("user_id = ?", userid).Find(&list).Error; err != nil && err != gorm.ErrRecordNotFound {
|
|||
|
return nil, err
|
|||
|
}
|
|||
|
return list, nil
|
|||
|
}
|