@Override public int hashCode() { int result = invoiceId != null ? invoiceId.hashCode() : 0; result = 31 * result + (accountId != null ? accountId.hashCode() : 0); result = 31 * result + (amountOwed != null ? amountOwed.hashCode() : 0); result = 31 * result + (currency != null ? currency.hashCode() : 0); return result; } }
@Override public String getFormattedAmount() { final NumberFormat number = NumberFormat.getCurrencyInstance(locale); number.setCurrency(java.util.Currency.getInstance(item.getCurrency().toString())); return number.format(getAmount().doubleValue()); }
@Override public Currency getCurrency() { if (currency == null) { return null; } else { return Currency.valueOf(currency); } }
private InvoiceItem mergeCBAItem(final List<InvoiceItem> invoiceItems, InvoiceItem mergedCBAItem, final InvoiceItem item) { if (mergedCBAItem == null) { mergedCBAItem = item; } else { // This is really just to be safe - they should always have the same currency if (!mergedCBAItem.getCurrency().equals(item.getCurrency())) { invoiceItems.add(item); } else { mergedCBAItem = new CreditBalanceAdjInvoiceItem(invoice.getId(), invoice.getAccountId(), invoice.getInvoiceDate(), mergedCBAItem.getAmount().add(item.getAmount()), mergedCBAItem.getCurrency()); } } return mergedCBAItem; }
private InvoiceItem mergeInvoiceAdjustmentItem(final List<InvoiceItem> invoiceItems, InvoiceItem mergedInvoiceAdjustment, final InvoiceItem item) { if (mergedInvoiceAdjustment == null) { mergedInvoiceAdjustment = item; } else { // This is really just to be safe - they should always have the same currency if (!mergedInvoiceAdjustment.getCurrency().equals(item.getCurrency())) { invoiceItems.add(item); } else { mergedInvoiceAdjustment = new CreditAdjInvoiceItem(invoice.getId(), invoice.getAccountId(), invoice.getInvoiceDate(), mergedInvoiceAdjustment.getAmount().add(item.getAmount()), mergedInvoiceAdjustment.getCurrency()); } } return mergedInvoiceAdjustment; }
@Override public int hashCode() { int result = accountId != null ? accountId.hashCode() : 0; result = 31 * result + (paymentId != null ? paymentId.hashCode() : 0); result = 31 * result + (amount != null ? amount.hashCode() : 0); result = 31 * result + (currency != null ? currency.hashCode() : 0); result = 31 * result + (processedAmount != null ? processedAmount.hashCode() : 0); result = 31 * result + (processedCurrency != null ? processedCurrency.hashCode() : 0); result = 31 * result + (isAdjusted ? 1 : 0); result = 31 * result + (refundStatus != null ? refundStatus.hashCode() : 0); result = 31 * result + (createdDate != null ? createdDate.hashCode() : 0); result = 31 * result + (updatedDate != null ? updatedDate.hashCode() : 0); return result; }
public PriceJson(final Price price) throws CurrencyValueNull { this(price.getCurrency().toString(), price.getValue()); }
@Override public BusinessInvoiceModelDao map(final int index, final ResultSet r, final StatementContext ctx) throws SQLException { final UUID invoiceId = UUID.fromString(r.getString(1)); final Integer invoiceNumber = r.getInt(2); final DateTime createdDate = new DateTime(r.getLong(3), DateTimeZone.UTC); final DateTime updatedDate = new DateTime(r.getLong(4), DateTimeZone.UTC); final UUID accountId = UUID.fromString(r.getString(5)); final String accountKey = r.getString(6); final LocalDate invoiceDate = getDate(r, "invoice_date"); final LocalDate targetDate = getDate(r, "target_date"); final Currency currency = Currency.valueOf(r.getString(9)); final BigDecimal balance = BigDecimal.valueOf(r.getDouble(10)); final BigDecimal amountPaid = BigDecimal.valueOf(r.getDouble(11)); final BigDecimal amountCharged = BigDecimal.valueOf(r.getDouble(12)); final BigDecimal amountCredited = BigDecimal.valueOf(r.getDouble(13)); return new BusinessInvoiceModelDao(accountId, accountKey, amountCharged, amountCredited, amountPaid, balance, createdDate, currency, invoiceDate, invoiceId, invoiceNumber, targetDate, updatedDate); } }
private boolean refundObjectsMatch(final RefundModelDao refundModelDao, final RefundInfoPlugin refundInfoPlugin) { return (refundInfoPlugin.getKbPaymentId() != null && refundModelDao.getPaymentId() != null && refundInfoPlugin.getKbPaymentId().equals(refundModelDao.getPaymentId())) && (refundInfoPlugin.getAmount() != null && refundModelDao.getProcessedAmount() != null && refundInfoPlugin.getAmount().compareTo(refundModelDao.getProcessedAmount()) == 0) && (refundInfoPlugin.getCurrency() != null && refundModelDao.getProcessedCurrency() != null && refundInfoPlugin.getCurrency().equals(refundModelDao.getProcessedCurrency())) && ( (refundInfoPlugin.getStatus().equals(RefundPluginStatus.PROCESSED) && refundModelDao.getRefundStatus().equals(RefundStatus.COMPLETED)) || (refundInfoPlugin.getStatus().equals(RefundPluginStatus.PENDING) && refundModelDao.getRefundStatus().equals(RefundStatus.PENDING)) ); }
@Override public int hashCode() { int result = paymentId != null ? paymentId.hashCode() : 0; result = 31 * result + (extFirstPaymentRefId != null ? extFirstPaymentRefId.hashCode() : 0); result = 31 * result + (extSecondPaymentRefId != null ? extSecondPaymentRefId.hashCode() : 0); result = 31 * result + (accountKey != null ? accountKey.hashCode() : 0); result = 31 * result + (invoiceId != null ? invoiceId.hashCode() : 0); result = 31 * result + (effectiveDate != null ? effectiveDate.hashCode() : 0); result = 31 * result + (amount != null ? amount.hashCode() : 0); result = 31 * result + (currency != null ? currency.hashCode() : 0); result = 31 * result + (paymentError != null ? paymentError.hashCode() : 0); result = 31 * result + (processingStatus != null ? processingStatus.hashCode() : 0); result = 31 * result + (requestedAmount != null ? requestedAmount.hashCode() : 0); result = 31 * result + (pluginName != null ? pluginName.hashCode() : 0); result = 31 * result + (paymentType != null ? paymentType.hashCode() : 0); result = 31 * result + (paymentMethod != null ? paymentMethod.hashCode() : 0); result = 31 * result + (cardType != null ? cardType.hashCode() : 0); result = 31 * result + (cardCountry != null ? cardCountry.hashCode() : 0); result = 31 * result + (invoicePaymentType != null ? invoicePaymentType.hashCode() : 0); result = 31 * result + (linkedInvoicePaymentId != null ? linkedInvoicePaymentId.hashCode() : 0); return result; } }
public ChargebackJson(final UUID accountId, final InvoicePayment chargeback, @Nullable final List<AuditLog> auditLogs) { this(chargeback.getId().toString(), accountId.toString(), chargeback.getPaymentDate(), chargeback.getPaymentDate(), chargeback.getAmount().negate(), chargeback.getPaymentId().toString(), chargeback.getCurrency().toString(), toAuditLogJson(auditLogs)); }
final DateTime effectiveDate = new DateTime(r.getLong(8), DateTimeZone.UTC); final BigDecimal amount = BigDecimal.valueOf(r.getDouble(9)); final Currency currency = Currency.valueOf(r.getString(10)); final String paymentError = r.getString(11); final String processingStatus = r.getString(12);
@Override public int hashCode() { int result = invoiceId != null ? invoiceId.hashCode() : 0; result = 31 * result + (invoiceNumber != null ? invoiceNumber.hashCode() : 0); result = 31 * result + (accountId != null ? accountId.hashCode() : 0); result = 31 * result + (accountKey != null ? accountKey.hashCode() : 0); result = 31 * result + (invoiceDate != null ? invoiceDate.hashCode() : 0); result = 31 * result + (targetDate != null ? targetDate.hashCode() : 0); result = 31 * result + (currency != null ? currency.hashCode() : 0); result = 31 * result + (balance != null ? balance.hashCode() : 0); result = 31 * result + (amountPaid != null ? amountPaid.hashCode() : 0); result = 31 * result + (amountCharged != null ? amountCharged.hashCode() : 0); result = 31 * result + (amountCredited != null ? amountCredited.hashCode() : 0); result = 31 * result + (invoiceItems != null ? invoiceItems.hashCode() : 0); return result; } }
@Override public PriceJson apply(final Price price) { try { return new PriceJson(price); } catch (CurrencyValueNull e) { return new PriceJson(price.getCurrency().toString(), BigDecimal.ZERO); } } });
@Override public BusinessInvoiceItemModelDao map(final int index, final ResultSet r, final StatementContext ctx) throws SQLException { final UUID itemId = getUUID(r, "item_id"); final UUID linkedItemId = getUUID(r, "linked_item_id"); final DateTime createdDate = new DateTime(r.getLong("created_date"), DateTimeZone.UTC); final DateTime updatedDate = new DateTime(r.getLong("updated_date"), DateTimeZone.UTC); final UUID invoiceId = getUUID(r, "invoice_id"); final String itemType = r.getString("item_type"); final String externalKey = r.getString("external_key"); final String productName = r.getString("product_name"); final String productType = r.getString("product_type"); final String productCategory = r.getString("product_category"); final String slug = r.getString("slug"); final String phase = r.getString("phase"); final String billingPeriod = r.getString("billing_period"); final LocalDate startDate = getDate(r, "start_date"); final LocalDate endDate = getDate(r, "end_date"); final BigDecimal amount = BigDecimal.valueOf(r.getDouble("amount")); final Currency currency = Currency.valueOf(r.getString("currency")); return new BusinessInvoiceItemModelDao(amount, billingPeriod, createdDate, currency, endDate, externalKey, invoiceId, itemId, linkedItemId, itemType, phase, productCategory, productName, productType, slug, startDate, updatedDate); } }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + (accountId != null ? accountId.hashCode() : 0); result = 31 * result + (invoiceId != null ? invoiceId.hashCode() : 0); result = 31 * result + (paymentMethodId != null ? paymentMethodId.hashCode() : 0); result = 31 * result + (amount != null ? amount.hashCode() : 0); result = 31 * result + (currency != null ? currency.hashCode() : 0); result = 31 * result + (processedAmount != null ? processedAmount.hashCode() : 0); result = 31 * result + (processedCurrency != null ? processedCurrency.hashCode() : 0); result = 31 * result + (effectiveDate != null ? effectiveDate.hashCode() : 0); result = 31 * result + (paymentNumber != null ? paymentNumber.hashCode() : 0); result = 31 * result + (paymentStatus != null ? paymentStatus.hashCode() : 0); result = 31 * result + (extFirstPaymentRefId != null ? extFirstPaymentRefId.hashCode() : 0); result = 31 * result + (extSecondPaymentRefId != null ? extSecondPaymentRefId.hashCode() : 0); return result; }
public RefundJson(final Refund refund, @Nullable final List<InvoiceItem> adjustments, @Nullable final List<AuditLog> auditLogs) { this(refund.getId().toString(), refund.getPaymentId().toString(), refund.getRefundAmount(), refund.getCurrency().toString(), refund.getRefundStatus().toString(), refund.isAdjusted(), refund.getEffectiveDate(), refund.getEffectiveDate(), adjustments == null ? null : ImmutableList.<InvoiceItemJson>copyOf(Collections2.transform(adjustments, new Function<InvoiceItem, InvoiceItemJson>() { @Override public InvoiceItemJson apply(@Nullable final InvoiceItem input) { return new InvoiceItemJson(input); } })), toAuditLogJson(auditLogs)); }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + (type != null ? type.hashCode() : 0); result = 31 * result + (invoiceId != null ? invoiceId.hashCode() : 0); result = 31 * result + (paymentId != null ? paymentId.hashCode() : 0); result = 31 * result + (paymentDate != null ? paymentDate.hashCode() : 0); result = 31 * result + (amount != null ? amount.hashCode() : 0); result = 31 * result + (currency != null ? currency.hashCode() : 0); result = 31 * result + (paymentCookieId != null ? paymentCookieId.hashCode() : 0); result = 31 * result + (linkedInvoicePaymentId != null ? linkedInvoicePaymentId.hashCode() : 0); return result; }
private InvoiceJson createInvoice() { final UUID accountId = UUID.randomUUID(); final UUID invoiceId = UUID.randomUUID(); final BigDecimal invoiceAmount = BigDecimal.TEN; final BigDecimal creditAdj = BigDecimal.ONE; final BigDecimal refundAdj = BigDecimal.ONE; final LocalDate invoiceDate = clock.getUTCToday(); final LocalDate targetDate = clock.getUTCToday(); final String invoiceNumber = UUID.randomUUID().toString(); final BigDecimal balance = BigDecimal.ZERO; return new InvoiceJson(invoiceAmount, Currency.USD.toString(), creditAdj, refundAdj, invoiceId.toString(), invoiceDate, targetDate, invoiceNumber, balance, accountId.toString(), null, null, null, null); }
@Override public int hashCode() { int result = invoiceId != null ? invoiceId.hashCode() : 0; result = 31 * result + (invoiceItemId != null ? invoiceItemId.hashCode() : 0); result = 31 * result + (linkedInvoiceItemId != null ? linkedInvoiceItemId.hashCode() : 0); result = 31 * result + (accountId != null ? accountId.hashCode() : 0); result = 31 * result + (bundleId != null ? bundleId.hashCode() : 0); result = 31 * result + (subscriptionId != null ? subscriptionId.hashCode() : 0); result = 31 * result + (planName != null ? planName.hashCode() : 0); result = 31 * result + (phaseName != null ? phaseName.hashCode() : 0); result = 31 * result + (description != null ? description.hashCode() : 0); result = 31 * result + (startDate != null ? startDate.hashCode() : 0); result = 31 * result + (endDate != null ? endDate.hashCode() : 0); result = 31 * result + (amount != null ? amount.hashCode() : 0); result = 31 * result + (currency != null ? currency.hashCode() : 0); return result; } }