dev_gateway.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package devices
  2. import (
  3. "errors"
  4. "gorm.io/gorm"
  5. "server/dao/devices"
  6. "server/model/common/request"
  7. model "server/model/devices"
  8. "server/utils/logger"
  9. )
  10. type GateWayService struct{}
  11. func (gateWayService *GateWayService) GetGateWayInfoList(info request.PageInfo) (list interface{}, total int64, err error) {
  12. limit := info.PageSize
  13. offset := info.PageSize * (info.Page - 1)
  14. keyword := info.Keyword
  15. gatewayList, total, err := devices.QueryGateWayInfoList(limit, offset, keyword)
  16. var details []model.GatewayDetails
  17. for _, gateWay := range gatewayList {
  18. detail := model.GatewayDetails{Gateway: gateWay}
  19. screensList, _ := devices.QueryScreensToDetail(gateWay.ID)
  20. cameraList, _ := devices.QueryCameraToDetail(gateWay.ID)
  21. radarList, _ := devices.QueryRadarToDetail(gateWay.ID)
  22. detail.RelationDev.Screens = screensList
  23. detail.RelationDev.Camera = cameraList
  24. detail.RelationDev.Radar = radarList
  25. details = append(details, detail)
  26. }
  27. return details, total, err
  28. }
  29. func (gateWayService *GateWayService) AddGateway(way devices.GateWay) error {
  30. err := way.IsExistedByCode()
  31. if !errors.Is(err, gorm.ErrRecordNotFound) {
  32. logger.Logger.Errorf("Create IsExistedByCode \n")
  33. return errors.New("设备编码已存在!")
  34. }
  35. err = way.AddGateway()
  36. return err
  37. }
  38. func (gateWayService *GateWayService) UpdateGateway(way devices.GateWay) error {
  39. err := way.UpdateGateway()
  40. return err
  41. }
  42. func (gateWayService *GateWayService) DelGateway(id int) error {
  43. way := devices.GateWay{}
  44. err := way.DelGateway(id)
  45. return err
  46. }
  47. func (gateWayService *GateWayService) PublicGateway() (interface{}, error) {
  48. way := devices.GateWay{}
  49. list, err := way.PublicGateway()
  50. return list, err
  51. }