po.py 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. # -*- coding: utf-8 -*-
  2. # @Author : YY
  3. from typing import Optional
  4. from sqlalchemy import CHAR, DateTime, Index, String, text
  5. from sqlalchemy.dialects.mysql import BIGINT, INTEGER, LONGBLOB, TINYINT
  6. from sqlalchemy.orm import Mapped, mapped_column
  7. import datetime
  8. from ruoyi_admin.ext import db
  9. class SysConfigPo(db.Model):
  10. __tablename__ = 'sys_config'
  11. __table_args__ = {'comment': '参数配置表'}
  12. config_id: Mapped[int] = mapped_column(INTEGER(5), primary_key=True, comment='参数主键')
  13. config_name: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='参数名称')
  14. config_key: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='参数键名')
  15. config_value: Mapped[Optional[str]] = mapped_column(String(500), server_default=text("''"), comment='参数键值')
  16. config_type: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'N'"), comment='系统内置(Y是 N否)')
  17. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  18. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  19. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  20. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  21. remark: Mapped[Optional[str]] = mapped_column(String(500), comment='备注')
  22. class SysDeptPo(db.Model):
  23. __tablename__ = 'sys_dept'
  24. __table_args__ = {'comment': '部门表'}
  25. dept_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='部门id')
  26. parent_id: Mapped[Optional[int]] = mapped_column(BIGINT(20), server_default=text("'0'"), comment='父部门id')
  27. ancestors: Mapped[Optional[str]] = mapped_column(String(50), server_default=text("''"), comment='祖级列表')
  28. dept_name: Mapped[Optional[str]] = mapped_column(String(30), server_default=text("''"), comment='部门名称')
  29. order_num: Mapped[Optional[int]] = mapped_column(INTEGER(4), server_default=text("'0'"), comment='显示顺序')
  30. leader: Mapped[Optional[str]] = mapped_column(String(20), comment='负责人')
  31. phone: Mapped[Optional[str]] = mapped_column(String(11), comment='联系电话')
  32. email: Mapped[Optional[str]] = mapped_column(String(50), comment='邮箱')
  33. status: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='部门状态(0正常 1停用)')
  34. del_flag: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='删除标志(0代表存在 2代表删除)')
  35. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  36. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  37. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  38. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  39. class SysDictDataPo(db.Model):
  40. __tablename__ = 'sys_dict_data'
  41. __table_args__ = {'comment': '字典数据表'}
  42. dict_code: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='字典编码')
  43. dict_sort: Mapped[Optional[int]] = mapped_column(INTEGER(4), server_default=text("'0'"), comment='字典排序')
  44. dict_label: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='字典标签')
  45. dict_value: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='字典键值')
  46. dict_type: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='字典类型')
  47. css_class: Mapped[Optional[str]] = mapped_column(String(100), comment='样式属性(其他样式扩展)')
  48. list_class: Mapped[Optional[str]] = mapped_column(String(100), comment='表格回显样式')
  49. is_default: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'N'"), comment='是否默认(Y是 N否)')
  50. status: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='状态(0正常 1停用)')
  51. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  52. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  53. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  54. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  55. remark: Mapped[Optional[str]] = mapped_column(String(500), comment='备注')
  56. class SysDictTypePo(db.Model):
  57. __tablename__ = 'sys_dict_type'
  58. __table_args__ = (
  59. Index('dict_type', 'dict_type', unique=True),
  60. {'comment': '字典类型表'}
  61. )
  62. dict_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='字典主键')
  63. dict_name: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='字典名称')
  64. dict_type: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='字典类型')
  65. status: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='状态(0正常 1停用)')
  66. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  67. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  68. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  69. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  70. remark: Mapped[Optional[str]] = mapped_column(String(500), comment='备注')
  71. class SysLogininforPo(db.Model):
  72. __tablename__ = 'sys_logininfor'
  73. __table_args__ = {'comment': '系统访问记录'}
  74. info_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='访问ID')
  75. user_name: Mapped[Optional[str]] = mapped_column(String(50), server_default=text("''"), comment='用户账号')
  76. ipaddr: Mapped[Optional[str]] = mapped_column(String(128), server_default=text("''"), comment='登录IP地址')
  77. login_location: Mapped[Optional[str]] = mapped_column(String(255), server_default=text("''"), comment='登录地点')
  78. browser: Mapped[Optional[str]] = mapped_column(String(50), server_default=text("''"), comment='浏览器类型')
  79. os: Mapped[Optional[str]] = mapped_column(String(50), server_default=text("''"), comment='操作系统')
  80. status: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='登录状态(0成功 1失败)')
  81. msg: Mapped[Optional[str]] = mapped_column(String(255), server_default=text("''"), comment='提示消息')
  82. login_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='访问时间')
  83. class SysMenuPo(db.Model):
  84. __tablename__ = 'sys_menu'
  85. __table_args__ = {'comment': '菜单权限表'}
  86. menu_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='菜单ID')
  87. menu_name: Mapped[str] = mapped_column(String(50), comment='菜单名称')
  88. parent_id: Mapped[Optional[int]] = mapped_column(BIGINT(20), server_default=text("'0'"), comment='父菜单ID')
  89. order_num: Mapped[Optional[int]] = mapped_column(INTEGER(4), server_default=text("'0'"), comment='显示顺序')
  90. path: Mapped[Optional[str]] = mapped_column(String(200), server_default=text("''"), comment='路由地址')
  91. component: Mapped[Optional[str]] = mapped_column(String(255), comment='组件路径')
  92. query: Mapped[Optional[str]] = mapped_column(String(255), comment='路由参数')
  93. is_frame: Mapped[Optional[int]] = mapped_column(INTEGER(1), server_default=text("'1'"), comment='是否为外链(0是 1否)')
  94. is_cache: Mapped[Optional[int]] = mapped_column(INTEGER(1), server_default=text("'0'"), comment='是否缓存(0缓存 1不缓存)')
  95. menu_type: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("''"), comment='菜单类型(M目录 C菜单 F按钮)')
  96. visible: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='菜单状态(0显示 1隐藏)')
  97. status: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='菜单状态(0正常 1停用)')
  98. perms: Mapped[Optional[str]] = mapped_column(String(100), comment='权限标识')
  99. icon: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("'#'"), comment='菜单图标')
  100. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  101. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  102. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  103. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  104. remark: Mapped[Optional[str]] = mapped_column(String(500), server_default=text("''"), comment='备注')
  105. class SysNoticePo(db.Model):
  106. __tablename__ = 'sys_notice'
  107. __table_args__ = {'comment': '通知公告表'}
  108. notice_id: Mapped[int] = mapped_column(INTEGER(4), primary_key=True, comment='公告ID')
  109. notice_title: Mapped[str] = mapped_column(String(50), comment='公告标题')
  110. notice_type: Mapped[str] = mapped_column(CHAR(1), comment='公告类型(1通知 2公告)')
  111. notice_content: Mapped[Optional[bytes]] = mapped_column(LONGBLOB, comment='公告内容')
  112. status: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='公告状态(0正常 1关闭)')
  113. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  114. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  115. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  116. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  117. remark: Mapped[Optional[str]] = mapped_column(String(255), comment='备注')
  118. class SysOperLogPo(db.Model):
  119. __tablename__ = 'sys_oper_log'
  120. __table_args__ = {'comment': '操作日志记录'}
  121. oper_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='日志主键')
  122. title: Mapped[Optional[str]] = mapped_column(String(50), server_default=text("''"), comment='模块标题')
  123. business_type: Mapped[Optional[int]] = mapped_column(INTEGER(2), server_default=text("'0'"), comment='业务类型(0其它 1新增 2修改 3删除)')
  124. method: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='方法名称')
  125. request_method: Mapped[Optional[str]] = mapped_column(String(10), server_default=text("''"), comment='请求方式')
  126. operator_type: Mapped[Optional[int]] = mapped_column(INTEGER(1), server_default=text("'0'"), comment='操作类别(0其它 1后台用户 2手机端用户)')
  127. oper_name: Mapped[Optional[str]] = mapped_column(String(50), server_default=text("''"), comment='操作人员')
  128. dept_name: Mapped[Optional[str]] = mapped_column(String(50), server_default=text("''"), comment='部门名称')
  129. oper_url: Mapped[Optional[str]] = mapped_column(String(255), server_default=text("''"), comment='请求URL')
  130. oper_ip: Mapped[Optional[str]] = mapped_column(String(128), server_default=text("''"), comment='主机地址')
  131. oper_location: Mapped[Optional[str]] = mapped_column(String(255), server_default=text("''"), comment='操作地点')
  132. oper_param: Mapped[Optional[str]] = mapped_column(String(2000), server_default=text("''"), comment='请求参数')
  133. json_result: Mapped[Optional[str]] = mapped_column(String(2000), server_default=text("''"), comment='返回参数')
  134. status: Mapped[Optional[int]] = mapped_column(INTEGER(1), server_default=text("'0'"), comment='操作状态(0正常 1异常)')
  135. error_msg: Mapped[Optional[str]] = mapped_column(String(2000), server_default=text("''"), comment='错误消息')
  136. oper_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='操作时间')
  137. class SysPostPo(db.Model):
  138. __tablename__ = 'sys_post'
  139. __table_args__ = {'comment': '岗位信息表'}
  140. post_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='岗位ID')
  141. post_code: Mapped[str] = mapped_column(String(64), comment='岗位编码')
  142. post_name: Mapped[str] = mapped_column(String(50), comment='岗位名称')
  143. post_sort: Mapped[int] = mapped_column(INTEGER(4), comment='显示顺序')
  144. status: Mapped[str] = mapped_column(CHAR(1), comment='状态(0正常 1停用)')
  145. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  146. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  147. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  148. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  149. remark: Mapped[Optional[str]] = mapped_column(String(500), comment='备注')
  150. class SysRolePo(db.Model):
  151. __tablename__ = 'sys_role'
  152. __table_args__ = {'comment': '角色信息表'}
  153. role_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='角色ID')
  154. role_name: Mapped[str] = mapped_column(String(30), comment='角色名称')
  155. role_key: Mapped[str] = mapped_column(String(100), comment='角色权限字符串')
  156. role_sort: Mapped[int] = mapped_column(INTEGER(4), comment='显示顺序')
  157. status: Mapped[str] = mapped_column(CHAR(1), comment='角色状态(0正常 1停用)')
  158. data_scope: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'1'"), comment='数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)')
  159. menu_check_strictly: Mapped[Optional[int]] = mapped_column(TINYINT(1), server_default=text("'1'"), comment='菜单树选择项是否关联显示')
  160. dept_check_strictly: Mapped[Optional[int]] = mapped_column(TINYINT(1), server_default=text("'1'"), comment='部门树选择项是否关联显示')
  161. del_flag: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='删除标志(0代表存在 2代表删除)')
  162. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  163. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  164. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  165. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  166. remark: Mapped[Optional[str]] = mapped_column(String(500), comment='备注')
  167. class SysRoleDeptPo(db.Model):
  168. __tablename__ = 'sys_role_dept'
  169. __table_args__ = {'comment': '角色和部门关联表'}
  170. role_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='角色ID')
  171. dept_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='部门ID')
  172. class SysRoleMenuPo(db.Model):
  173. __tablename__ = 'sys_role_menu'
  174. __table_args__ = {'comment': '角色和菜单关联表'}
  175. role_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='角色ID')
  176. menu_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='菜单ID')
  177. class SysUserPo(db.Model):
  178. __tablename__ = 'sys_user'
  179. __table_args__ = {'comment': '用户信息表'}
  180. user_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='用户ID')
  181. user_name: Mapped[str] = mapped_column(String(30), comment='用户账号')
  182. nick_name: Mapped[str] = mapped_column(String(30), comment='用户昵称')
  183. dept_id: Mapped[Optional[int]] = mapped_column(BIGINT(20), comment='部门ID')
  184. user_type: Mapped[Optional[str]] = mapped_column(String(2), server_default=text("'00'"), comment='用户类型(00系统用户)')
  185. email: Mapped[Optional[str]] = mapped_column(String(50), server_default=text("''"), comment='用户邮箱')
  186. phonenumber: Mapped[Optional[str]] = mapped_column(String(11), server_default=text("''"), comment='手机号码')
  187. sex: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='用户性别(0男 1女 2未知)')
  188. avatar: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='头像地址')
  189. password: Mapped[Optional[str]] = mapped_column(String(100), server_default=text("''"), comment='密码')
  190. status: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='帐号状态(0正常 1停用)')
  191. del_flag: Mapped[Optional[str]] = mapped_column(CHAR(1), server_default=text("'0'"), comment='删除标志(0代表存在 2代表删除)')
  192. login_ip: Mapped[Optional[str]] = mapped_column(String(128), server_default=text("''"), comment='最后登录IP')
  193. login_date: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='最后登录时间')
  194. create_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='创建者')
  195. create_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='创建时间')
  196. update_by: Mapped[Optional[str]] = mapped_column(String(64), server_default=text("''"), comment='更新者')
  197. update_time: Mapped[Optional[datetime.datetime]] = mapped_column(DateTime, comment='更新时间')
  198. remark: Mapped[Optional[str]] = mapped_column(String(500), comment='备注')
  199. class SysUserPostPo(db.Model):
  200. __tablename__ = 'sys_user_post'
  201. __table_args__ = {'comment': '用户与岗位关联表'}
  202. user_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='用户ID')
  203. post_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='岗位ID')
  204. class SysUserRolePo(db.Model):
  205. __tablename__ = 'sys_user_role'
  206. __table_args__ = {'comment': '用户和角色关联表'}
  207. user_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='用户ID')
  208. role_id: Mapped[int] = mapped_column(BIGINT(20), primary_key=True, comment='角色ID')