mon_common.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package monitor
  2. import (
  3. "server/dao/devices"
  4. "server/global"
  5. "server/model/monitor"
  6. )
  7. type CommonService struct{}
  8. func (s CommonService) DevicesCameras() ([]monitor.CameraTree, error) {
  9. intersect := devices.Intersect{}
  10. intersectList, _ := intersect.PublicIntersect()
  11. camera := devices.Camera{}
  12. list, _ := camera.GetCameraTree()
  13. var rsp []monitor.CameraTree
  14. for _, luk := range intersectList {
  15. var cameraList []monitor.CameraDev
  16. for _, cam := range list {
  17. if cam.GateWay.Intersect.ID == luk.ID {
  18. poleGroupName := cam.CameraName + "(在线)"
  19. if cam.Status == 1 {
  20. poleGroupName = cam.CameraName + "(离线)"
  21. }
  22. devAddress := luk.Address + "--" + cam.ShuntDescribe + "(主路)"
  23. if cam.Shunt == 2 {
  24. devAddress = luk.Address + "--" + cam.ShuntDescribe + "(支路)"
  25. }
  26. cameraList = append(cameraList, monitor.CameraDev{
  27. Id: cam.ID,
  28. PoleGroupName: poleGroupName,
  29. DeviceName: cam.CameraName,
  30. DeviceAddress: devAddress,
  31. DeviceCode: cam.CameraCode,
  32. Status: cam.Status,
  33. StreamAddress: global.GVA_CONFIG.Webrtc.Path + cam.StreamId,
  34. StreamId: cam.StreamId,
  35. })
  36. }
  37. }
  38. rsp = append(rsp, monitor.CameraTree{
  39. PoleGroupName: luk.IntersectName,
  40. CameraList: cameraList,
  41. })
  42. }
  43. return rsp, nil
  44. }