本文整理汇总了Java中nl.strohalm.cyclos.services.transactions.ProjectionDTO.setPaymentCount方法的典型用法代码示例。如果您正苦于以下问题:Java ProjectionDTO.setPaymentCount方法的具体用法?Java ProjectionDTO.setPaymentCount怎么用?Java ProjectionDTO.setPaymentCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nl.strohalm.cyclos.services.transactions.ProjectionDTO
的用法示例。
在下文中一共展示了ProjectionDTO.setPaymentCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: resolvePaymentDTO
import nl.strohalm.cyclos.services.transactions.ProjectionDTO; //导入方法依赖的package包/类
@Override
protected DoPaymentDTO resolvePaymentDTO(final ActionContext context) {
final Member member = (Member) context.getAccountOwner();
final ReceivePaymentForm form = context.getForm();
final DoPaymentDTO payment = getDataBinder().readFromString(form);
try {
final Member fromMember = CoercionHelper.coerce(Member.class, form.getFrom());
payment.setFrom(fromMember);
} catch (final EntityNotFoundException e) {
// Leave null - will fail validation
}
payment.setChannel(Channel.POSWEB);
payment.setContext(TransactionContext.PAYMENT);
payment.setTo(member);
if (context.isOperator()) {
payment.setReceiver(context.getElement());
}
final LocalSettings localSettings = settingsService.getLocalSettings();
// Handle scheduling
SchedulingType schedulingType = CoercionHelper.coerce(SchedulingType.class, form.getSchedulingType());
if (schedulingType == null) {
schedulingType = SchedulingType.IMMEDIATELY;
}
List<ScheduledPaymentDTO> installments = null;
switch (schedulingType) {
case SINGLE_FUTURE:
final ScheduledPaymentDTO installment = new ScheduledPaymentDTO();
installment.setAmount(payment.getAmount());
installment.setDate(localSettings.getRawDateConverter().valueOf(form.getScheduledFor()));
installments = Collections.singletonList(installment);
break;
case MULTIPLE_FUTURE:
final int paymentCount = CoercionHelper.coerce(int.class, form.getPaymentCount());
final Calendar firstPaymentDate = localSettings.getRawDateConverter().valueOf(form.getFirstPaymentDate());
if (paymentCount > 0 && firstPaymentDate != null) {
final ProjectionDTO projection = new ProjectionDTO();
projection.setTransferType(payment.getTransferType());
projection.setAmount(payment.getAmount());
projection.setFirstExpirationDate(firstPaymentDate);
projection.setPaymentCount(paymentCount);
installments = getPaymentService().calculatePaymentProjection(projection);
}
break;
}
payment.setPayments(installments);
return payment;
}