Compare commits

...

10 Commits

Author SHA1 Message Date
VivianDee 617738b785 [add]: balance to loan table 2025-06-23 11:13:40 +01:00
CHIEFSOFT\ameye 9db3b68b13 ACTIVE_PARTIAL = "active_partial" 2025-06-22 21:46:44 -04:00
CHIEFSOFT\ameye 1795db35be Revert "mercore starter"
This reverts commit 8bb5ce69e2.
2025-06-22 20:14:37 -04:00
CHIEFSOFT\ameye 8bb5ce69e2 mercore starter 2025-06-22 20:11:32 -04:00
CHIEFSOFT\ameye 5087afcca6 repayment id 2025-06-21 11:27:53 -04:00
CHIEFSOFT\ameye 11b52357ba reapyment is needed 2025-06-21 11:18:36 -04:00
ameye e8361668e5 Merge branch 'salary_table_fix' of DigiFi/digifi-BankToProductCore into master 2025-06-19 09:51:38 +00:00
VivianDee f659fa9cf2 [add]: salary model fix 2025-06-19 04:42:11 +01:00
CHIEFSOFT\ameye 23e340be27 Data adjust 2025-06-18 23:00:15 -04:00
ameye adc2498044 Merge branch 'add_salary_table' of DigiFi/digifi-BankToProductCore into master 2025-06-18 12:32:12 +00:00
7 changed files with 81 additions and 5 deletions
+1
View File
@@ -3,5 +3,6 @@ from enum import Enum
class LoanStatus(str, Enum):
PENDING = "pending"
ACTIVE = "active"
ACTIVE_PARTIAL = "active_partial"
START_REPAY = "start_repay"
REPAID = "repaid"
+4
View File
@@ -67,7 +67,11 @@ class RepaymentService(BaseService):
return ResponseHelper.error(result_description="Invalid Customer or Account")
# Simulated processing logic
# TODO start using repayment_id instead if id or Id
response_data = {
"Id": repayment.id,
"repayment_id": repayment.id,
"initiated_by": repayment.initiated_by,
"transactionId": transaction_id,
"customerId": customer_id,
"productId": loan.product_id,
+2
View File
@@ -35,6 +35,7 @@ class Loan(db.Model):
continuous_fee = db.Column(db.Float, default=0)
upfront_fee = db.Column(db.Float, nullable=True, default=0.0)
repayment_amount = db.Column(db.Float, nullable=True, default=0.0)
balance = db.Column(db.Float, nullable=True, default=0.0)
installment_amount = db.Column(db.Float, nullable=True, default=0.0)
status = db.Column(db.String(20), default='pending')
tenor = db.Column(db.Integer, nullable=True)
@@ -112,6 +113,7 @@ class Loan(db.Model):
current_loan_amount = initial_loan_amount,
upfront_fee = upfront_fee,
repayment_amount = repayment_amount,
balance = repayment_amount,
installment_amount = installment_amount,
due_date=due_date,
tenor = tenor,
+6 -3
View File
@@ -21,10 +21,12 @@ class Repayment(db.Model):
created_at = db.Column(db.DateTime(timezone=True), server_default=func.now())
updated_at = db.Column(db.DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
transaction_id = db.Column(db.String(50), nullable=True)
repay_date = db.Column(db.DateTime, default=datetime.now(timezone.utc))
# repay_date = db.Column(db.DateTime, default=datetime.now(timezone.utc))
repay_date = db.Column(db.DateTime, nullable=True)
repay_result = db.Column(db.String(10), nullable=True)
repay_description = db.Column(db.String(100), nullable=True)
verify_date = db.Column(db.DateTime, default=datetime.now(timezone.utc))
# verify_date = db.Column(db.DateTime, default=datetime.now(timezone.utc))
verify_date = db.Column(db.DateTime, nullable=True)
verify_result = db.Column(db.String(10), nullable=True)
verify_description = db.Column(db.String(100), nullable=True)
initiated_by = db.Column(db.String(50), nullable=True)
@@ -44,7 +46,8 @@ class Repayment(db.Model):
product_id=loan.product_id,
transaction_id = transaction_id,
created_at=datetime.now(timezone.utc),
updated_at=datetime.now(timezone.utc)
updated_at=datetime.now(timezone.utc),
initiated_by='USER_INITIATED'
)
try:
+2 -2
View File
@@ -7,7 +7,7 @@ class Salary(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
customer_id = db.Column(db.String(50), nullable=False)
account_type = db.Column(db.String(50))
account_id = db.Column(db.String(50), nullable=True)
status = db.Column(db.String(20), default='active')
amount = db.Column(db.Float, nullable=False, default=0.0)
salary_date = db.Column(db.DateTime(timezone=False), server_default=func.now())
@@ -18,7 +18,7 @@ class Salary(db.Model):
return {
"id": self.id,
"customer_id": self.customer_id,
"account_type": self.account_type,
"account_id": self.account_id,
"status": self.status,
"amount": self.amount,
"salary_date": self.salary_date.isoformat() if self.salary_date else None,
+32
View File
@@ -0,0 +1,32 @@
"""empty message
Revision ID: 48c62b4da905
Revises: 7a0caf83d5be
Create Date: 2025-06-23 11:08:22.928700
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '48c62b4da905'
down_revision = '7a0caf83d5be'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('loans', schema=None) as batch_op:
batch_op.add_column(sa.Column('balance', sa.Float(), nullable=True))
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('loans', schema=None) as batch_op:
batch_op.drop_column('balance')
# ### end Alembic commands ###
+34
View File
@@ -0,0 +1,34 @@
"""empty message
Revision ID: 7a0caf83d5be
Revises: 1696ee63c28a
Create Date: 2025-06-19 04:35:23.660261
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '7a0caf83d5be'
down_revision = '1696ee63c28a'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('salaries', schema=None) as batch_op:
batch_op.add_column(sa.Column('account_id', sa.String(length=50), nullable=True))
batch_op.drop_column('account_type')
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('salaries', schema=None) as batch_op:
batch_op.add_column(sa.Column('account_type', sa.VARCHAR(length=50), autoincrement=False, nullable=True))
batch_op.drop_column('account_id')
# ### end Alembic commands ###