from sqlalchemy import Column, DateTime, Integer, String from domain.models.base_model import Base, FullModelBase class SysUserModel(FullModelBase): """ 用户信息表 """ __tablename__ = "sys_user" dept_id = Column(Integer, default=None, comment="部门ID") username = Column(String(30), nullable=False, comment="用户账号") nick_name = Column(String(30), nullable=False, comment="用户昵称") user_type = Column(String(2), default="00", comment="用户类型(00系统用户)") email = Column(String(50), default="", comment="用户邮箱") phonenumber = Column(String(11), default="", comment="手机号码") sex = Column(Integer, default=0, comment="用户性别(0男 1女 2未知)") avatar = Column(String(100), default="", comment="头像地址") password = Column(String(100), default="", comment="密码") status = Column(Integer, default=0, comment="帐号状态(0正常 1停用)") is_lock = Column( Integer, nullable=False, default=0, comment="是否锁定,0:未锁定,1:锁定" ) lock_at = Column(DateTime, comment="锁定时间") login_fail_count = Column( Integer, nullable=False, default=0, comment="登录失败次数" ) remark = Column(String(500), default=None, comment="备注") class SysUserRoleModel(Base): """ 用户和角色关联表 """ __tablename__ = "sys_user_role" user_id = Column(Integer, primary_key=True, nullable=False, comment="用户ID") role_id = Column(Integer, primary_key=True, nullable=False, comment="角色ID") class SysUserPostModel(Base): """ 用户与岗位关联表 """ __tablename__ = "sys_user_post" user_id = Column(Integer, primary_key=True, nullable=False, comment="用户ID") post_id = Column(Integer, primary_key=True, nullable=False, comment="岗位ID")