java 转带 children_Java Transfer.getChildren方法代码示例

import nl.strohalm.cyclos.entities.accounts.transactions.Transfer; //导入方法依赖的package包/类

private Transfer doUpdateAuthorizationData(final LockHandler lockHandler, Transfer transfer, final AuthorizationLevel nextAuthorizationLevel, final boolean processed, final TransferAuthorization authorization) {

if (processed) {

lockHandler.lock(transfer.getFrom(), transfer.getTo());

// apply rates

RatesToSave rates = rateService.applyTransfer(transfer);

/*

* set processDate AFTER applying rates, but before persisting them. This is important, because the transfer itself must not sum up for

* rates or balances when the rates are processed, and it does if processdate is already set. In that case, the transfer's processDate can

* equal the fromRates's date.

*/

Calendar processDate = (rates.getFromRates() == null) ? Calendar.getInstance() : rates.getFromRates().getDate();

transfer.setProcessDate(processDate);

rateService.persist(rates);

// Return the reserved amount

accountService.returnReservation(authorization, transfer);

// Remove any pending closed balances on the destination account. The returnReservation will do this for the source account

accountService.removeClosedBalancesAfter(transfer.getTo(), processDate);

// update the transfer information, and also the rates.

transfer = transferDao.updateAuthorizationData(transfer.getId(), Transfer.Status.PROCESSED, null, transfer.getProcessDate(), rates);

} else {

transfer = transferDao.updateAuthorizationData(transfer.getId(), Transfer.Status.PENDING, nextAuthorizationLevel, null, null);

}

// Update child transfers

for (final Transfer childTransfer : transfer.getChildren()) {

updateChildTransfer(lockHandler, transfer, childTransfer, authorization, processed);

}

return transfer;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值