hikvision.go 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. package model
  2. import "gorm.io/gorm"
  3. type Hikvision struct {
  4. gorm.Model
  5. }
  6. type Monitor struct {
  7. Id int `json:"Id"`
  8. Name string `json:"Name"`
  9. Location string `json:"Location"` //位置
  10. State int `json:"State"` //状态
  11. }
  12. type MonitorNms struct {
  13. Id int `json:"Id"`
  14. Name string `json:"Name"`
  15. InspectResult int `json:"InspectResult"` //状态(0-视频异常,1-视频正常,2-登录失败,3-取流异常,4-解码失败,5-码流延时,6-诊断失败)
  16. }
  17. type RealTimeInspection struct {
  18. Id int `json:"Id"`
  19. Name string `json:"Name"` //名称
  20. Location string `json:"Location"` //位置
  21. Event string `json:"Event"` //事件-列3
  22. Date string `json:"Date"`
  23. }
  24. type Device struct {
  25. Id int `json:"Id"`
  26. Car string `json:"Car"` //车牌号
  27. Name string `json:"Name"` //名称
  28. State int `json:"State"` //状态
  29. Date string `json:"Date"` //事件-列3
  30. }
  31. type Visitor struct {
  32. Id int `json:"Id"`
  33. Name string `json:"Name"` //名称
  34. State int `json:"State"` //状态
  35. Phone string `json:"Phone"` //电话
  36. Location string `json:"Location"` //位置
  37. Date string `json:"Date"` //时间
  38. }
  39. type AlarmList struct {
  40. Id int `json:"Id"`
  41. Name string `json:"Name"` //名称
  42. AlarmContent string `json:"AlarmContent"` //告警内容
  43. Location string `json:"Location"` //位置
  44. State int `json:"State"` //状态
  45. Date string `json:"Date"` //时间
  46. }
  47. type Door struct {
  48. Name string `json:"name"`
  49. RegionIndexCodes []string `json:"regionIndexCodes"`
  50. IsSubRegion bool `json:"isSubRegion"`
  51. PageNo int `json:"pageNo"`
  52. PageSize int `json:"pageSize"`
  53. AuthCodes []string `json:"authCodes"`
  54. Expressions []struct {
  55. Key string `json:"key"`
  56. Operator int `json:"operator"`
  57. Values []string `json:"values"`
  58. } `json:"expressions"`
  59. OrderBy string `json:"orderBy"`
  60. OrderType string `json:"orderType"`
  61. }
  62. type DoorResp struct {
  63. Code string `json:"code"`
  64. Msg string `json:"msg"`
  65. Data struct {
  66. Total int `json:"total"`
  67. PageNo int `json:"pageNo"`
  68. PageSize int `json:"pageSize"`
  69. List []DoorList `json:"list"`
  70. } `json:"data"`
  71. }
  72. type DoorList struct {
  73. IndexCode string `json:"indexCode"` //资源唯一编码
  74. ResourceType string `json:"resourceType"` //资源类型
  75. Name string `json:"name"` //资源名称
  76. DoorNo string `json:"doorNo"` //门禁点编号
  77. ChannelNo string `json:"channelNo"` //通道号
  78. ParentIndexCode string `json:"parentIndexCode"` //父资源索引
  79. ControlOneId string `json:"controlOneId"` //一级控制器id
  80. ControlTwoId string `json:"controlTwoId"` //二级控制器id
  81. ReaderInId string `json:"readerInId"` //读卡器1
  82. ReaderOutId string `json:"readerOutId"` //读卡器2
  83. DoorSerial int `json:"doorSerial"` //门序号
  84. TreatyType string `json:"treatyType"` //接入协议
  85. RegionIndexCode string `json:"regionIndexCode"` //所属区域
  86. RegionPath string `json:"regionPath"` //所属区域目录,以@符号分割,包含本节点
  87. CreateTime string `json:"createTime"` //创建时间
  88. UpdateTime string `json:"updateTime"` //更新时间
  89. Description string `json:"description"` //描述
  90. ChannelType string `json:"channelType"` //通道类型
  91. RegionName string `json:"regionName"` //区域名称
  92. RegionPathName string `json:"regionPathName"` //区域目录名称
  93. InstallLocation string `json:"installLocation"` //安装位置
  94. }
  95. type Response struct {
  96. RequestId string `protobuf:"bytes,1,opt,name=requestId,proto3" json:"requestId,omitempty"`
  97. Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"`
  98. Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"`
  99. Data any `json:"data"`
  100. }
  101. type DoControl struct {
  102. Code string `json:"code"`
  103. Msg string `json:"msg"`
  104. Data []DoControlData `json:"data"`
  105. }
  106. type DoControlData struct {
  107. DoorIndexCode string `json:"doorIndexCode"`
  108. ControlResultCode int `json:"controlResultCode"`
  109. ControlResultDesc string `json:"controlResultDesc"`
  110. }
  111. type Doorstates struct {
  112. Code string `json:"code"`
  113. Msg string `json:"msg"`
  114. Data struct {
  115. AuthDoorList []struct {
  116. DoorIndexCode string `json:"doorIndexCode"` //门禁点indexCode
  117. DoorState int `json:"doorState"` //门状态,0 初始状态,1 开门状态,2关门状态,3离线状态
  118. } `json:"authDoorList"`
  119. NoAuthDoorIndexCodeList []string `json:"noAuthDoorIndexCodeList"` //没有权限的门禁点集合
  120. } `json:"data"`
  121. }
  122. // DeviceResource 设备资源
  123. type DeviceResource struct {
  124. Code string `json:"code"`
  125. Msg string `json:"msg"`
  126. Data struct {
  127. Total int `json:"total"`
  128. PageNo int `json:"pageNo"`
  129. PageSize int `json:"pageSize"`
  130. List []struct {
  131. IndexCode string `json:"indexCode"`
  132. Name string `json:"name"`
  133. ResourceType string `json:"resourceType"`
  134. DoorNo string `json:"doorNo"`
  135. Description string `json:"description"`
  136. ParentIndexCodes string `json:"parentIndexCodes"`
  137. RegionIndexCode string `json:"regionIndexCode"`
  138. RegionPath string `json:"regionPath"`
  139. ChannelType string `json:"channelType"`
  140. ChannelNo string `json:"channelNo"`
  141. InstallLocation string `json:"installLocation"`
  142. CapabilitySet string `json:"capabilitySet"`
  143. ControlOneId string `json:"controlOneId"`
  144. ControlTwoId string `json:"controlTwoId"`
  145. ReaderInId string `json:"readerInId"`
  146. ReaderOutId string `json:"readerOutId"`
  147. ComId string `json:"comId"`
  148. CreateTime string `json:"createTime"`
  149. UpdateTime string `json:"updateTime"`
  150. } `json:"list"`
  151. } `json:"data"`
  152. }
  153. type EventLogs struct {
  154. Code string `json:"code"`
  155. Msg string `json:"msg"`
  156. Data struct {
  157. Total int `json:"total"`
  158. PageNo int `json:"pageNo"`
  159. PageSize int `json:"pageSize"`
  160. List []struct {
  161. EventId string `json:"eventId"`
  162. StartTime string `json:"startTime"`
  163. EndTime string `json:"endTime"`
  164. EventType int `json:"eventType"`
  165. SrcIndex string `json:"srcIndex"`
  166. SrcName string `json:"srcName"`
  167. SrcType string `json:"srcType"`
  168. RegionId string `json:"regionId"`
  169. Status int `json:"status"`
  170. } `json:"list"`
  171. } `json:"data"`
  172. }
  173. var ResourceType = map[string]string{
  174. "region": "区域",
  175. "acsDevice": "门禁控制器",
  176. "door": "门禁点",
  177. "reader": "门禁读卡器",
  178. "encodeDevice": "编码设备",
  179. "camera": "监控点",
  180. "ioIn": "报警输入",
  181. "ioOut": "报警输出",
  182. "iasDevice": "入侵报警-报警主机",
  183. "subSys": "入侵报警-子系统",
  184. "defence": "入侵报警-防区通道",
  185. "radarDevice": "入侵报警-雷达设备",
  186. "visDevice": "可视对讲设备",
  187. "visDeviceInDoor": "可视对讲-室内机",
  188. "visDeviceOutDoor": "可视对讲-门口机",
  189. "visDeviceWallDoor": "可视对讲-围墙机",
  190. "visDeviceManager": "可视对讲-管理机",
  191. "ecsDevice": "梯控-控制器",
  192. "ladderCardReader": "梯控-读卡器",
  193. "floor": "梯控-楼层",
  194. "peDevice": "动环设备",
  195. "pemsIoOut": "动环-开关量",
  196. "transducer": "动环-传感器",
  197. "sensor": "动环-环境量",
  198. "snapCamera": "停车场-抓拍机",
  199. "led": "停车场-显示屏",
  200. "inoutControl": "停车场-出入口控制机",
  201. "barrierGate": "停车场-道闸",
  202. "bluetoothReader": "停车场-蓝牙读卡器",
  203. "rfiReader": "停车场-远距离读卡器",
  204. "guideManager": "停车场-诱导管理器",
  205. "guideLed": "停车场-诱导/引导屏幕",
  206. "geoManage": "停车场-地磁管理器",
  207. "monitoringPointDevice": "园区-卡口设备",
  208. "monitoringPoint": "园区-卡口点",
  209. "gardenLed": "园区-显示屏",
  210. "emerdevice": "紧急报警设备",
  211. "talk": "对讲通道",
  212. "electricLock": "电锁",
  213. "alarmLamp": "警灯",
  214. "siren": "警号",
  215. }
  216. func (m *Hikvision) TableName() string {
  217. return "hikvision"
  218. }