dev_gateway.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. detail.RelationDev.Screens = screensList
  22. detail.RelationDev.Camera = cameraList
  23. details = append(details, detail)
  24. }
  25. return details, total, err
  26. }
  27. func (gateWayService *GateWayService) AddGateway(way devices.GateWay) error {
  28. err := way.IsExistedByCode()
  29. if !errors.Is(err, gorm.ErrRecordNotFound) {
  30. logger.Logger.Errorf("Create IsExistedByCode \n")
  31. return errors.New("设备编码已存在!")
  32. }
  33. err = way.AddGateway()
  34. return err
  35. }
  36. func (gateWayService *GateWayService) UpdateGateway(way devices.GateWay) error {
  37. err := way.UpdateGateway()
  38. return err
  39. }
  40. func (gateWayService *GateWayService) DelGateway(id int) error {
  41. way := devices.GateWay{}
  42. err := way.DelGateway(id)
  43. return err
  44. }
  45. func (gateWayService *GateWayService) PublicGateway() (interface{}, error) {
  46. way := devices.GateWay{}
  47. list, err := way.PublicGateway()
  48. return list, err
  49. }