Booking booking = new Booking(); booking.setBankApi(BankApi.HBCI); booking.setBookingDate(line.bdate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate()); booking.setAmount(line.value.getBigDecimalValue().setScale(2)); booking.setCurrency(line.value.getCurr()); booking.setAdditional(line.additional); booking.setAddkey(line.addkey); booking.setCustomerRef(line.customerref); booking.setInstRef(line.instref); booking.setReversal(line.isStorno); booking.setSepa(line.isSepa); booking.setPrimanota(line.primanota); booking.setText(line.text); booking.setValutaDate(line.valuta.toInstant().atZone(ZoneId.systemDefault()).toLocalDate()); if (line.saldo != null && line.saldo.value != null) { booking.setBalance(line.saldo.value.getBigDecimalValue().setScale(2)); booking.setChargeValue(line.charge_value.getBigDecimalValue().setScale(2)); booking.setOrigValue(line.orig_value.getBigDecimalValue().setScale(2)); booking.setOtherAccount(toBankAccount(line.other)); String differentInitiator = Utils.extractDifferentInitiator(booking.getUsage()); if (differentInitiator != null) { booking.getOtherAccount().setOwner(booking.getOtherAccount().getOwner() + " " + differentInitiator); if (StringUtils.isBlank(booking.getOtherAccount().getIban())) { booking.getOtherAccount().setIban(extractIban(booking.getUsage()));
public static Booking mapBooking(Transaction transaction, BankApi bankApi) { Booking booking = new Booking(); booking.setExternalId(transaction.getTransactionId()); booking.setBankApi(bankApi); booking.setBookingDate(transaction.getBookingDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate()); booking.setValutaDate(transaction.getValueDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate()); booking.setAmount(transaction.getAmount()); booking.setUsage(transaction.getPurposeText()); booking.setText(transaction.getBookingText()); booking.setTransactionCode(transaction.getTransactionCode()); booking.setOtherAccount(mapBookingAccount(transaction)); booking.setCreditorId(Utils.extractCreditorId(transaction.getPurposeText())); booking.setMandateReference(Utils.extractMandateReference(transaction.getPurposeText())); return booking; }
nextPage = transactionsResponse.getPaging().getPage() + 1; bookingList.addAll(transactionsResponse.getTransactions().stream().map(transaction -> { Booking booking = new Booking(); booking.setExternalId(transaction.getId().toString()); booking.setBankApi(bankApi()); booking.setBookingDate(LocalDate.from(formatter.parse(transaction.getBankBookingDate(), new ParsePosition(0)))); booking.setValutaDate(LocalDate.from(formatter.parse(transaction.getValueDate(), new ParsePosition(0)))); booking.setAmount(transaction.getAmount()); booking.setUsage(transaction.getPurpose()); booking.setCreditorId(Utils.extractCreditorId(transaction.getPurpose())); booking.setMandateReference(Utils.extractMandateReference(transaction.getPurpose())); booking.setOtherAccount(new BankAccount()); booking.getOtherAccount().setName(transaction.getCounterpartName()); booking.getOtherAccount().setAccountNumber(transaction.getCounterpartAccountNumber()); booking.getOtherAccount().setIban(Utils.extractIban(transaction.getPurpose())); bookingCategory.setMainCategory(transaction.getCategory().getParentName()); bookingCategory.setSubCategory(transaction.getCategory().getName()); booking.setBookingCategory(bookingCategory);