qixiaoning
2025-07-18 24f44f6ecefb5e83295bab670533529c6bc81810
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package vo
 
import (
    "basic.com/pubsub/protomsg.git"
    "vamicro/sync-service/models"
)
 
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"`
    Status                 int                     `json:"status"`
}
 
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"`
}
 
type CamSensorVo struct {
    models.Camera
    Sensors             []models.Sensor         `json:"sensors"`
}