Exemple #1
0
class LoanClientAssociation(db.Model):
    loan_ref = db.Column(db.String(64),
                         db.ForeignKey('loan.id'),
                         primary_key=True)
    loan = db.relationship('Loan', backref='loan_client_associations')
    client_ref = db.Column(db.String(64),
                           db.ForeignKey('client.id_number'),
                           primary_key=True)
    client = db.relationship('Client', backref='loan_client_associations')
Exemple #2
0
class ServiceRelationship(db.Model):
    """
    业务关系,描述客户与银行的联系
    """
    __tablename__ = 'servicerelationship'
    branchName = db.Column(db.String(20),
                           db.ForeignKey('branch.branchName'),
                           primary_key=True)
    clientId = db.Column(db.String(20),
                         db.ForeignKey('client.id'),
                         primary_key=True)
Exemple #3
0
class OpenChequeAccount(db.Model):
    """
    开设支票账户
    """
    __tablename__ = 'openchequeaccount'
    accountId = db.Column(db.String(20),
                          db.ForeignKey('chequeaccount.id'),
                          primary_key=True)
    clientId = db.Column(db.String(20),
                         db.ForeignKey('client.id'),
                         primary_key=True)
Exemple #4
0
class OpenDepositAccount(db.Model):
    """
    开设储蓄账户
    """
    __tablename__ = 'opendepositaccount'
    accountId = db.Column(db.String(20),
                          db.ForeignKey('depositaccount.id'),
                          primary_key=True)
    clientId = db.Column(db.String(20),
                         db.ForeignKey('client.id'),
                         primary_key=True)
Exemple #5
0
class Serve(db.Model):
    """
    服务。员工服务客户的关系。
    """
    __tablename__ = 'serve'
    clientId = db.Column(db.String(20),
                         db.ForeignKey('client.id'),
                         primary_key=True)
    staffId = db.Column(db.String(20),
                        db.ForeignKey('staff.id'),
                        primary_key=True)
    ServiceType = db.Column(db.String(20))
Exemple #6
0
class OpenAccount(db.Model):
    """
    开户
    用户每开设一个支票账户或储蓄账户的同时也需要在此处创建一条记录。
    其用处为一个客户在一个支行只能开设一个储蓄账户和一个支票账户。
    该类的目的不在于查询,只在于实施该限制
    """
    __tablename__ = 'openaccount'
    branchName = db.Column(db.String(20),
                           db.ForeignKey('branch.branchName'),
                           primary_key=True)
    id = db.Column(db.String(20), db.ForeignKey('client.id'), primary_key=True)
    depositAccountId = db.Column(db.String(20))
    chequeAccountId = db.Column(db.String(20))
Exemple #7
0
class Transaction(db.Model):
    tr_id = db.Column(db.Integer, primary_key=True)
    tr_amount = db.Column(db.Integer, index=False, unique=False)
    tr_type = db.Column(db.String(20), index=False, unique=False)
    tr_date = db.Column(db.DateTime, index=False, unique=False)
    tr_src= db.Column(db.Integer, db.ForeignKey('account.acnt_id'))
    tr_trgt= db.Column(db.Integer, index=False, unique=False)
