From ea6a5b20f3d275e7402b87deafacb7d8f02c68d3 Mon Sep 17 00:00:00 2001 From: berkay Date: Tue, 26 Nov 2024 11:57:21 +0300 Subject: [PATCH] bank service update --- service_app_banks/isbank/isbank_sender.py | 26 ++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/service_app_banks/isbank/isbank_sender.py b/service_app_banks/isbank/isbank_sender.py index 0d93dbd..633adda 100644 --- a/service_app_banks/isbank/isbank_sender.py +++ b/service_app_banks/isbank/isbank_sender.py @@ -35,7 +35,7 @@ def read_json_file(json_file_path): def write_json_file(json_file_path, data): with open(json_file_path, "w") as json_file: - json.dump(data, json_file, indent=4) + json.dump(data, json_file, indent=2) def sender_service(): @@ -63,10 +63,19 @@ def is_bank_retrieve_account_records(bank_data): from databases import AccountRecords from api_library.date_time_actions.date_functions import system_arrow data_bulk = json.loads(bank_data) - print("data_bulk", data_bulk) + new_record_list = [] for data_keys in data_bulk: # data_bulk is a dict for data_dict in data_bulk[data_keys]: # data_bulk[data_keys] is a list + print( + 'record json to create :', + dict( + bank_date=data_dict["bank_date"], + iban=data_dict["iban"], + bank_reference_code=data_dict["bank_reference_code"], + bank_balance=data_dict["bank_balance"], + ) + ) data_dict["bank_balance"] = data_dict.pop("balance") data_dict["import_file_name"] = str(data_keys) data_dict = BankReceive(**data_dict).model_dump() @@ -76,11 +85,18 @@ def is_bank_retrieve_account_records(bank_data): data_dict["bank_date_d"] = bank_date.day data_dict["bank_date_y"] = bank_date.year data_dict["bank_date"] = str(bank_date) - try: + + if found_record := AccountRecords.filter_one( + AccountRecords.bank_date == data_dict["bank_date"], + AccountRecords.iban == data_dict["iban"], + AccountRecords.bank_reference_code == data_dict["bank_reference_code"], + AccountRecords.bank_balance == data_dict["bank_balance"], + ).data: + print('already @database record', found_record.id) + else: new_account_record = AccountRecords.find_or_create(**data_dict) new_record_list.append(new_account_record.get_dict()) - except Exception as e: - print("AccountRecords create error", e) + print('new_account_record is created', new_account_record.id) return new_record_list if new_record_list else []