Multiple event monitoring added

This commit is contained in:
CHIEFSOFT\ameye
2025-04-13 20:32:54 -04:00
parent 4ebc1dbfe0
commit 309bf0b138
3 changed files with 119 additions and 104 deletions
+14 -2
View File
@@ -51,7 +51,10 @@ class KafkaIntegration:
:return: The message value (decoded) or None if no message is received
"""
consumer = KafkaIntegration._get_consumer()
consumer.subscribe([topic])
# consumer.subscribe(["LOAN_REPAYMENT"])
# consumer.subscribe([topic])
consumer.subscribe(['LOAN_REPAYMENT', 'PROCESS_PAYMENT'])
logger.info(
f"Waiting for messages from topic {topic} with this timeout: {timeout}..."
@@ -94,7 +97,16 @@ class KafkaIntegration:
logger.info(
f"Received message from {msg.topic()} [{msg.partition()}] @ offset {msg.offset()}: {message}"
)
KafkaIntegration._call_disbursement_endpoint(message)
current_topic = msg.topic()
if current_topic=="PROCESS_PAYMENT":
KafkaIntegration._call_disbursement_endpoint(message)
if current_topic=="LOAN_REPAYMENT":
# Do loan repayment call here
logger.info(
f"Loan Repayment message from {msg.topic()} [{msg.partition()}] @ offset {msg.offset()}: {message}"
)
return message
+5 -2
View File
@@ -9,15 +9,18 @@ autocall_bp = Blueprint("autocall", __name__)
@autocall_bp.route("/refresh-verify-disbursement", methods=["GET"])
def verify_transaction():
data = request.json()
api_url = f"{BASE_URL}/Disbursement"
logger.info(f"Calling Verify Components")
return jsonify(data), 200
@autocall_bp.route("/refresh-disbursement", methods=["GET"])
def disbursement():
data = request.json()
api_url = f"{BASE_URL}/Disbursement"
logger.info(f"Calling Disbursement Components")
return jsonify(data), 200
@autocall_bp.route("/payment-callback", methods=["POST"])
def payment_callback():
data = request.json()
logger.info(f"Calling Callback Components")
return jsonify(data), 200
+100 -100
View File
@@ -123,35 +123,35 @@ def repayment():
return jsonify(response), 200
@loan_bp.route("/rac-check", methods=["POST"])
def rac_check():
data = request.json
api_url = f"{BASE_URL}/RACCheck"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"transactionId": "T001",
"customerId": "CN621868",
"accountId": "2017821799",
"RACResponse": {
"Salary account": "1",
"BVN": "1",
"BVNAttachedToAccount": "1",
"CRMS": "1",
"CRC": "1",
"AccountStatus": "1",
"Lien": "1",
"NoBouncedCheck": "1",
"Whitelist": "1",
"NoPastDueSalaryLoan": "1",
"NoPastDueOtherLoan": "1",
},
"resultDescription": "RAC Check Successful",
}
return jsonify(response), 200
# @loan_bp.route("/rac-check", methods=["POST"])
# def rac_check():
# data = request.json
# api_url = f"{BASE_URL}/RACCheck"
#
# # response = requests.post(api_url, json=data, headers=get_headers())
# # return jsonify(response.json()), response.status_code
# response = {
# "transactionId": "T001",
# "customerId": "CN621868",
# "accountId": "2017821799",
# "RACResponse": {
# "Salary account": "1",
# "BVN": "1",
# "BVNAttachedToAccount": "1",
# "CRMS": "1",
# "CRC": "1",
# "AccountStatus": "1",
# "Lien": "1",
# "NoBouncedCheck": "1",
# "Whitelist": "1",
# "NoPastDueSalaryLoan": "1",
# "NoPastDueOtherLoan": "1",
# },
# "resultDescription": "RAC Check Successful",
# }
#
# return jsonify(response), 200
#
@loan_bp.route("/refresh-disbursement", methods=["GET"])
def disbursement():
@@ -174,80 +174,80 @@ def disbursement():
# return jsonify(response.json()), response.status_code
@loan_bp.route("/collect-loan", methods=["POST"])
def collect_loan():
data = request.json
api_url = f"{BASE_URL}/CollectLoan"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"transactionId": "T002",
"debtId": "273194670",
"customerId": "CN621868",
"accountId": "2017821799",
"productId": "101",
"collectAmount": 60000,
"penalCharge": 0,
"lienAmount": 20000,
"countryId": "01",
"comment": "Testing CollectionLoanRequest",
"resultCode": "00",
"resultDescription": "Loan Collection Successful",
}
return jsonify(response), 200
# @loan_bp.route("/collect-loan", methods=["POST"])
# def collect_loan():
# data = request.json
# api_url = f"{BASE_URL}/CollectLoan"
#
# # response = requests.post(api_url, json=data, headers=get_headers())
# # return jsonify(response.json()), response.status_code
# response = {
# "transactionId": "T002",
# "debtId": "273194670",
# "customerId": "CN621868",
# "accountId": "2017821799",
# "productId": "101",
# "collectAmount": 60000,
# "penalCharge": 0,
# "lienAmount": 20000,
# "countryId": "01",
# "comment": "Testing CollectionLoanRequest",
# "resultCode": "00",
# "resultDescription": "Loan Collection Successful",
# }
#
# return jsonify(response), 200
@loan_bp.route("/verify-transactions", methods=["GET"])
def transaction_verify():
data = request.json
api_url = f"{BASE_URL}/TransactionVerify"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"requestId": "R02802",
"countryCode": "NGR",
"transactionId": "Tr201712RK9232P115",
"transactionType": "Disbursement",
"customerId": "CN621868",
"accountId": "2017821799",
"providedAmount": 100,
"collectedAmount": 7.5,
"resultCode": "00",
"resultDescription": "Collect Status retrieved successfully.",
}
return jsonify(response), 200
# @loan_bp.route("/verify-transactions", methods=["GET"])
# def transaction_verify():
# data = request.json
# api_url = f"{BASE_URL}/TransactionVerify"
#
# # response = requests.post(api_url, json=data, headers=get_headers())
# # return jsonify(response.json()), response.status_code
# response = {
# "requestId": "R02802",
# "countryCode": "NGR",
# "transactionId": "Tr201712RK9232P115",
# "transactionType": "Disbursement",
# "customerId": "CN621868",
# "accountId": "2017821799",
# "providedAmount": 100,
# "collectedAmount": 7.5,
# "resultCode": "00",
# "resultDescription": "Collect Status retrieved successfully.",
# }
#
# return jsonify(response), 200
@loan_bp.route("/penal-charge", methods=["POST"])
def penal_charge():
data = request.json
api_url = f"{BASE_URL}/PenalCharge"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"resultCode": "00",
"resultDescription": "Penal charge debited successfully",
}
return jsonify(response), 200
# @loan_bp.route("/penal-charge", methods=["POST"])
# def penal_charge():
# data = request.json
# api_url = f"{BASE_URL}/PenalCharge"
#
# # response = requests.post(api_url, json=data, headers=get_headers())
# # return jsonify(response.json()), response.status_code
# response = {
# "resultCode": "00",
# "resultDescription": "Penal charge debited successfully",
# }
#
# return jsonify(response), 200
@loan_bp.route("/lien-check", methods=["POST"])
def lien_check():
data = request.json
api_url = f"{BASE_URL}/LienCheck"
# response = requests.post(api_url, json=data, headers=get_headers())
# return jsonify(response.json()), response.status_code
response = {
"lienAmount": 20000,
"resultCode": "00",
"resultDescription": "Successful",
}
return jsonify(response), 200
# @loan_bp.route("/lien-check", methods=["POST"])
# def lien_check():
# data = request.json
# api_url = f"{BASE_URL}/LienCheck"
#
# # response = requests.post(api_url, json=data, headers=get_headers())
# # return jsonify(response.json()), response.status_code
# response = {
# "lienAmount": 20000,
# "resultCode": "00",
# "resultDescription": "Successful",
# }
#
# return jsonify(response), 200