[add]: First Analytics models
This commit is contained in:
@@ -562,3 +562,13 @@ Help: https://docs.oracle.com/error-help/db/ora-00936/
|
||||
|
||||
2025-09-10 11:29:54,827 - INFO - [2025-09-10 11:29:54] Salary detection complete
|
||||
2025-09-10 11:30:20,979 - INFO - Shutting down Salary Analytics API...
|
||||
2025-09-10 11:31:18,351 - INFO - Initializing pipeline...
|
||||
2025-09-10 11:31:18,375 - INFO - [2025-09-10 11:31:18] Detecting salary...
|
||||
2025-09-10 11:31:18,376 - INFO - Started autonomous salary detection loop.
|
||||
2025-09-10 11:31:18,405 - INFO - Server running on hostname: 0b21809edf52
|
||||
2025-09-10 11:31:18,447 - INFO - Server IP address: 172.25.0.2
|
||||
2025-09-10 11:31:18,528 - INFO - Server is accessible at:
|
||||
2025-09-10 11:31:18,552 - INFO - - http://localhost:8000
|
||||
2025-09-10 11:31:18,552 - INFO - - http://127.0.0.1:8000
|
||||
2025-09-10 11:31:18,553 - INFO - - http://172.25.0.2:8000
|
||||
2025-09-10 11:31:18,554 - INFO - Pipeline initialized successfully
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
from sqlalchemy import Column, Integer, String, Date, Numeric, CHAR
|
||||
from app.extensions import db
|
||||
|
||||
|
||||
class Account(db.Model):
|
||||
__tablename__ = "accounts"
|
||||
|
||||
customerid = db.Column(db.String(50), primary_key=True)
|
||||
accountid = db.Column(db.String(11), nullable=False)
|
||||
registrationdate = db.Column(db.DateTime)
|
||||
accountcurrencycode = db.Column(db.String(3))
|
||||
schemecode = db.Column(db.String(5))
|
||||
lastinflowtransactiondate = db.Column(db.DateTime)
|
||||
accountstatus = db.Column(db.String(50))
|
||||
accountstatusdate = db.Column(db.DateTime)
|
||||
|
||||
|
||||
def __repr__(self):
|
||||
return f"<Account {self.accountid}>"
|
||||
@@ -0,0 +1,37 @@
|
||||
from sqlalchemy import Column, Integer, String, Date, Numeric, CHAR
|
||||
from app.extensions import db
|
||||
|
||||
class SimbrellaCustomer(db.Model):
|
||||
__tablename__ = "simbrella_customers"
|
||||
|
||||
customerid = db.Column(db.String(500), primary_key=True)
|
||||
acct_opn_date = db.Column(db.DateTime)
|
||||
gender = db.Column(db.String(20))
|
||||
birth_date = db.Column(db.DateTime)
|
||||
msisdn = db.Column(db.String(100))
|
||||
isbvnvalid = db.Column(db.String(100))
|
||||
datebvnvalidated = db.Column(db.DateTime)
|
||||
iscrmsvalid = db.Column(db.String(100))
|
||||
datecrmsvalidated = db.Column(db.DateTime)
|
||||
iscrcvalid = db.Column(db.String(100))
|
||||
datecrcvalidated = db.Column(db.DateTime)
|
||||
|
||||
|
||||
def __repr__(self):
|
||||
return f"<SimbrellaCustomer {self.customerid}>"
|
||||
|
||||
|
||||
def to_dict(self):
|
||||
return {
|
||||
"customerid": self.customerid,
|
||||
"acct_opn_date": self.acct_opn_date,
|
||||
"gender": self.gender,
|
||||
"birth_date": self.birth_date,
|
||||
"msisdn": self.msisdn,
|
||||
"isbvnvalid": self.isbvnvalid,
|
||||
"datebvnvalidated": self.datebvnvalidated,
|
||||
"iscrmsvalid": self.iscrmsvalid,
|
||||
"datecrmsvalidated": self.datecrmsvalidated,
|
||||
"iscrcvalid": self.iscrcvalid,
|
||||
"datecrcvalidated": self.datecrcvalidated,
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
from sqlalchemy import Column, Integer, String, Date, Numeric, CHAR
|
||||
from app.extensions import db
|
||||
|
||||
|
||||
class Transaction(db.Model):
|
||||
__tablename__ = "transactions"
|
||||
|
||||
tran_id = db.Column(db.String(50), primary_key=True)
|
||||
cif_id = db.Column(db.String(500))
|
||||
foracid = db.Column(db.String(150))
|
||||
acid = db.Column(db.String(150))
|
||||
tran_date = db.Column(db.DateTime)
|
||||
value_date = db.Column(db.DateTime)
|
||||
pstd_date = db.Column(db.DateTime)
|
||||
tran_sub_type = db.Column(db.String(50))
|
||||
part_tran_type = db.Column(db.String(50))
|
||||
tran_crncy_code = db.Column(db.String(50))
|
||||
tran_amt = db.Column(db.Numeric(38, 0))
|
||||
tran_particular = db.Column(db.String(250))
|
||||
origination_channel = db.Column(db.String(150))
|
||||
reversal_tran_id = db.Column(db.String(50))
|
||||
isreversal = db.Column(db.String(50))
|
||||
|
||||
|
||||
def __repr__(self):
|
||||
return f"<Transaction {self.tran_id}>"
|
||||
|
||||
|
||||
def to_dict(self):
|
||||
return {
|
||||
"tran_id": self.tran_id,
|
||||
"cif_id": self.cif_id,
|
||||
"foracid": self.foracid,
|
||||
"acid": self.acid,
|
||||
"tran_date": self.tran_date,
|
||||
"value_date": self.value_date,
|
||||
"pstd_date": self.pstd_date,
|
||||
"tran_sub_type": self.tran_sub_type,
|
||||
"part_tran_type": self.part_tran_type,
|
||||
"tran_crncy_code": self.tran_crncy_code,
|
||||
"tran_amt": float(self.tran_amt) if self.tran_amt is not None else None,
|
||||
"tran_particular": self.tran_particular,
|
||||
"origination_channel": self.origination_channel,
|
||||
"reversal_tran_id": self.reversal_tran_id,
|
||||
"isreversal": self.isreversal,
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
from sqlalchemy import Column, Integer, String, Date, Numeric, CHAR
|
||||
from app.extensions import db
|
||||
|
||||
|
||||
class TransactionStg(db.Model):
|
||||
__tablename__ = "transaction_stg"
|
||||
|
||||
tran_id = db.Column(db.String(50), primary_key=True)
|
||||
cif_id = db.Column(db.String(500))
|
||||
foracid = db.Column(db.String(150))
|
||||
acid = db.Column(db.String(150))
|
||||
tran_date = db.Column(db.String(50)) # staging table keeps as string
|
||||
value_date = db.Column(db.String(50))
|
||||
pstd_date = db.Column(db.String(50))
|
||||
tran_sub_type = db.Column(db.String(50))
|
||||
part_tran_type = db.Column(db.String(50))
|
||||
tran_crncy_code = db.Column(db.String(50))
|
||||
tran_amt = db.Column(db.Numeric(38, 0))
|
||||
tran_particular = db.Column(db.String(250))
|
||||
origination_channel = db.Column(db.String(150))
|
||||
reversal_tran_id = db.Column(db.String(50))
|
||||
isreversal = db.Column(db.String(50))
|
||||
|
||||
|
||||
def __repr__(self):
|
||||
return f"<TransactionStg {self.tran_id}>"
|
||||
|
||||
|
||||
def to_dict(self):
|
||||
return {
|
||||
"tran_id": self.tran_id,
|
||||
"cif_id": self.cif_id,
|
||||
"foracid": self.foracid,
|
||||
"acid": self.acid,
|
||||
"tran_date": self.tran_date,
|
||||
"value_date": self.value_date,
|
||||
"pstd_date": self.pstd_date,
|
||||
"tran_sub_type": self.tran_sub_type,
|
||||
"part_tran_type": self.part_tran_type,
|
||||
"tran_crncy_code": self.tran_crncy_code,
|
||||
"tran_amt": float(self.tran_amt) if self.tran_amt is not None else None,
|
||||
"tran_particular": self.tran_particular,
|
||||
"origination_channel": self.origination_channel,
|
||||
"reversal_tran_id": self.reversal_tran_id,
|
||||
"isreversal": self.isreversal,
|
||||
}
|
||||
Reference in New Issue
Block a user