package device import ( "confrontation-training/global" deviceModel "confrontation-training/models/gateway" "gorm.io/gorm" ) type DeviceService struct { } func (d *DeviceService) FindDeviceByMac(mac string) (deviceModel.DeviceInfo, int64) { info := deviceModel.DeviceInfo{} count := global.Db.Where(" mac = ?", mac).First(&info).RowsAffected return info, count } func (d *DeviceService) FindDeviceByType(deviceType string) ([]deviceModel.DeviceInfo, int64) { var deviceList = make([]deviceModel.DeviceInfo, 0) count := global.Db.Where("type = ?", deviceType).Find(&deviceList).RowsAffected return deviceList, count } func (d *DeviceService) CreateDevice(param deviceModel.DeviceAddParam) *gorm.DB { addParam := deviceModel.DeviceInfo{ Type: param.Type, Mac: param.Mac, } return global.Db.Create(&addParam) } func (d *DeviceService) RemoveDevice(mac string) int64 { _, count := d.FindDeviceByMac(mac) if count > 0 { count = global.Db.Delete(" mac = ?", mac).RowsAffected } return count }