当前位置: 首页>>代码示例>>Java>>正文


Java TimePeriod.add方法代码示例

本文整理汇总了Java中nl.strohalm.cyclos.utils.TimePeriod.add方法的典型用法代码示例。如果您正苦于以下问题:Java TimePeriod.add方法的具体用法?Java TimePeriod.add怎么用?Java TimePeriod.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在nl.strohalm.cyclos.utils.TimePeriod的用法示例。


在下文中一共展示了TimePeriod.add方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: calculatePaymentProjection

import nl.strohalm.cyclos.utils.TimePeriod; //导入方法依赖的package包/类
@Override
public List<ScheduledPaymentDTO> calculatePaymentProjection(final ProjectionDTO params) {
    getProjectionValidator().validate(params);

    final LocalSettings localSettings = settingsService.getLocalSettings();

    final int paymentCount = params.getPaymentCount();
    final TimePeriod recurrence = params.getRecurrence();
    final BigDecimal totalAmount = params.getAmount();
    final BigDecimal paymentAmount = localSettings.round(totalAmount.divide(CoercionHelper.coerce(BigDecimal.class, paymentCount), localSettings.getMathContext()));
    BigDecimal accumulatedAmount = BigDecimal.ZERO;
    Calendar currentDate = DateHelper.truncate(params.getFirstExpirationDate());
    final List<ScheduledPaymentDTO> payments = new ArrayList<ScheduledPaymentDTO>(paymentCount);
    for (int i = 0; i < paymentCount; i++) {
        final ScheduledPaymentDTO dto = new ScheduledPaymentDTO();
        dto.setDate(currentDate);
        dto.setAmount(i == paymentCount - 1 ? totalAmount.subtract(accumulatedAmount) : paymentAmount);
        payments.add(dto);
        accumulatedAmount = accumulatedAmount.add(dto.getAmount(), localSettings.getMathContext());
        currentDate = recurrence.add(currentDate);
    }
    return payments;
}
 
开发者ID:crypto-coder,项目名称:open-cyclos,代码行数:24,代码来源:PaymentServiceImpl.java

示例2: validate

import nl.strohalm.cyclos.utils.TimePeriod; //导入方法依赖的package包/类
@Override
public ValidationError validate(final Object object) {
    final Ad ad = (Ad) object;
    Element element = fetchService.fetch(ad.getOwner(), Element.Relationships.GROUP);
    if (element == null) {
        if (!LoggedUser.hasUser()) {
            return null;
        }
        element = LoggedUser.element();
    }
    final Group group = fetchService.fetch(element.getGroup());
    Calendar begin = null;
    Calendar end = null;
    try {
        begin = ad.getPublicationPeriod().getBegin();
        end = ad.getPublicationPeriod().getEnd();
    } catch (final NullPointerException e) {
    }
    // Check max publication time
    if (begin != null && end != null && !ad.isPermanent() && (group instanceof MemberGroup)) {
        final TimePeriod maxAdPublicationTime = ((MemberGroup) group).getMemberSettings().getMaxAdPublicationTime();
        final Calendar maxEnd = maxAdPublicationTime.add(begin);
        if (end.after(maxEnd)) {
            return new ValidationError("ad.error.maxPublicationTimeExceeded");
        }
    }
    return null;
}
 
开发者ID:crypto-coder,项目名称:open-cyclos,代码行数:29,代码来源:AdServiceImpl.java

示例3: canChargeback

import nl.strohalm.cyclos.utils.TimePeriod; //导入方法依赖的package包/类
@Override
public boolean canChargeback(Transfer transfer, final boolean ignorePendingPayment) {
    transfer = fetchService.fetch(transfer, Payment.Relationships.FROM, Payment.Relationships.TO, Transfer.Relationships.PARENT, Transfer.Relationships.CHARGEBACK_OF, Transfer.Relationships.CHILDREN);
    if (transfer == null) {
        return false;
    }
    // Pending payments cannot be charged back
    final Calendar processDate = transfer.getProcessDate();
    if (!ignorePendingPayment && processDate == null) {
        return false;
    }

    // Check the max chargeback time
    final LocalSettings localSettings = settingsService.getLocalSettings();
    final TimePeriod maxChargebackTime = localSettings.getMaxChargebackTime();
    final Calendar maxDate = maxChargebackTime.add(processDate);
    if (Calendar.getInstance().after(maxDate)) {
        return false;
    }

    // Nested transfers cannot be charged back
    if (transfer.getParent() != null) {
        return false;
    }
    // Payments which has already been charged back cannot be charged back again
    if (transfer.getChargedBackBy() != null) {
        return false;
    }
    // Payments which are chargebacks cannot be charged back
    if (transfer.getChargebackOf() != null) {
        return false;
    }
    // Cannot chargeback if from owner is removed
    if (!transfer.isFromSystem()) {
        final Member fromOwner = (Member) transfer.getFromOwner();
        if (fromOwner.getGroup().getStatus() == Group.Status.REMOVED) {
            return false;
        }
    }
    // Cannot chargeback if to owner is removed
    if (!transfer.isToSystem()) {
        final Member toOwner = (Member) transfer.getToOwner();
        if (toOwner.getGroup().getStatus() == Group.Status.REMOVED) {
            return false;
        }
    }
    return true;
}
 
开发者ID:crypto-coder,项目名称:open-cyclos,代码行数:49,代码来源:PaymentServiceImpl.java


注:本文中的nl.strohalm.cyclos.utils.TimePeriod.add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。