예제 #1
0
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), unique=False, default="", index=True)
    phone = db.Column(db.String(255), unique=True, default="", index=True)
    email = db.Column(db.String(255), unique=True, default="", index=True)
    password = db.Column(db.String(255), default="")
    info = db.Column(db.Text(), default="")
    avatar_url = db.Column(db.String(1024), default="")
    gender = db.Column(db.SmallInteger(), default=-1)
    status = db.Column(db.SmallInteger(), default=0, index=True)
    create_time = db.Column(db.DateTime(), server_default=func.now())
    update_time = db.Column(db.DateTime(),
                            server_default=func.now(),
                            onupdate=func.now())

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return str(self.id).encode("utf-8").decode("utf-8")
예제 #2
0
class Drug(db.Model):
    __tablename__ = 'drug'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    num = db.Column(db.String(50), nullable=False)
    name = db.Column(db.String(50), nullable=False)
    desc = db.Column(db.String(500), nullable=False)
    isSale = db.Column(db.Boolean(), nullable=False, default=False)
    # isChoose = db.Column(db.Boolean(), nullable=False, default=False)
    stockDate = db.Column(db.DateTime(), default=datetime.now)
    stockPrice = db.Column(db.REAL(), nullable=True, default=0)
    saleDate = db.Column(db.DateTime(), nullable=True)
    salePice = db.Column(db.REAL(), nullable=True, default=0)
    # foreignkey药品关联药品类别表id
    drugTypeId = db.Column(db.Integer(), db.ForeignKey('drugType.id'))
    drugType = db.relationship('DrugType', backref='drug')
예제 #3
0
class User(db.Model):
    """前台用户"""
    __tablename__ = 'user'

    id = db.Column(db.String(50), primary_key=True, default=uuid)
    username = db.Column(db.String(50), nullable=False)
    telephone = db.Column(db.String(20), nullable=False, unique=True)
    _password = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(50), unique=True)
    avatar = db.Column(db.String(100))
    signature = db.Column(db.String(200))
    realname = db.Column(db.String(50))
    gender = db.Column(db.Enum(GenderEnum), default=GenderEnum.DOKNOW)
    join_time = db.Column(db.DateTime(), default=datetime.now)

    def __init__(self, *args, **kwargs):
        if 'password' in kwargs:
            self.password = kwargs.pop('password')

        super(User, self).__init__(*args, **kwargs)

    @property
    def password(self):
        return self._password

    @password.setter
    def password(self, newpwd):
        self._password = generate_password_hash(newpwd)

    def check_password(self, password):
        return check_password_hash(self.password, password)
예제 #4
0
class FrontUser(db.Model):
    __tablename__ = 'front_user'

    id = db.Column(db.String(100), primary_key=True, default=shortuuid.uuid())
    telephone = db.Column(db.String(11), nullable=False)
    email = db.Column(db.String(100), unique=True)
    username = db.Column(db.String(100), nullable=False)
    _password = db.Column(db.String(100), nullable=False)
    join_time = db.Column(db.DateTime(), default=datetime.datetime.now)
    is_active = db.Column(db.Boolean, default=True)
    last_login_time = db.Column(db.DateTime, nullable=True)
    old_login_time = db.Column(db.DateTime)
    qq = db.Column(db.String(20))
    realname = db.Column(db.String(20))
    gender = db.Column(db.Integer, default=GenderType.UNKNOW)
    avatar = db.Column(db.String(100))
    signature = db.Column(db.String(60))
    points = db.Column(db.Integer, default=0)
    is_sign_in = db.Column(db.Boolean, default=True)

    def __init__(self, telephone, username, password):
        self.telephone = telephone
        self.username = username
        self.password = password

    @property
    def password(self):
        return self._password

    @password.setter
    def password(self, rawpwd):
        self._password = generate_password_hash(rawpwd)

    def check_password(self, rawpwd):
        return check_password_hash(self._password, rawpwd)
