本文整理汇总了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;
}
示例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;
}
示例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;
}