users.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from datetime import datetime
  2. import time
  3. from sqlalchemy import create_engine, String, Column, Integer, DateTime
  4. from werkzeug.security import check_password_hash, generate_password_hash
  5. from app.modle import Base
  6. def cnNow():
  7. """获取时间,年月日时分秒格式"""
  8. return datetime.now().strftime("%Y-%m-%d %H:%M:%S")
  9. class User(Base):
  10. """用户表"""
  11. __tablename__ = "users"
  12. id = Column(Integer, primary_key=True, autoincrement=True, nullable=False, unique=True, doc='用户id')
  13. user_name = Column(String, nullable=False, unique=True, index=False, doc='用户名')
  14. password = Column(String, nullable=False, unique=False, index=False, doc='密码')
  15. photograph = Column(String, nullable=True, unique=False, index=False, doc='照片')
  16. name = Column(String, nullable=True, unique=False, index=False, doc='姓名')
  17. phone = Column(Integer, nullable=True, unique=False, index=False, doc='电话')
  18. email = Column(String, nullable=True, unique=False, index=False, doc='邮箱')
  19. company = Column(String, nullable=True, unique=False, index=False, doc='公司')
  20. department = Column(String, nullable=True, unique=False, index=False, doc='部门')
  21. role = Column(String, nullable=True, unique=False, index=False, doc='角色')
  22. permission = Column(String, nullable=True, unique=False, index=False, doc='权限')
  23. on_job_status = Column(String, nullable=True, unique=False, index=False, doc='在职状态')
  24. duty = Column(String, nullable=True, unique=False, index=False, doc='职务')
  25. account_status = Column(Integer, nullable=True, unique=False, index=False, default=0,
  26. doc='账户状态,0为正常,1为禁用')
  27. nationality = Column(String, nullable=True, unique=False, index=False, doc='国籍')
  28. register_time = Column(DateTime, nullable=True, unique=False, index=False, default=cnNow(), doc='注册时间')
  29. # 赋值password,则自动加密存储。
  30. def generate_password(self, value):
  31. return generate_password_hash(value)
  32. # 使用check_password,进行密码校验,返回True False。
  33. def check_password(self, pasword):
  34. return check_password_hash(self.password, pasword)