예제 #5
0
파일: models.py 프로젝트: gzs4850/ifsys
class avlDept(db.Model):
    __tablename__ = 'avl_dept'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    dept_code = db.Column(db.String(64),nullable=False)
    dept_name = db.Column(db.String(32),nullable=False)
    status = db.Column(db.String(10))
    ts = db.Column(db.DateTime(), default=datetime.datetime.utcnow())
    useage = db.Column(db.String(50),nullable=False)
예제 #6
0
class User(UserMixin, db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    email = db.Column(db.String(50), nullable=False, index=True, unique=True)
    telephone = db.Column(db.String(11), nullable=False)
    username = db.Column(db.String(50), nullable=False)
    password_hash = db.Column(db.String(128), nullable=False)
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    location = db.Column(db.String(64))
    about_me = db.Column(db.Text())
    member_since = db.Column(db.DateTime(), default=datetime.utcnow)
    last_seen = db.Column(db.DateTime(), default=datetime.utcnow)
    courses = db.relationship('Course',
                              secondary=follows,
                              backref=db.backref('users', lazy='dynamic'),
                              lazy='dynamic')
    comments = db.relationship('Comment',
                               backref=db.backref('user'),
                               lazy='dynamic')

    #todo:need to handle

    def __init__(self, **kwargs):
        super(User, self).__init__(**kwargs)
        if self.role is None:
            if self.email == current_app.config['FLASK_ADMIN']:
                self.role = Role.query.filter_by(name='Administrator').first()
            if self.role is None:
                self.role = Role.query.filter_by(default=True).first()

    @property
    def password(self):
        raise AttributeError('password is not a readable attribute')

    @password.setter
    def password(self, password):
        self.password_hash = generate_password_hash(password)

    def verify_password(self, password):
        return check_password_hash(self.password_hash, password)

    def can(self, perm):
        return self.role is not None and self.role.has_permission(perm)

    def is_administrator(self):
        return self.can(Permission.ADMIN)
예제 #7
0
class CMSUser(db.Model):

    __tablename__ = 'cms_user'

    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    email = db.Column(db.String(255),nullable=False,unique=True)
    username = db.Column(db.String(255),nullable=False)
    _password = db.Column(db.String(255),nullable=False)
    join_time = db.Column(db.DateTime(),default=datetime.datetime.now)
    is_active = db.Column(db.Boolean,default=True)
    last_login_time = db.Column(db.DateTime,nullable=True)
    roles = db.relationship('CMSRole',secondary=cms_user_role,backref='users')


    def __init__(self,email,username,password):
        self.email = email
        self.username  = username
        self.password = password

    @property
    def password(self):
        return self._password

    @password.setter
    def password(self,rawpwd):
        self._password = generate_password_hash(rawpwd)

    def check_password(self,rawpwd):
        return check_password_hash(self.password,rawpwd)

    @property
    def is_superadmin(self):
        return self.has_permission(CMSPermission.ADMINSTRATOR)

    def has_permission(self,permission):
        if not self.roles:
            return None
        all_permission = 0
        for role in self.roles:
            all_permission |= role.permissions
        return all_permission & permission == permission

    @property
    def permissions(self):
        if not self.roles:
            return None
        all_permission = 0
        for role in self.roles:
            all_permission |= role.permissions

        permission_dicts = []
        for permission,permission_info in CMSPermission.PERMISSION_MAP.iteritems():
            if permission & all_permission == permission:
                permission_dicts.append({permission:permission_info})

        return permission_dicts
예제 #8
0
class Question(db.Model):
    __tablename__ = 'question'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)
    # now()获取的是服务器第一次运行的时间
    # now每次创建一个模型的时候,都获取当前的时间
    create_time = db.Column(db.DateTime(), default=datetime.now)
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    author = db.relationship('User', backref=db.backref('questions'))
class Account(db.Model):
    __tablename__ = 'account'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    # 结账流水号 后期银行对接  可以用上 先架构着  默认是8个0
    accountNo = db.Column(db.String(50), nullable=False, default='00000000')
    # 结账时间
    time = db.Column(db.DateTime(), nullable=False, default=datetime.now)
    accountMoney = db.Column(db.REAL(), nullable=False, default=0)
    # 关联用户表id
    userId = db.Column(db.Integer(), db.ForeignKey('user.id'))
    user = db.relationship('User', backref='account')
