package vo import ( "vamicro/camera-common/models" "basic.com/pubsub/protomsg.git" ) type CameraEditVo struct { models.Camera AreaId string `json:"areaId"` Sensors []models.Sensor `json:"sensors"` } func (v *CameraEditVo) Copy2Camera() models.Camera { return v.Camera } // 摄像机运行状态结构体 type CameraRunVo struct { Id string `json:"id"` //摄像机id Name string `json:"name"` //摄像机名称 IsRunning bool `json:"is_running"` //是否正在运行(0:未运行任务,1:正在运行任务) RunType int `json:"run_type"` //运行类型(0:轮询,1:实时) RunEnable bool `json:"run_enable"` //是否启用 } type CameraChangeRunVo struct { CameraIds []string `json:"camera_ids"` RunType int `json:"run_type"` } type CameraRunInfo struct { models.Camera RunServerName string `json:"runServerName"` // Tasks []CameraRunTask `json:"tasks"` AllTasks []models.TaskM `json:"allTasks"` Status int `json:"status"` LinkCams [][]LinkCam `json:"linkCams"` //与此摄像机联动的所有联动摄像机信息,分组 } type LinkCam struct { Id string `json:"id"` Name string `json:"name"` } type CameraRunTask struct { TaskName string `json:"taskname"` //场景名称 HasRule bool `json:"hasRule"` } func (cri *CameraRunInfo) CopyFromCamera(v models.Camera) { cri.Camera = v } func (cri *CameraRunInfo) CopyFromProtoCamera(v protomsg.Camera) { cri.Camera = models.Camera{ Id: v.Id, Name: v.Name, Alias: v.Alias, SnapshotUrl: v.SnapshotUrl, Type: int(v.Type), Addr: v.Addr, Longitude: v.Longitude, Latitude: v.Latitude, Floor: int(v.Floor), Rtsp: v.Rtsp, Ip: v.Ip, Port: int(v.Port), Username: v.Username, Password: v.Password, Brand: v.Brand, Reserved: v.Reserved, IsRunning: v.IsRunning, RunEnable: v.RunEnable, RunType: int(v.RunType), RunServerId: v.RunServerId, ResolutionWidth: int(v.ResolutionWidth), ResolutionHeight: int(v.ResolutionHeight), VoiceEnable: v.VoiceEnable, VoiceId: v.VoiceId, } } type CameraRunStatistic struct { ChannelTotal int `json:"channelTotal"` RealTotal int `json:"realTotal"` RealValidCount int `json:"realValidCount"` RealInvalidCount int `json:"realInvalidCount"` RealRunningCount int `json:"realRunningCount"` PollChannelCount int `json:"pollChannelCount"` PollTotal int `json:"pollTotal"` PollValidCount int `json:"pollValidCount"` PollInvalidCount int `json:"pollInvalidCount"` PollRunningCount int `json:"pollRunningCount"` StackChannelCount int `json:"stackChannelCount"` //数据栈占用通道数量 StackTotal int `json:"stackTotal"` StackValidCount int `json:"stackValidCount"` StackInvalidCount int `json:"stackInvalidCount"` StackRunningCount int `json:"stackRunningCount"` DuanliuID []string `json:"duanliuID"` // 山东断流监控 } type CamSensorVo struct { models.Camera Sensors []models.Sensor `json:"sensors"` } type CameraQueryVo struct { IsOnMap bool `json:"isOnMap"` Floor int `json:"floor"` CameraName string `json:"cameraName"` } type CameraPosVo struct { Id string `json:"id"` Floor int `json:"floor"` Longitude float32 `json:"longitude"` Latitude float32 `json:"latitude"` } type CoordTrans struct { X0 int `json:"x0"` Y0 int `json:"y0"` X1 int `json:"x1"` Y1 int `json:"y1"` } type CoordSetVo struct { CameraId string `json:"cameraId"` Coords []CoordTrans `json:"coords"` } type CoordTransShow struct { Coords []CoordTrans `json:"coords"` //在本摄像机底图上的标定坐标 PanoramaCoords []CPoint `json:"panoramaCoords"` //在全景图上显示的坐标 } type CPoint struct { X float32 `json:"x"` Y float32 `json:"y"` } type CCoordResult struct { Result []CPoint `json:"result"` } type SyncCameraResult struct { Cameras []models.Camera `json:"camera"` Area []models.Area `json:"area"` CameraArea []models.CameraArea `json:"camera_area"` } type SyncSensorResult struct { Sensor []models.Sensor `json:"sensor"` CameraSensor []models.CameraSensor `json:"camera_sensor"` }