Java 如何减少多个if-else语句并降低代码的认知复杂性?

Java 如何减少多个if-else语句并降低代码的认知复杂性?,java,spring-boot,Java,Spring Boot,以下是创建事务日志然后执行事务的代码 BankTransactions sourceBankTransaction = bankTransactionService.createBankTransaction(BankTransactionDto.builder() .amount(clientIbftRequest.getAmount() + chargeAmount) .bankTransactionEntry(bankTra

以下是创建事务日志然后执行事务的代码

 BankTransactions sourceBankTransaction = bankTransactionService.createBankTransaction(BankTransactionDto.builder()
                .amount(clientIbftRequest.getAmount() + chargeAmount)
                .bankTransactionEntry(bankTransactionEntry)
                .fromAccountNumber(clientSourceAccount)
                .toAccountNumber(clientDestinationAccount)
                .bank(sourceBankService.getBanks())
                .bankTransactionType(BankTransactionType.SOURCE)
                .transactionStatus(!clientService.isRequireSourceTransaction() ? TransactionStatus.NOT_REQUIRED :
                        TransactionStatus.PENDING)
                .statusCode(TransactionEntryRequestStatusKey.BANK_TXN_INITIATED.getCode())
                .statment(ConversionUtil.getStatement(TransactionNarrationConstant.BANK_TRANSFER))
                .build());
有许多这样的对象。它们都有不同的参数,如交易类型、往来账户、银行。因此,在单个事务中,我有多个上述代码。这使我的方法很长。 而且,一些事务是同步执行的,而另一些事务则需要不同的线程。有没有办法让它们充满活力

我试图创建一个以键作为事务类型的映射

Map<String, List<BankTransactions>> = new HashMap();
Create bank txn legs: 
Arrange the legs in a map
Get priority from database
    IF priority present
        Sort legs acc to priority
IF first leg status =  DESTINATION
    Perform destination txn
    IF txn == DESTINATION && SUCCESS
       save success for destination
    ELSE exit;
THEN perform source txn
    IF txn == SOURCE && SUCCESS
       save success for source 
    ELSE exit;  
ELSE IF first leg status = SOURCE
     Perform source txn
     IF txn == SOURCE && SUCCESS
       save success for source
     ELSE exit;
THEN destination txn'
     IF txn == DESTINATION && SUCCESS
       save success for destination
       PERFORM OTHER TXNS IN THREAD:    
     ELSE exit;