예제 #10
0
class Comment(db.Model):
    __tablename__ = 'comment'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    content = db.Column(db.Text, nullable=False)
    question_id = db.Column(db.Integer, db.ForeignKey('question.id'))
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    question = db.relationship('Question',
                               backref=db.backref('comments',
                                                  order_by=id.desc))
    author = db.relationship('User', backref=db.backref('comments'))
    create_time = db.Column(db.DateTime(), default=datetime.now)
예제 #11
0
class Category(db.Model):
    __tablename__ = "categories"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50), nullable=False, default='Untitled')
    last_modify = db.Column(db.DateTime(), default=datetime.utcnow)
    courses = db.relationship('Course', backref='category', lazy='dynamic')

    def delete(self):
        for c in self.courses:
            c.delete()
        db.session.delete(self)
        db.session.commit()
예제 #12
0
class Sale(db.Model):
    __tablename__ = 'sale'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    # 选购时间
    time = db.Column(db.DateTime(), nullable=False, default=datetime.now)
    # 用户外键
    userId = db.Column(db.Integer(), db.ForeignKey('user.id'))
    user = db.relationship('User', backref='sale')
    # 药品外键
    # drugId = db.Column(db.Integer(), db.ForeignKey('drug.id'))
    # 药品编号
    drugNum = db.Column(db.String(50), nullable=False)
class Stock(db.Model):
    __tablename__ = 'stock'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    stockDate = db.Column(db.DateTime(), nullable=False, default=datetime.now)
    stockPrice = db.Column(db.REAL(), nullable=False)
    stockCount = db.Column(db.Integer(), nullable=False)
    stockMoney = db.Column(db.REAL(), nullable=False)
    # 关联药品表id
    drugId = db.Column(db.Integer(), db.ForeignKey('drug.id'))
    drug = db.relationship('Drug', backref='stock')
    # 关联用户表id
    userId = db.Column(db.Integer(), db.ForeignKey('user.id'))
    user = db.relationship('User', backref='stock')
예제 #14
0
파일: models.py 프로젝트: gzs4850/ifsys
class Result(db.Model):
    __tablename__ = 'auto_result'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    mockid = db.Column(db.Integer)
    name = db.Column(db.String(150))
    testresult = db.Column(db.Boolean)
    reqmethod = db.Column(db.String(10))
    rspcode = db.Column(db.String(10))
    reqpath = db.Column(db.String(100))
    reqhead = db.Column(db.Text)
    reqbody = db.Column(db.Text)
    rsphead = db.Column(db.Text)
    rspbody = db.Column(db.Text)
    diff = db.Column(db.Text)
    ts = db.Column(db.DateTime(), default=datetime.datetime.utcnow())
class Sale(db.Model):
    __tablename__ = 'sale'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    time = db.Column(db.DateTime(), nullable=False, default=datetime.now)
    saleCount = db.Column(db.Integer(), nullable=False)
    saleMoney = db.Column(db.REAL(), nullable=False)
    # 关联用户表id
    userId = db.Column(db.Integer(), db.ForeignKey('user.id'))
    user = db.relationship('User', backref='sale')
    # 关联结账表id
    accountId = db.Column(db.Integer(), db.ForeignKey('account.id'))
    account = db.relationship('Account', backref='sale')
    # 关联药品表id
    drugId = db.Column(db.Integer(), db.ForeignKey('drug.id'))
    drug = db.relationship('Drug', backref='sale')
예제 #16
0
class Account(db.Model):
    __tablename__ = 'account'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    # 结账流水号 后期银行对接  可以用上 先架构着  默认是8个0
    accountNo = db.Column(db.String(50), nullable=False, default='00000000')
    # 结账时间
    time = db.Column(db.DateTime(), nullable=False, default=datetime.now)
    # 用户外键
    userId = db.Column(db.Integer(), db.ForeignKey('user.id'))
    user = db.relationship('User', backref='account')
    # 药品外键
    drugId = db.Column(db.Integer(), db.ForeignKey('drug.id'))
    drugNum = db.Column(db.String(50), nullable=False)
    # 药品编号
    drug = db.relationship('Drug', backref='account')