Loan create

This commit is contained in:
CHIEFSOFT\ameye
2025-03-09 21:24:57 -04:00
parent deefe8fcc5
commit 3af156eb21
2 changed files with 67 additions and 7 deletions
+1
View File
@@ -102,6 +102,7 @@ CREATE TABLE loans (
loan VARCHAR(25) REFERENCES loan_offers (loan),
approved_amount INT DEFAULT 0,
days_duration INT DEFAULT 0,
status INT DEFAULT 1,
due_date timestamp,
payment INT DEFAULT 0,
added timestamp without time zone DEFAULT now()
+66 -7
View File
@@ -15,7 +15,7 @@ from flask import (
request,
)
from flask_cors import CORS, cross_origin
from datetime import timedelta, date
from functools import wraps
import json
import psycopg2.extras
@@ -361,7 +361,9 @@ def salary_verifloan2():
with connection.cursor(cursor_factory=psycopg2.extras.DictCursor) as cursor:
cursor.execute(UPDATE_APPLICATION)
# loan_schedule = loan_create(bvn,loan_application_id)
print("10000-cccc")
loan_schedule = loan_create_final(bvn,loan_application_id)
return {
"qr": UPDATE_APPLICATION,
"status": "1",
@@ -387,8 +389,9 @@ def salary_verifloan2():
"data": None
}, 500
def loan_create(bvn,loan_application_uid):
SELECT_LOAN = "SELECT uid,loan,bvn,amount,added,verified,status,due_date FROM loan_apply WHERE uid::text = '" + loan_application_uid + "' AND bvn ='" + bvn + "' "
def loan_create_final(bvn,loan_application_uid):
SELECT_LOAN = "SELECT uid,loan,bvn,amount,added::text,verified::text,status,due_date::text FROM loan_apply WHERE uid::text = '" + loan_application_uid + "' AND bvn ='" + bvn + "' "
print(SELECT_LOAN)
with connection:
with connection.cursor(cursor_factory=psycopg2.extras.DictCursor) as cursor:
cursor.execute(SELECT_LOAN)
@@ -397,6 +400,20 @@ def loan_create(bvn,loan_application_uid):
loan_data = json.dumps( [dict(ix) for ix in select_demoS] )
loan_result = json.loads( loan_data )
print(loan_result)
loan=loan_result[0]['loan']
approved_amount=loan_result[0]['amount']
days_duration=30
due_date= date.today() + timedelta(days=30)
INSERT_LOAN="INSERT INTO loans (application_uid,bvn,loan,approved_amount,days_duration,due_date) VALUES (%s,%s,%s,%s,%s,%s)"
new_data = (loan_application_uid,bvn,loan,approved_amount,days_duration,due_date)
#print(new_data)
with connection:
with connection.cursor(cursor_factory=psycopg2.extras.DictCursor) as cursor:
cursor.execute(INSERT_LOAN,new_data)
return loan_result
def products():
@@ -406,6 +423,22 @@ def products():
{"cid": "3", "description": "First Advance" , "active" : 1 },
]
return product_data
# CREATE TABLE loans (
# id SERIAL,
# uid uuid DEFAULT uuid_generate_v4(),
# application_uid VARCHAR(150) NOT NULL,
# bvn VARCHAR(12) NOT NULL,
# loan VARCHAR(25) REFERENCES loan_offers (loan),
# approved_amount INT DEFAULT 0,
# days_duration INT DEFAULT 0,
# status INT DEFAULT 1,
# due_date timestamp,
# payment INT DEFAULT 0,
# added timestamp without time zone DEFAULT now()
# );
# ALTER TABLE ONLY loans
# ADD CONSTRAINT loans_id_key UNIQUE (id);
def load_offer(loan,bvn):
OFFER_QUERY = "SELECT uid AS cid,loan,amount,description,days_duration,active FROM loan_offers WHERE loan='" + loan +"' LIMIT 1"
@@ -487,7 +520,8 @@ def loan_approved():
def office_loan_data_select(loanLevel):
SELECT_Q = f'''SELECT ls.id,ls.added::text, dm.name,dm.mobile, ls.bvn , ls.loan,lo.description FROM loan_select ls LEFT JOIN loan_offers lo ON lo.loan=ls.loan
SELECT_Q = f'''SELECT ls.id,ls.added::text, dm.name,dm.mobile, ls.bvn , ls.loan,lo.description
FROM loan_select ls LEFT JOIN loan_offers lo ON lo.loan=ls.loan
LEFT JOIN demo_bank_accounts dm ON dm.bvn = ls.bvn ORDER BY ls.id DESC LIMIT 300 '''
with connection:
@@ -506,8 +540,13 @@ def office_loan_data(loanLevel):
LEFT JOIN demo_bank_accounts dm ON dm.bvn = ls.bvn ORDER BY ls.id DESC LIMIT 300 '''
if loanLevel == "APPLY":
SELECT_Q = f'''SELECT ls.id,ls.added::text, dm.name,dm.mobile, ls.bvn , ls.loan,lo.description,ls.amount,ls.verified::text FROM loan_apply ls LEFT JOIN loan_offers lo ON lo.loan=ls.loan
LEFT JOIN demo_bank_accounts dm ON dm.bvn = ls.bvn ORDER BY ls.id DESC LIMIT 300'''
SELECT_Q = f'''SELECT ls.id,ls.added::text, dm.name,dm.mobile, ls.bvn ,
ls.loan,lo.description,ls.amount,ls.verified::text
FROM loan_apply ls
LEFT JOIN loan_offers lo ON lo.loan=ls.loan
LEFT JOIN demo_bank_accounts dm ON dm.bvn = ls.bvn
WHERE ls.verified IS NOT NULL AND ls.status = 5
ORDER BY ls.id DESC LIMIT 300'''
with connection:
with connection.cursor(cursor_factory=psycopg2.extras.DictCursor) as cursor:
@@ -561,6 +600,26 @@ def repay_loans():
return offer_detail
@app.route('/simulation/generator')
def generate_activities():
generate_simulation_salary()
generate_simulation_transaction()
generate_simulation_credit()
return []
def generate_simulation_salary():
pass
def generate_simulation_transaction():
pass
def generate_simulation_credit():
pass
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)