27 lines
1.2 KiB
Python
27 lines
1.2 KiB
Python
import arrow
|
|
|
|
from Schemas import AccountRecords, BuildIbans
|
|
|
|
|
|
def account_find_build_from_iban(session):
|
|
AccountRecords.set_session(session)
|
|
BuildIbans.set_session(session)
|
|
|
|
account_records_ibans = AccountRecords.query.filter(AccountRecords.build_id == None, AccountRecords.approved_record == False).distinct(AccountRecords.iban).all()
|
|
for account_records_iban in account_records_ibans:
|
|
found_iban: BuildIbans = BuildIbans.query.filter(BuildIbans.iban == account_records_iban.iban).first()
|
|
if not found_iban:
|
|
create_build_ibans = BuildIbans.create(iban=account_records_iban.iban, start_date=str(arrow.now().shift(days=-1)))
|
|
create_build_ibans.save()
|
|
else:
|
|
update_dict = {"build_id": found_iban.build_id, "build_uu_id": str(found_iban.build_uu_id)}
|
|
session.query(AccountRecords).filter(AccountRecords.iban == account_records_iban.iban).update(update_dict, synchronize_session=False)
|
|
session.commit()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print("Account Records Service is running...")
|
|
with AccountRecords.new_session() as session:
|
|
account_find_build_from_iban(session=session)
|
|
print("Account Records Service is finished...")
|