Exemple #8
0
class Loan(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    money = db.Column(db.Float, nullable=False)
    status = db.Column(db.String(64), nullable=False)
    bank_ref = db.Column(db.String(64),
                         db.ForeignKey('bank.name'),
                         nullable=False)
    bank = db.relationship('Bank', backref='loans')
Exemple #9
0
class Account(db.Model):
    acnt_id = db.Column(db.Integer, primary_key=True)
    cust_id = db.Column(db.Integer, db.ForeignKey('customer.cust_id'))
    acnt_type = db.Column(db.String(20), index=False, unique=False)
    acnt_balance = db.Column(db.Integer, index=False, unique=False)
    acnt_status = db.Column(db.String(20), index=False, unique=False)
    acnt_last_tr_date = db.Column(db.DateTime, index=False, unique=False)
    acnt_message = db.Column(db.String(20), index=False, unique=False)
    transaction = db.relationship('Transaction', backref='customer')
Exemple #10
0
class ChequeAccount(db.Model):
    """
    支票账户类
    """
    __tablename__ = 'chequeaccount'
    id = db.Column(db.String(20), primary_key=True)
    branchName = db.Column(db.String(20), db.ForeignKey('branch.branchName'))
    accountBalance = db.Column(db.Float)
    openTime = db.Column(db.DateTime)
    visitTime = db.Column(db.DateTime)
    creditLimit = db.Column(db.Float)
Exemple #11
0
class Account(db.Model):
    id = db.Column(db.String(64), primary_key=True)
    balance = db.Column(db.Float, nullable=False)
    open_date = db.Column(db.Integer, nullable=False)
    account_type = db.Column(db.String(64), nullable=False)
    bank_ref = db.Column(db.String(64),
                         db.ForeignKey('bank.name'),
                         nullable=False)
    bank = db.relationship('Bank', backref='accounts')

    __mapper_args__ = {'polymorphic_on': account_type}
Exemple #12
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    content = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Post('{self.title}', '{self.date_posted}')"
Exemple #13
0
class Donate(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name_blood = db.Column(db.String(10), nullable=False)
    quantity = db.Column(db.Integer(), nullable=False)
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Donate('{self.name_blood}', '{self.quantity}', '{self.date_posted}')"
Exemple #14
0
class Staff(db.Model):
    id_number = db.Column(db.String(64), primary_key=True)
    name = db.Column(db.String(64), nullable=False)
    phone_number = db.Column(db.String(64), nullable=False)
    address = db.Column(db.String(64), nullable=False)
    joined_date = db.Column(db.Integer, nullable=False)
    kind = db.Column(db.String(64), nullable=False)

    department_ref = db.Column(db.Integer,
                               db.ForeignKey('department.id'),
                               nullable=False)
    department = db.relationship('Department', backref='staffs')
Exemple #15
0
class OwnLoan(db.Model):
    """
    拥有。客户拥有贷款的关系
    """
    __tablename__ = 'ownloan'
    branchName = db.Column(db.String(20), primary_key=True)
    loanId = db.Column(db.String(6), primary_key=True)
    clientId = db.Column(db.String(20),
                         db.ForeignKey('client.id'),
                         primary_key=True)
    __table_args__ = (db.ForeignKeyConstraint(
        ['branchName', 'loanId'], ['loan.branchName', 'loan.loanId']), )
Exemple #16
0
class TransactionLog(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.DateTime, default=datetime.datetime.utcnow)
    amount = db.Column(
        db.Numeric(precision=10,
                   scale=2,
                   asdecimal=True,
                   decimal_return_scale=2))
    from_account = db.Column(db.String(120), nullable=False)
    to_account = db.Column(db.String(120), nullable=False)
    positive = db.Column(db.Boolean, unique=False, default=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
Exemple #17
0
class DepositAccount(db.Model):
    """
    储蓄账户类
    """
    __tablename__ = 'depositaccount'
    id = db.Column(db.String(20), primary_key=True)
    branchName = db.Column(db.String(20), db.ForeignKey('branch.branchName'))
    accountBalance = db.Column(db.Float)
    openTime = db.Column(db.DateTime)
    visitTime = db.Column(db.DateTime)
    interestRate = db.Column(db.Float)
    currencyType = db.Column(db.String(20))
Exemple #18
0
class Loan(db.Model):
    """
    贷款类
    """
    __tablename__ = 'loan'
    branchName = db.Column(db.String(20), db.ForeignKey('branch.branchName'))
    loanId = db.Column(db.String(6))
    loanAmount = db.Column(db.Float)
    payNum = db.Column(db.Integer)
    __table_args__ = (db.PrimaryKeyConstraint('branchName',
                                              'loanId',
                                              name='PK_Loan'), )
class Token(db.Model):
    token = db.Column(db.String(64),
                      default=lambda: str(uuid.uuid4()),
                      primary_key=True)
    expiresAt = db.Column(db.Integer,
                          nullable=False,
                          default=lambda: int(datetime.utcnow().timestamp()) +
                          current_app.config['TOKEN_EXPIRE'])
    user_ref = db.Column(db.String(64),
                         db.ForeignKey('user.username'),
                         nullable=False)
    user = db.relationship('User', backref='tokens')
Exemple #20
0
class Department(db.Model):
    """
    部门类
    """
    __tablename__ = 'department'
    branchName = db.Column(db.String(20), db.ForeignKey('branch.branchName'))
    deptId = db.Column(db.Integer)
    deptName = db.Column(db.String(20))
    deptType = db.Column(db.String(20), nullable=True)
    deptManagerID = db.Column(db.String(20), unique=True, nullable=True)
    __table_args__ = (db.PrimaryKeyConstraint('branchName',
                                              'deptId',
                                              name='PK_Dept'), )
class Client(db.Model):
    id_number = db.Column(db.String(64), primary_key=True)
    name = db.Column(db.String(64), nullable=False)
    phone_number = db.Column(db.String(64), nullable=False)
    address = db.Column(db.String(64), nullable=False)
    contact_name = db.Column(db.String(64), nullable=False)
    contact_phone_number = db.Column(db.String(64), nullable=False)
    contact_email = db.Column(db.String(64), nullable=False)
    contact_relationship = db.Column(db.String(64), nullable=False)
    staff_ref = db.Column(db.String(64),
                          db.ForeignKey('staff.id_number'),
                          nullable=False)
    staff = db.relationship('Staff', backref='clients')
Exemple #22
0
class CustomerAccount(db.Model):
    account_id = db.Column(db.Integer, primary_key=True, nullable=False)
    customer_id = db.Column(db.Integer,
                            db.ForeignKey('customer.customer_id'),
                            nullable=False)
    customer = db.relationship("Customer",
                               backref=db.backref("customer", uselist=False))
    account_type = db.Column(db.String(30), nullable=False)
    deposit_amount = db.Column(db.Integer, nullable=False)
    last_updated = db.Column(db.DateTime,
                             nullable=False,
                             default=datetime.datetime.now)

    def __repr__(self):
        return f'Account: {self.account_id} Customer_id: {self.customer_id}'
Exemple #23
0
class TransactionInfo(db.Model):
    transaction_id = db.Column(db.String(100),
                               primary_key=True,
                               nullable=False)
    account_id = db.Column(db.Integer,
                           db.ForeignKey('customer_account.account_id'),
                           nullable=False)
    account = db.relationship("CustomerAccount",
                              backref=db.backref("customer_account",
                                                 uselist=False))
    amount = db.Column(db.Integer, nullable=False)
    deposit = db.Column(db.Boolean, nullable=False)
    transfer = db.Column(db.Boolean, nullable=False)
    transfer_account_id = db.Column(db.Integer, nullable=False)
    action_date = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.datetime.now)
Exemple #24
0
from bank import db, login_manager
from datetime import datetime
from flask_login import UserMixin
from hashlib import md5


@login_manager.user_loader
def load_user(user_id):
    return User.query.get(int(user_id))


followers = db.Table(
    'followers', db.Column('follower_id', db.Integer,
                           db.ForeignKey('user.id')),
    db.Column('followed_id', db.Integer, db.ForeignKey('user.id')))


class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20),
                           nullable=False,
                           default='default.jpg')
    password = db.Column(db.String(60), nullable=False)
    posts = db.relationship('Post', backref='author', lazy=True)
    post_index = db.Column(db.Integer())
    address = db.Column(db.String(100))
    city = db.Column(db.String(30))
    blood_group = db.Column(db.String(10), nullable=False)
    phone = db.Column(
Exemple #25
0
class Payment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    pay_date = db.Column(db.Integer, nullable=False)
    money = db.Column(db.Float, nullable=False)
    loan_ref = db.Column(db.Integer, db.ForeignKey('loan.id'), nullable=False)
    loan = db.relationship('Loan', backref='payments')