video_base.py 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. # -*- coding: utf-8 -*-
  2. from sqlalchemy import String, Column, Integer,DateTime,Text,BigInteger,Boolean,PrimaryKeyConstraint,Index,UniqueConstraint,CHAR,LargeBinary,TIMESTAMP,Float
  3. from sqlalchemy.dialects.mysql import TINYINT
  4. from sqlalchemy.sql import func
  5. from database import Base
  6. from datetime import datetime
  7. class TpVideoLog(Base):
  8. __tablename__ = 'tp_video_log'
  9. name = Column(String(255, collation='utf8mb4_bin'), autoincrement=True, primary_key=True, nullable=True, default=None)
  10. area = Column(String(255, collation='utf8mb4_bin'), nullable=True, default=None)
  11. ip = Column(String(255, collation='utf8mb4_bin'), nullable=True, default=None)
  12. status = Column(String(255, collation='utf8mb4_bin'), nullable=True, default=None)
  13. status_lifetime = Column(String(255, collation='utf8mb4_bin'), nullable=True, default=None)
  14. record_status = Column(String(255, collation='utf8mb4_bin'), nullable=True, default=None)
  15. inspection_datetime = Column(String(255, collation='utf8mb4_bin'), nullable=True, default=None)
  16. video_code_int = Column(String(255, collation='utf8mb4_bin'), nullable=True, default=None)
  17. video_code = Column(String(255, collation='utf8mb4_bin'), nullable=True, default=None)
  18. class Config:
  19. orm_mode = True
  20. class TpVideoBase(Base):
  21. __tablename__ = 'tp_video_base'
  22. cameraid = Column(String(100), autoincrement=True, primary_key=True, nullable=True)
  23. indexcode = Column(String(100), nullable=True)
  24. name = Column(String(255), nullable=True)
  25. manufacturer = Column(String(50), nullable=True)
  26. model = Column(String(50), nullable=True)
  27. owner = Column(String(50), nullable=True)
  28. civilcode = Column(String(255), nullable=True)
  29. block = Column(String(100), nullable=True)
  30. address = Column(String(255), nullable=True)
  31. parental = Column(String(2), nullable=True)
  32. parentid = Column(String(255), nullable=True)
  33. safetyway = Column(String(2), nullable=True)
  34. registerway = Column(String(2), nullable=True)
  35. certnum = Column(String(2), nullable=True)
  36. certifiable = Column(String(2), nullable=True)
  37. errorcode = Column(String(10), nullable=True)
  38. endtime = Column(String(255), nullable=True)
  39. secrecy = Column(String(2), nullable=True)
  40. ipaddress = Column(String(255), nullable=True)
  41. port = Column(String(10), nullable=True)
  42. password = Column(String(10), nullable=True)
  43. status = Column(String(10), nullable=True)
  44. recordpos = Column(String(10), nullable=True)
  45. cameratype = Column(String(2), nullable=True)
  46. decodetag = Column(String(10), nullable=True)
  47. longitude = Column(Float, nullable=True)
  48. latitude = Column(Float, nullable=True)
  49. elevation = Column(String(5), nullable=True)
  50. targettype = Column(String(2), nullable=True)
  51. targetsubtype = Column(String(2), nullable=True)
  52. cascadeid = Column(String(10), nullable=True)
  53. cascadecode = Column(String(100), nullable=True)
  54. querystatus = Column(String(2), nullable=True)
  55. privilege = Column(String(5), nullable=True)
  56. updatatime = Column(String(255), nullable=True)
  57. elseex = Column(String(255), nullable=True)
  58. recordstate = Column(String(2), nullable=True)
  59. extrafield = Column(String(255), nullable=True)
  60. internalindexcode = Column(String(255), nullable=True)
  61. positioncode = Column(String(10), nullable=True)
  62. bstandard = Column(String(2), nullable=True)
  63. pushpath = Column(String(255), nullable=True)
  64. class Config:
  65. orm_mode = True
  66. class TpVideoTag(Base):
  67. __tablename__ = 'tp_video_tag'
  68. id = Column(String(255), primary_key=True)
  69. video_code = Column(String(255), nullable=True, comment='视频编号')
  70. dict_value = Column(String(255), nullable=True, comment='字典映射值')
  71. dict_type = Column(String(255), nullable=True, comment='字典映射类型')
  72. del_flag = Column(String(1), default='0', comment='删除标志(0代表存在 2代表删除)')
  73. create_time = Column(DateTime, default=datetime.now, comment='数据创建时间')
  74. update_time = Column(DateTime, default=datetime.now, onupdate=datetime.now, comment='数据更新时间')
  75. create_dept = Column(BigInteger, default=None, comment='创建部门')
  76. create_by = Column(BigInteger, default=None, comment='创建者')
  77. update_by = Column(BigInteger, default=None, comment='更新者')
  78. class Config:
  79. orm_mode = True
  80. class TpVideoLogTransportationAreaInfo(Base):
  81. __tablename__ = 'tp_video_log_transportation_area_info'
  82. id = Column(String(255), primary_key=True)
  83. video_code = Column(String(100),primary_key=True, nullable=True)
  84. area = Column(String(255), nullable=True)
  85. longitude = Column(Float, nullable=True)
  86. latitude = Column(Float, nullable=True)
  87. class Config:
  88. orm_mode = True
  89. class AvconDevice(Base):
  90. '''
  91. 融合通信设备
  92. '''
  93. __tablename__ = 'avcon_device'
  94. dev_id = Column(String, primary_key=True, comment='设备ID')
  95. dev_name = Column(String, nullable=True, comment='设备名称')
  96. dev_type = Column(String, nullable=True, comment='设备类型')
  97. domain = Column(String, nullable=True, comment='区域')
  98. group_id = Column(String, nullable=True, comment='分组')
  99. group_name = Column(String, nullable=True, comment='分组名称')
  100. parent_group_id = Column(String, nullable=True, comment='父分组')
  101. status = Column(Integer, default=None, comment='状态')
  102. create_time = Column(DateTime, default=datetime.now, comment='数据创建时间')
  103. channel_num = Column(Integer, default=None, comment='通道数')
  104. class Config:
  105. orm_mode = True
  106. class AvconDeviceChannel(Base):
  107. '''
  108. 融合通信设备
  109. '''
  110. __tablename__ = 'avcon_device_channel'
  111. channel_id = Column(String, primary_key=True, comment='通道ID')
  112. channel_name = Column(String, default='', nullable=True, comment='通道名称')
  113. channel_no = Column(String, default='', nullable=True, comment='通道名称')
  114. dev_id = Column(String, default='', nullable=True, comment='设备ID')
  115. status = Column(Integer, nullable=True, comment='设备类型')
  116. lat = Column(String, default='', nullable=True, comment='纬度')
  117. lng = Column(String, default='', nullable=True, comment='经度')
  118. live_url = Column(String, default='', nullable=True, comment='直播流')
  119. play_url = Column(String, default='', nullable=True, comment='通道直播页面完整地址')
  120. create_time = Column(DateTime, default=datetime.now, comment='数据创建时间')
  121. class Config:
  122. orm_mode = True
  123. class AvconUser(Base):
  124. '''
  125. 融合设备账号映射
  126. '''
  127. __tablename__ = 'avcon_user'
  128. user_id = Column(BigInteger, primary_key=True,autoincrement=True, comment='用户ID')
  129. dev_id = Column(String, nullable=False, comment='融合设备ID')
  130. dev_name = Column(String, default='', nullable=True, comment='融合设备名称')
  131. class Config:
  132. orm_mode = True
  133. class VideoJob(Base):
  134. '''
  135. 融合设备账号映射
  136. '''
  137. __tablename__ = 'tp_video_job'
  138. video_code = Column(String, primary_key=True, comment='点位编号')
  139. status = Column(Integer, nullable=True, comment='在线状态 1 在线 0 离线 9 未知')
  140. update_time = Column(DateTime, default=datetime.now, nullable=True, comment='更新时间')
  141. class Config:
  142. orm_mode = True
  143. class TPVideoInfo(Base):
  144. __tablename__ = "tp_video_info"
  145. cameraIndexCode = Column(String(100), primary_key=True, comment="摄像头索引码")
  146. gbIndexCode = Column(String(100), comment="国标索引码")
  147. name = Column(String(255), comment="摄像头名称")
  148. longitude = Column(Float, comment="经度")
  149. latitude = Column(Float, comment="纬度")
  150. altitude = Column(String(255), comment="海拔")
  151. pixel = Column(String(50), comment="像素")
  152. cameraType = Column(String(50), comment="摄像头类型代码")
  153. cameraTypeName = Column(String(100), comment="摄像头类型名称")
  154. installPlace = Column(String(255), comment="安装位置")
  155. unitIndexCode = Column(String(255), comment="所属组织编号")
  156. regionPath = Column(Text, comment='机构路径')
  157. updateTime = Column(DateTime, server_default=func.now(), onupdate=func.now(), comment="更新时间")
  158. createTime = Column(DateTime, server_default=func.now(), comment="创建时间")
  159. status = Column(String(255), comment="状态码")
  160. statusName = Column(String(250), comment="状态名称")
  161. location = Column(String(255)) # 存储 POINT 类型的字符串表示
  162. class TPVideoRegion(Base):
  163. __tablename__ = 'tp_video_region' # 表名
  164. # 字段定义
  165. indexCode = Column(String(255),primary_key=True, nullable=False, comment='组织编号(长度1-255位)')
  166. name = Column(String(255), nullable=False, comment='组织名称(长度1-255位)')
  167. regionPath = Column(Text, comment='机构路径')
  168. parentIndexCode = Column(String(255), comment='父组织编号(长度1-255位)')
  169. treeCode = Column(String(255), comment='树编码')
  170. externalIndexCode = Column(String(255), comment='国标编码')
  171. sort = Column(Integer, comment='排序')
  172. updateTime = Column(DateTime, server_default=func.now(), onupdate=func.now(), comment="更新时间")
  173. createTime = Column(DateTime, server_default=func.now(), comment="创建时间")
  174. status = Column(String(255), comment="状态码")
  175. available=Column(Integer, comment='是否显示')
  176. leaf=Column(Integer, comment='是否叶')