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;