config changes
This commit is contained in:
BIN
processors/__pycache__/__init__.cpython-39.pyc
Normal file
BIN
processors/__pycache__/__init__.cpython-39.pyc
Normal file
Binary file not shown.
BIN
processors/__pycache__/data_mapper.cpython-39.pyc
Normal file
BIN
processors/__pycache__/data_mapper.cpython-39.pyc
Normal file
Binary file not shown.
BIN
processors/__pycache__/file_processor.cpython-39.pyc
Normal file
BIN
processors/__pycache__/file_processor.cpython-39.pyc
Normal file
Binary file not shown.
@@ -10,7 +10,7 @@ from decimal import Decimal
|
||||
from typing import Dict, Any, List
|
||||
|
||||
from logging_config import get_logger
|
||||
from db.models import NEFTInwardRecord
|
||||
from db.models import NEFTInwardRecord # Ensure NEFTInwardRecord has bank_code field
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
@@ -106,19 +106,13 @@ class NEFTDataMapper:
|
||||
# -------------------------
|
||||
|
||||
@classmethod
|
||||
def map_transaction(cls, parsed_txn: Dict[str, Any]) -> NEFTInwardRecord:
|
||||
def map_transaction(cls, parsed_txn: Dict[str, Any], bankcode: str) -> NEFTInwardRecord:
|
||||
"""
|
||||
Map a single parsed NEFT transaction (dict) to NEFTInwardRecord.
|
||||
|
||||
Expects keys as emitted by SFTPUtrParser:
|
||||
- utr, amount, journal_no, status, sub_msg_type
|
||||
- tran_date (YYYYMMDD), tran_time (ignored here)
|
||||
- ifsc_sender, ifsc_recvr
|
||||
- remitter_acct_no, sender_acct_name
|
||||
- remitter_detail, remmiter_info
|
||||
- benef_acct_no, beneficiary_details
|
||||
- benef_address
|
||||
- reject_code, reject_reason (optional)
|
||||
Args:
|
||||
parsed_txn: Dict emitted by SFTPUtrParser
|
||||
bankcode : Bank code for this transaction (mapped to NEFTInwardRecord.bank_code)
|
||||
"""
|
||||
try:
|
||||
# Amount handling
|
||||
@@ -141,6 +135,8 @@ class NEFTDataMapper:
|
||||
recvr_acct_name = (parsed_txn.get('beneficiary_details') or '').strip()
|
||||
|
||||
record = NEFTInwardRecord(
|
||||
|
||||
bank_code=bankcode,
|
||||
txnind=txnind,
|
||||
jrnl_id=(parsed_txn.get('journal_no') or '').strip(),
|
||||
ref_no=(parsed_txn.get('utr') or '').strip(),
|
||||
@@ -168,16 +164,20 @@ class NEFTDataMapper:
|
||||
raise
|
||||
|
||||
@classmethod
|
||||
def map_transactions(cls, parsed_transactions: List[Dict[str, Any]]) -> List[NEFTInwardRecord]:
|
||||
def map_transactions(cls, parsed_transactions: List[Dict[str, Any]], bankcode: str) -> List[NEFTInwardRecord]:
|
||||
"""
|
||||
Map a list of parsed NEFT transactions to NEFTInwardRecord objects.
|
||||
|
||||
Args:
|
||||
parsed_transactions: List of dicts from SFTPUtrParser
|
||||
bankcode : Bank code to be applied to each record
|
||||
"""
|
||||
records: List[NEFTInwardRecord] = []
|
||||
for txn in parsed_transactions:
|
||||
try:
|
||||
rec = cls.map_transaction(txn)
|
||||
rec = cls.map_transaction(txn, bankcode)
|
||||
records.append(rec)
|
||||
except Exception as e:
|
||||
logger.warning(f"Skipping transaction due to error: {e}")
|
||||
logger.info(f"Mapped {len(records)} NEFT transactions")
|
||||
return records
|
||||
logger.info(f"Mapped {len(records)} NEFT transactions for bank {bankcode}")
|
||||
return records
|
||||
|
||||
Reference in New Issue
Block a user