Esempio n. 1
0
class PreferredCard(db.Model):
    __tablename__ = 'preferred_card'

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.VARCHAR(32), nullable=False, unique=True)
    bankcard_id = db.Column(db.Integer, nullable=False)

    updated_on = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)
Esempio n. 2
0
class LeaderApplication(db.Model):
    __tablename__ = 'leader_application'

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.VARCHAR(32), nullable=False, unique=True)
    user_name = db.Column(db.VARCHAR(64), nullable=False)
    created_on = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow)

    def __repr__(self):
        return '<LeaderApplication %r@%r>' % (self.user_name, self.created_on)
Esempio n. 3
0
class PayToLvyeRecord(db.Model):
    __tablename__ = 'pay_to_lvye_record'

    id = db.Column(db.Integer, primary_key=True)
    order_id = db.Column(db.VARCHAR(32), nullable=False, unique=True)
    user_id = db.Column(db.VARCHAR(32), nullable=False)
    amount = db.Column(db.Numeric(16, 2), nullable=False)
    name = db.Column(db.VARCHAR(100), nullable=False)
    comment = db.Column(db.VARCHAR(255), nullable=False)

    sn = db.Column(db.VARCHAR(40))
    state = db.Column(db.Enum(PayToLvyeState.CREATED, PayToLvyeState.FAILED,
                              PayToLvyeState.SUCCESS),
                      nullable=False,
                      default=PayToLvyeState.CREATED)

    created_on = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow)
    updated_on = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)
Esempio n. 4
0
class DomainUser(db.Model):
    __tablename__ = 'domain_user'
    id = db.Column(db.Integer, primary_key=True)
    user_domain_name = db.Column(db.VARCHAR(32), nullable=False)
    username = db.Column(db.String(64), nullable=False)
    phone = db.Column(db.String(18), nullable=False)
    password_hash = db.Column("password", db.String(128))

    created_on = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow)
    last_seen = db.Column(db.DateTime(), default=datetime.utcnow)

    # index
    __table_args__ = (db.UniqueConstraint(
        'user_domain_name', 'username',
        name='user_domain_user_name_uniq_idx'), )

    def __init__(self, **kargs):
        super(DomainUser, self).__init__(**kargs)

    @property
    def password(self):
        """密码不可读"""
        raise AttributeError('password is not an readable attribute')

    @password.setter
    def password(self, password):
        """只保存密码的hash值"""
        self.password_hash = generate_password_hash(password)

    def verify_password(self, password):
        """校验密码"""
        return check_password_hash(self.password_hash, password)

    @transactional
    def ping(self):
        self.last_seen = datetime.utcnow()
        db.session.add(self)

    def __repr__(self):
        return '<User %r>' % self.username
Esempio n. 5
0
class VerificationCode(db.Model):
    __tablename__ = 'verification_code'

    id = db.Column(db.Integer, primary_key=True)
    source = db.Column(db.VARCHAR(32), nullable=False)
    user_id = db.Column(db.VARCHAR(32), nullable=False)
    code = db.Column(db.VARCHAR(32), nullable=False)
    expire_at = db.Column(db.DateTime, nullable=False)

    created_on = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow)

    # index
    __table_args__ = (db.UniqueConstraint('source',
                                          'user_id',
                                          name='user_user_id_uniq_idx'), )
Esempio n. 6
0
class WithdrawRecord(db.Model):
    __tablename__ = 'withdraw_record'

    id = db.Column(db.Integer, primary_key=True)
    sn = db.Column(db.VARCHAR(40), nullable=False)
    user_id = db.Column(db.VARCHAR(32), nullable=False)
    bankcard_id = db.Column(db.Integer, nullable=False)
    phone_no = db.Column(db.VARCHAR(18), nullable=False)
    amount = db.Column(db.Numeric(16, 2), nullable=False)
    actual_amount = db.Column(db.Numeric(16, 2), nullable=False)
    fee = db.Column(db.Numeric(16, 2), nullable=False)

    state = db.Column(db.Enum(WithdrawState.REQUESTED, WithdrawState.FAILED,
                              WithdrawState.SUCCESS),
                      nullable=False,
                      default=WithdrawState.REQUESTED)

    created_on = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow)
    updated_on = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)

    # index
    __table_args__ = (db.UniqueConstraint('sn',
                                          'user_id',
                                          name='sn_user_id_uniq_idx'), )
Esempio n. 7
0
class LvyeAccount(db.Model):
    __tablename__ = 'lvye_account'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.VARCHAR(32), nullable=False, unique=True)
    user_id = db.Column(db.VARCHAR(32), nullable=False, unique=True)