qixiaoning
2025-07-22 550492cb85ea7e01831939f2866259193378f2f7
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
101
102
package vo
 
import (
    "vamicro/sync-service/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.Task   `json:"allTasks"`
    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"`
}