hikvision.go 8.1 KB

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