device.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package device
  2. import (
  3. "confrontation-training/global"
  4. deviceModel "confrontation-training/models/gateway"
  5. "gorm.io/gorm"
  6. )
  7. type DeviceService struct {
  8. }
  9. func (d *DeviceService) FindDeviceByMac(mac string) (deviceModel.DeviceInfo, int64) {
  10. info := deviceModel.DeviceInfo{}
  11. count := global.Db.Where(" mac = ?", mac).First(&info).RowsAffected
  12. return info, count
  13. }
  14. func (d *DeviceService) FindDeviceByType(deviceType string) ([]deviceModel.DeviceInfo, int64) {
  15. var deviceList = make([]deviceModel.DeviceInfo, 0)
  16. count := global.Db.Where("type = ?", deviceType).Find(&deviceList).RowsAffected
  17. return deviceList, count
  18. }
  19. func (d *DeviceService) CreateDevice(param deviceModel.DeviceAddParam) *gorm.DB {
  20. addParam := deviceModel.DeviceInfo{
  21. Type: param.Type,
  22. Mac: param.Mac,
  23. }
  24. return global.Db.Create(&addParam)
  25. }
  26. func (d *DeviceService) RemoveDevice(mac string) int64 {
  27. deviceInfo, count := d.FindDeviceByMac(mac)
  28. if count > 0 {
  29. count = global.Db.Delete(&deviceModel.DeviceInfo{}, deviceInfo.ID).RowsAffected
  30. }
  31. return count
  32. }