Details
diff --git a/payment/src/main/java/com/ning/billing/payment/api/DefaultPayment.java b/payment/src/main/java/com/ning/billing/payment/api/DefaultPayment.java
index 6427414..690b321 100644
--- a/payment/src/main/java/com/ning/billing/payment/api/DefaultPayment.java
+++ b/payment/src/main/java/com/ning/billing/payment/api/DefaultPayment.java
@@ -175,7 +175,7 @@ public class DefaultPayment extends EntityBase implements Payment {
return new PaymentAttempt() {
@Override
public PaymentStatus getPaymentStatus() {
- return input.getPaymentStatus();
+ return input.getProcessingStatus();
}
@Override
diff --git a/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java b/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java
index 40bdb84..22b3efd 100644
--- a/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java
+++ b/payment/src/main/java/com/ning/billing/payment/core/PaymentProcessor.java
@@ -516,7 +516,7 @@ public class PaymentProcessor extends ProcessorBase {
@Override
public boolean apply(final PaymentAttemptModelDao input) {
for (final PaymentStatus cur : statuses) {
- if (input.getPaymentStatus() == cur) {
+ if (input.getProcessingStatus() == cur) {
return true;
}
}
diff --git a/payment/src/main/java/com/ning/billing/payment/core/RefundProcessor.java b/payment/src/main/java/com/ning/billing/payment/core/RefundProcessor.java
index 2193714..679e695 100644
--- a/payment/src/main/java/com/ning/billing/payment/core/RefundProcessor.java
+++ b/payment/src/main/java/com/ning/billing/payment/core/RefundProcessor.java
@@ -239,7 +239,7 @@ public class RefundProcessor extends ProcessorBase {
}
return new DefaultRefund(result.getId(), result.getCreatedDate(), result.getUpdatedDate(),
result.getPaymentId(), result.getAmount(), result.getCurrency(),
- result.isAdjsuted(), result.getCreatedDate());
+ result.isAdjusted(), result.getCreatedDate());
}
public List<Refund> getAccountRefunds(final Account account, final InternalTenantContext context)
@@ -268,7 +268,7 @@ public class RefundProcessor extends ProcessorBase {
public Refund apply(final RefundModelDao cur) {
return new DefaultRefund(cur.getId(), cur.getCreatedDate(), cur.getUpdatedDate(),
cur.getPaymentId(), cur.getAmount(), cur.getCurrency(),
- cur.isAdjsuted(), cur.getCreatedDate());
+ cur.isAdjusted(), cur.getCreatedDate());
}
}));
}
@@ -304,7 +304,7 @@ public class RefundProcessor extends ProcessorBase {
try {
for (final RefundModelDao cur : refundsToBeFixed) {
// TODO - we currently don't save the items to be adjusted. If we crash, they won't be adjusted...
- invoiceApi.createRefund(cur.getPaymentId(), cur.getAmount(), cur.isAdjsuted(), ImmutableMap.<UUID, BigDecimal>of(), cur.getId(), context);
+ invoiceApi.createRefund(cur.getPaymentId(), cur.getAmount(), cur.isAdjusted(), ImmutableMap.<UUID, BigDecimal>of(), cur.getId(), context);
paymentDao.updateRefundStatus(cur.getId(), RefundStatus.COMPLETED, context);
}
} catch (InvoiceApiException e) {
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/AuditedPaymentDao.java b/payment/src/main/java/com/ning/billing/payment/dao/AuditedPaymentDao.java
index 7ca9634..b248584 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/AuditedPaymentDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/AuditedPaymentDao.java
@@ -16,48 +16,33 @@
package com.ning.billing.payment.dao;
-import java.math.BigDecimal;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
+import javax.inject.Inject;
+
import org.skife.jdbi.v2.IDBI;
import com.ning.billing.payment.api.PaymentStatus;
import com.ning.billing.payment.dao.RefundModelDao.RefundStatus;
-import com.ning.billing.payment.retry.PluginFailureRetryService.PluginFailureRetryServiceScheduler;
-import com.ning.billing.util.audit.ChangeType;
import com.ning.billing.util.callcontext.InternalCallContext;
import com.ning.billing.util.callcontext.InternalTenantContext;
-import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.dao.EntityAudit;
-import com.ning.billing.util.dao.EntityHistory;
-import com.ning.billing.util.dao.TableName;
+import com.ning.billing.util.entity.EntityPersistenceException;
import com.ning.billing.util.entity.dao.EntitySqlDao;
import com.ning.billing.util.entity.dao.EntitySqlDaoTransactionWrapper;
import com.ning.billing.util.entity.dao.EntitySqlDaoTransactionalJdbiWrapper;
import com.ning.billing.util.entity.dao.EntitySqlDaoWrapperFactory;
-import com.google.inject.Inject;
public class AuditedPaymentDao implements PaymentDao {
private final EntitySqlDaoTransactionalJdbiWrapper transactionalSqlDao;
- private final PaymentSqlDao paymentSqlDao;
- private final PaymentAttemptSqlDao paymentAttemptSqlDao;
- private final PaymentMethodSqlDao paymentMethodSqlDao;
- private final RefundSqlDao refundSqlDao;
- private final Clock clock;
@Inject
- public AuditedPaymentDao(final IDBI dbi, final PluginFailureRetryServiceScheduler timedoutSchduler, final Clock clock) {
- this.paymentSqlDao = dbi.onDemand(PaymentSqlDao.class);
- this.paymentAttemptSqlDao = dbi.onDemand(PaymentAttemptSqlDao.class);
- this.paymentMethodSqlDao = dbi.onDemand(PaymentMethodSqlDao.class);
- this.refundSqlDao = dbi.onDemand(RefundSqlDao.class);
+ public AuditedPaymentDao(final IDBI dbi) {
this.transactionalSqlDao = new EntitySqlDaoTransactionalJdbiWrapper(dbi);
- this.clock = clock;
}
@Override
@@ -66,8 +51,8 @@ public class AuditedPaymentDao implements PaymentDao {
@Override
public PaymentAttemptModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
final PaymentAttemptSqlDao transactional = entitySqlDaoWrapperFactory.become(PaymentAttemptSqlDao.class);
- transactional.insertPaymentAttempt(attempt, context);
- final PaymentAttemptModelDao savedAttempt = transactional.getPaymentAttempt(attempt.getId().toString(), context);
+ transactional.create(attempt, context);
+ final PaymentAttemptModelDao savedAttempt = transactional.getById(attempt.getId().toString(), context);
entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).updatePaymentAmount(paymentId.toString(), savedAttempt.getRequestedAmount(), context);
@@ -83,19 +68,24 @@ public class AuditedPaymentDao implements PaymentDao {
@Override
public PaymentModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
final PaymentSqlDao transactional = entitySqlDaoWrapperFactory.become(PaymentSqlDao.class);
- transactional.insertPayment(payment, context);
+ transactional.create(payment, context);
- entitySqlDaoWrapperFactory.become(PaymentAttemptSqlDao.class).insertPaymentAttempt(attempt, context);
+ entitySqlDaoWrapperFactory.become(PaymentAttemptSqlDao.class).create(attempt, context);
- return transactional.getPayment(payment.getId().toString(), context);
+ return transactional.getById(payment.getId().toString(), context);
}
});
}
@Override
public PaymentAttemptModelDao getPaymentAttempt(final UUID attemptId, final InternalTenantContext context) {
- return paymentAttemptSqlDao.getPaymentAttempt(attemptId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentAttemptModelDao>() {
+ @Override
+ public PaymentAttemptModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentAttemptSqlDao.class).getById(attemptId.toString(), context);
+ }
+ });
}
@Override
@@ -128,11 +118,12 @@ public class AuditedPaymentDao implements PaymentDao {
});
}
- private PaymentMethodModelDao insertPaymentMethodInTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory, final PaymentMethodModelDao paymentMethod, final InternalCallContext context) {
+ private PaymentMethodModelDao insertPaymentMethodInTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory, final PaymentMethodModelDao paymentMethod, final InternalCallContext context)
+ throws EntityPersistenceException {
final PaymentMethodSqlDao transactional = entitySqlDaoWrapperFactory.become(PaymentMethodSqlDao.class);
- transactional.insertPaymentMethod(paymentMethod, context);
+ transactional.create(paymentMethod, context);
- return transactional.getPaymentMethod(paymentMethod.getId().toString(), context);
+ return transactional.getById(paymentMethod.getId().toString(), context);
}
@Override
@@ -142,7 +133,7 @@ public class AuditedPaymentDao implements PaymentDao {
@Override
public List<PaymentMethodModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
final PaymentMethodSqlDao transactional = entitySqlDaoWrapperFactory.become(PaymentMethodSqlDao.class);
- final List<PaymentMethodModelDao> existingPaymentMethods = transactional.getPaymentMethods(accountId.toString(), context);
+ final List<PaymentMethodModelDao> existingPaymentMethods = transactional.getByAccountId(accountId.toString(), context);
final Set<String> externalPaymentIdProcessed = new HashSet<String>();
for (final PaymentMethodModelDao finalPaymentMethod : paymentMethods) {
@@ -176,8 +167,7 @@ public class AuditedPaymentDao implements PaymentDao {
deletedPaymentMethodInTransaction(entitySqlDaoWrapperFactory, existingPaymentMethod.getId(), context);
}
}
-
- return transactional.getPaymentMethods(accountId.toString(), context);
+ return transactional.getByAccountId(accountId.toString(), context);
}
});
}
@@ -189,8 +179,8 @@ public class AuditedPaymentDao implements PaymentDao {
@Override
public RefundModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
final RefundSqlDao transactional = entitySqlDaoWrapperFactory.become(RefundSqlDao.class);
- transactional.insertRefund(refundInfo, context);
- return transactional.getRefund(refundInfo.getId().toString(), context);
+ transactional.create(refundInfo, context);
+ return transactional.getById(refundInfo.getId().toString(), context);
}
});
}
@@ -208,36 +198,62 @@ public class AuditedPaymentDao implements PaymentDao {
@Override
public RefundModelDao getRefund(final UUID refundId, final InternalTenantContext context) {
- return refundSqlDao.getRefund(refundId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<RefundModelDao>() {
+ @Override
+ public RefundModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(RefundSqlDao.class).getById(refundId.toString(), context);
+ }
+ });
}
@Override
public List<RefundModelDao> getRefundsForPayment(final UUID paymentId, final InternalTenantContext context) {
- return refundSqlDao.getRefundsForPayment(paymentId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<RefundModelDao>>() {
+ @Override
+ public List<RefundModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(RefundSqlDao.class).getRefundsForPayment(paymentId.toString(), context);
+ }
+ });
}
@Override
public List<RefundModelDao> getRefundsForAccount(final UUID accountId, final InternalTenantContext context) {
- return refundSqlDao.getRefundsForAccount(accountId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<RefundModelDao>>() {
+ @Override
+ public List<RefundModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(RefundSqlDao.class).getRefundsForAccount(accountId.toString(), context);
+ }
+ });
}
@Override
public PaymentMethodModelDao getPaymentMethod(final UUID paymentMethodId, final InternalTenantContext context) {
- return getPaymentMethodInTransaction(paymentMethodSqlDao, paymentMethodId, context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentMethodModelDao>() {
+ @Override
+ public PaymentMethodModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentMethodSqlDao.class).getById(paymentMethodId.toString(), context);
+ }
+ });
}
@Override
public PaymentMethodModelDao getPaymentMethodIncludedDeleted(final UUID paymentMethodId, final InternalTenantContext context) {
- return paymentMethodSqlDao.getPaymentMethodIncludedDelete(paymentMethodId.toString(), context);
- }
-
- private PaymentMethodModelDao getPaymentMethodInTransaction(final PaymentMethodSqlDao transactional, final UUID paymentMethodId, final InternalTenantContext context) {
- return transactional.getPaymentMethod(paymentMethodId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentMethodModelDao>() {
+ @Override
+ public PaymentMethodModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentMethodSqlDao.class).getPaymentMethodIncludedDelete(paymentMethodId.toString(), context);
+ }
+ });
}
@Override
public List<PaymentMethodModelDao> getPaymentMethods(final UUID accountId, final InternalTenantContext context) {
- return paymentMethodSqlDao.getPaymentMethods(accountId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<PaymentMethodModelDao>>() {
+ @Override
+ public List<PaymentMethodModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentMethodSqlDao.class).get(context);
+ }
+ });
}
@Override
@@ -273,26 +289,51 @@ public class AuditedPaymentDao implements PaymentDao {
@Override
public List<PaymentModelDao> getPaymentsForInvoice(final UUID invoiceId, final InternalTenantContext context) {
- return paymentSqlDao.getPaymentsForInvoice(invoiceId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<PaymentModelDao>>() {
+ @Override
+ public List<PaymentModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).getPaymentsForInvoice(invoiceId.toString(), context);
+ }
+ });
}
@Override
public PaymentModelDao getLastPaymentForPaymentMethod(final UUID accountId, final UUID paymentMethodId, final InternalTenantContext context) {
- return paymentSqlDao.getLastPaymentForAccountAndPaymentMethod(accountId.toString(), paymentMethodId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentModelDao>() {
+ @Override
+ public PaymentModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).getLastPaymentForAccountAndPaymentMethod(accountId.toString(), paymentMethodId.toString(), context);
+ }
+ });
}
@Override
public PaymentModelDao getPayment(final UUID paymentId, final InternalTenantContext context) {
- return paymentSqlDao.getPayment(paymentId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<PaymentModelDao>() {
+ @Override
+ public PaymentModelDao inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).getById(paymentId.toString(), context);
+ }
+ });
}
@Override
public List<PaymentModelDao> getPaymentsForAccount(final UUID accountId, final InternalTenantContext context) {
- return paymentSqlDao.getPaymentsForAccount(accountId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<PaymentModelDao>>() {
+ @Override
+ public List<PaymentModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentSqlDao.class).getPaymentsForAccount(accountId.toString(), context);
+ }
+ });
}
@Override
public List<PaymentAttemptModelDao> getAttemptsForPayment(final UUID paymentId, final InternalTenantContext context) {
- return paymentAttemptSqlDao.getPaymentAttempts(paymentId.toString(), context);
+ return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<PaymentAttemptModelDao>>() {
+ @Override
+ public List<PaymentAttemptModelDao> inTransaction(final EntitySqlDaoWrapperFactory<EntitySqlDao> entitySqlDaoWrapperFactory) throws Exception {
+ return entitySqlDaoWrapperFactory.become(PaymentAttemptSqlDao.class).getByPaymentId(paymentId.toString(), context);
+ }
+ });
}
}
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptHistoryBinder.java b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptHistoryBinder.java
index e49cfa5..aa37bd4 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptHistoryBinder.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptHistoryBinder.java
@@ -46,7 +46,7 @@ public @interface PaymentAttemptHistoryBinder {
final PaymentAttemptModelDao attempt = history.getEntity();
q.bind("id", attempt.getId().toString());
q.bind("paymentId", attempt.getPaymentId().toString());
- q.bind("processingStatus", attempt.getPaymentStatus().toString());
+ q.bind("processingStatus", attempt.getProcessingStatus().toString());
q.bind("gatewayErrorCode", attempt.getGatewayErrorCode() );
q.bind("gatewayErrorMsg", attempt.getGatewayErrorMsg() );
q.bind("requestedAmount", attempt.getRequestedAmount());
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptModelDao.java b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptModelDao.java
index fb83540..f57fe56 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptModelDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptModelDao.java
@@ -77,7 +77,7 @@ public class PaymentAttemptModelDao extends EntityBase {
return paymentId;
}
- public PaymentStatus getPaymentStatus() {
+ public PaymentStatus getProcessingStatus() {
return processingStatus;
}
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptSqlDao.java b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptSqlDao.java
index 551069a..768ebe6 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptSqlDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptSqlDao.java
@@ -46,12 +46,8 @@ import com.ning.billing.util.entity.dao.EntitySqlDaoStringTemplate;
@EntitySqlDaoStringTemplate
@RegisterMapper(PaymentAttemptSqlDao.PaymentAttemptModelDaoMapper.class)
-public interface PaymentAttemptSqlDao extends EntitySqlDao<PaymentAttempt> {
+public interface PaymentAttemptSqlDao extends EntitySqlDao<PaymentAttemptModelDao> {
- @SqlUpdate
- @Audited(ChangeType.INSERT)
- void insertPaymentAttempt(@BindBean final PaymentAttemptModelDao attempt,
- @BindBean final InternalCallContext context);
@SqlUpdate
@Audited(ChangeType.UPDATE)
@@ -62,12 +58,8 @@ public interface PaymentAttemptSqlDao extends EntitySqlDao<PaymentAttempt> {
@BindBean final InternalCallContext context);
@SqlQuery
- PaymentAttemptModelDao getPaymentAttempt(@Bind("id") final String attemptId,
- @BindBean final InternalTenantContext context);
-
- @SqlQuery
- List<PaymentAttemptModelDao> getPaymentAttempts(@Bind("paymentId") final String paymentId,
- @BindBean final InternalTenantContext context);
+ List<PaymentAttemptModelDao> getByPaymentId(@Bind("paymentId") final String paymentId,
+ @BindBean final InternalTenantContext context);
public static class PaymentAttemptModelDaoMapper extends MapperBase implements ResultSetMapper<PaymentAttemptModelDao> {
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/PaymentMethodModelDao.java b/payment/src/main/java/com/ning/billing/payment/dao/PaymentMethodModelDao.java
index 38d144b..e3ebe9f 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/PaymentMethodModelDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/PaymentMethodModelDao.java
@@ -49,6 +49,11 @@ public class PaymentMethodModelDao extends EntityBase {
return pluginName;
}
+ // TODO Required for making the BindBeanFactory with Introspector work
+ public Boolean getIsActive() {
+ return isActive;
+ }
+
public Boolean isActive() {
return isActive;
}
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/PaymentMethodSqlDao.java b/payment/src/main/java/com/ning/billing/payment/dao/PaymentMethodSqlDao.java
index 043800c..74da14a 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/PaymentMethodSqlDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/PaymentMethodSqlDao.java
@@ -45,12 +45,7 @@ import com.ning.billing.util.entity.dao.EntitySqlDaoStringTemplate;
@EntitySqlDaoStringTemplate
@RegisterMapper(PaymentMethodSqlDao.PaymentMethodDaoMapper.class)
-public interface PaymentMethodSqlDao extends EntitySqlDao<PaymentMethod> {
-
- @SqlUpdate
- @Audited(ChangeType.INSERT)
- void insertPaymentMethod(@BindBean final PaymentMethodModelDao paymentMethod,
- @BindBean final InternalCallContext context);
+public interface PaymentMethodSqlDao extends EntitySqlDao<PaymentMethodModelDao> {
@SqlUpdate
@Audited(ChangeType.UPDATE)
@@ -62,17 +57,13 @@ public interface PaymentMethodSqlDao extends EntitySqlDao<PaymentMethod> {
void unmarkPaymentMethodAsDeleted(@Bind("id") final String paymentMethodId,
@BindBean final InternalCallContext context);
- @SqlQuery
- PaymentMethodModelDao getPaymentMethod(@Bind("id") final String paymentMethodId,
- @BindBean final InternalTenantContext context);
@SqlQuery
PaymentMethodModelDao getPaymentMethodIncludedDelete(@Bind("id") final String paymentMethodId,
@BindBean final InternalTenantContext context);
@SqlQuery
- List<PaymentMethodModelDao> getPaymentMethods(@Bind("accountId") final String accountId,
- @BindBean final InternalTenantContext context);
+ List<PaymentMethodModelDao> getByAccountId(@Bind("accountId") final String accountId, @BindBean final InternalCallContext context);
public static class PaymentMethodDaoMapper extends MapperBase implements ResultSetMapper<PaymentMethodModelDao> {
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/PaymentSqlDao.java b/payment/src/main/java/com/ning/billing/payment/dao/PaymentSqlDao.java
index a313463..0452e0a 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/PaymentSqlDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/PaymentSqlDao.java
@@ -51,10 +51,7 @@ import com.ning.billing.util.entity.dao.UpdatableEntitySqlDao;
@RegisterMapper(PaymentSqlDao.PaymentModelDaoMapper.class)
public interface PaymentSqlDao extends EntitySqlDao<PaymentModelDao> {
- @SqlUpdate
- @Audited(ChangeType.INSERT)
- void insertPayment(@BindBean final PaymentModelDao paymentInfo,
- @BindBean final InternalCallContext context);
+
@SqlUpdate
@Audited(ChangeType.UPDATE)
@@ -70,9 +67,6 @@ public interface PaymentSqlDao extends EntitySqlDao<PaymentModelDao> {
@Bind("amount") final BigDecimal amount,
@BindBean final InternalCallContext context);
- @SqlQuery
- PaymentModelDao getPayment(@Bind("id") final String paymentId,
- @BindBean final InternalTenantContext context);
@SqlQuery
PaymentModelDao getLastPaymentForAccountAndPaymentMethod(@Bind("accountId") final String accountId,
@@ -98,7 +92,7 @@ public interface PaymentSqlDao extends EntitySqlDao<PaymentModelDao> {
final UUID accountId = getUUID(rs, "account_id");
final UUID invoiceId = getUUID(rs, "invoice_id");
final UUID paymentMethodId = getUUID(rs, "payment_method_id");
- final Integer paymentNumber = rs.getInt("payment_number");
+ final Integer paymentNumber = rs.getInt("record_id");
final BigDecimal amount = rs.getBigDecimal("amount");
final DateTime effectiveDate = getDateTime(rs, "effective_date");
final Currency currency = Currency.valueOf(rs.getString("currency"));
@@ -107,7 +101,7 @@ public interface PaymentSqlDao extends EntitySqlDao<PaymentModelDao> {
final String extSecondPaymentRefId = rs.getString("ext_second_payment_ref_id");
final DateTime createdDate = getDateTime(rs, "created_date");
final DateTime updatedDate = getDateTime(rs, "updated_date");
- return new PaymentModelDao(id, createdDate, updatedDate, accountId, invoiceId, paymentMethodId, paymentNumber,
+ return new PaymentModelDao(id, createdDate, updatedDate, accountId , invoiceId, paymentMethodId, paymentNumber,
amount, currency, paymentStatus, effectiveDate, extFirstPaymentRefId, extSecondPaymentRefId);
}
}
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/RefundHistoryBinder.java b/payment/src/main/java/com/ning/billing/payment/dao/RefundHistoryBinder.java
index 02a1543..8e5216a 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/RefundHistoryBinder.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/RefundHistoryBinder.java
@@ -50,7 +50,7 @@ public @interface RefundHistoryBinder {
q.bind("paymentId", refund.getPaymentId().toString());
q.bind("amount", refund.getAmount());
q.bind("currency", refund.getCurrency().toString());
- q.bind("isAdjusted", refund.isAdjsuted());
+ q.bind("isAdjusted", refund.isAdjusted());
q.bind("refundStatus", refund.getRefundStatus().toString());
}
};
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/RefundModelDao.java b/payment/src/main/java/com/ning/billing/payment/dao/RefundModelDao.java
index 5c5c4a1..7a2cfb4 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/RefundModelDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/RefundModelDao.java
@@ -72,7 +72,13 @@ public class RefundModelDao extends EntityBase {
return refundStatus;
}
- public boolean isAdjsuted() {
+ // TODO Required for making the BindBeanFactory with Introspector work
+ // see Introspector line 571; they look at public method.
+ public boolean getIsAdjusted() {
+ return isAdjusted;
+ }
+
+ public boolean isAdjusted() {
return isAdjusted;
}
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/RefundSqlDao.java b/payment/src/main/java/com/ning/billing/payment/dao/RefundSqlDao.java
index efa4b56..108ffda 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/RefundSqlDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/RefundSqlDao.java
@@ -46,21 +46,12 @@ import com.ning.billing.util.entity.dao.EntitySqlDaoStringTemplate;
public interface RefundSqlDao extends EntitySqlDao<RefundModelDao> {
@SqlUpdate
- @Audited(ChangeType.INSERT)
- void insertRefund(@BindBean final RefundModelDao refundInfo,
- @BindBean final InternalCallContext context);
-
- @SqlUpdate
@Audited(ChangeType.UPDATE)
void updateStatus(@Bind("id") final String refundId,
@Bind("refundStatus") final String status,
@BindBean final InternalCallContext context);
@SqlQuery
- RefundModelDao getRefund(@Bind("id") final String refundId,
- @BindBean final InternalTenantContext context);
-
- @SqlQuery
List<RefundModelDao> getRefundsForPayment(@Bind("paymentId") final String paymentId,
@BindBean final InternalTenantContext context);
diff --git a/payment/src/main/resources/com/ning/billing/payment/dao/PaymentAttemptSqlDao.sql.stg b/payment/src/main/resources/com/ning/billing/payment/dao/PaymentAttemptSqlDao.sql.stg
index 7e28a03..2e2402a 100644
--- a/payment/src/main/resources/com/ning/billing/payment/dao/PaymentAttemptSqlDao.sql.stg
+++ b/payment/src/main/resources/com/ning/billing/payment/dao/PaymentAttemptSqlDao.sql.stg
@@ -1,6 +1,5 @@
group PaymentAttemptSqlDao: EntitySqlDao;
-
tableFields(prefix) ::= <<
<prefix>payment_id
, <prefix>gateway_error_code
@@ -25,54 +24,45 @@ tableValues() ::= <<
, :updatedDate
>>
+tableName() ::= "payment_attempts"
-insertPaymentAttempt() ::= <<
- INSERT INTO payment_attempts (<paymentAttemptFields()>)
- VALUES (:id, :paymentId, :gatewayErrorCode, :gatewayErrorMsg, :processingStatus, :requestedAmount, :userName,
- :createdDate, :userName, :createdDate, :accountRecordId, :tenantRecordId);
->>
+historyTableName() ::= "payment_attempt_history"
-getPaymentAttempt() ::= <<
- SELECT <paymentAttemptFields("pa.")>
- , pa.created_date as effective_date
- , p.account_id as account_id
- , p.invoice_id as invoice_id
- FROM payment_attempts pa join payments p
- WHERE pa.id = :id
- AND pa.payment_id = p.id
- <AND_CHECK_TENANT("pa.")>
- <AND_CHECK_TENANT("p.")>
- ;
->>
-getPaymentAttempts() ::= <<
- SELECT <paymentAttemptFields("pa.")>
- , pa.created_date as effective_date
- , p.account_id as account_id
- , p.invoice_id as invoice_id
- FROM payment_attempts pa join payments p
- WHERE pa.payment_id = :paymentId
- AND p.id = :paymentId
- <AND_CHECK_TENANT("pa.")>
- <AND_CHECK_TENANT("p.")>
- ORDER BY effective_date ASC;
+getById(id) ::= <<
+select <allTableFields("pa.")>
+, pa.created_date as effective_date
+, p.account_id as account_id
+, p.invoice_id as invoice_id
+from <tableName()> pa join payments p
+where pa.id = :id
+and pa.payment_id = p.id
+<AND_CHECK_TENANT("pa.")>
+<AND_CHECK_TENANT("p.")>
+;
>>
-updatePaymentAttemptStatus() ::= <<
- UPDATE payment_attempts
- SET processing_status = :processingStatus,
- gateway_error_code = :gatewayErrorCode,
- gateway_error_msg = :gatewayErrorMsg
- WHERE id = :id
- <AND_CHECK_TENANT()>
- ;
+getByPaymentId(paymentId) ::= <<
+select <allTableFields("pa.")>
+, pa.created_date as effective_date
+, p.account_id as account_id
+, p.invoice_id as invoice_id
+from <tableName()> pa join payments p
+where pa.payment_id = :paymentId
+and p.id = :paymentId
+<AND_CHECK_TENANT("pa.")>
+<AND_CHECK_TENANT("p.")>
+order by effective_date asc
+;
>>
-getPaymentAttemptIdFromPaymentId() ::= <<
- SELECT id
- FROM payment_attempts
- WHERE payment_id = :paymentId
- <AND_CHECK_TENANT()>
- ;
+updatePaymentAttemptStatus() ::= <<
+update <tableName()>
+set processing_status = :processingStatus
+, gateway_error_code = :gatewayErrorCode
+, gateway_error_msg = :gatewayErrorMsg
+where id = :id
+<AND_CHECK_TENANT()>
+;
>>
diff --git a/payment/src/main/resources/com/ning/billing/payment/dao/PaymentMethodSqlDao.sql.stg b/payment/src/main/resources/com/ning/billing/payment/dao/PaymentMethodSqlDao.sql.stg
index 57d142e..c0b0b76 100644
--- a/payment/src/main/resources/com/ning/billing/payment/dao/PaymentMethodSqlDao.sql.stg
+++ b/payment/src/main/resources/com/ning/billing/payment/dao/PaymentMethodSqlDao.sql.stg
@@ -13,44 +13,58 @@ tableFields(prefix) ::= <<
>>
tableValues() ::= <<
- :account_id
-, :plugin_name
-, :is_active
-, :external_id
-, :created_by
-, :created_date
-, :updated_by
-, :updated_date
+ :accountId
+, :pluginName
+, :isActive
+, :externalId
+, :createdBy
+, :createdDate
+, :updatedBy
+, :updatedDate
>>
+tableName() ::= "payment_methods"
+
historyTableName() ::= "payment_method_history"
-markPaymentMethodAsDeleted() ::= <<
- UPDATE payment_methods
- SET is_active = 0
- WHERE id = :id
- <AND_CHECK_TENANT()>
- ;
+
+getById(id) ::= <<
+select
+<allTableFields()>
+from <tableName()>
+where id = :id
+and is_active = 1
+<AND_CHECK_TENANT()>
+;
+>>
+
+markPaymentMethodAsDeleted(id) ::= <<
+update <tableName()>
+set is_active = 0
+where id = :id
+<AND_CHECK_TENANT()>
+;
>>
-unmarkPaymentMethodAsDeleted() ::= <<
- UPDATE payment_methods
- SET is_active = 1
- WHERE id = :id
- <AND_CHECK_TENANT()>
- ;
+unmarkPaymentMethodAsDeleted(id) ::= <<
+update <tableName()>
+set is_active = 1
+where id = :id
+<AND_CHECK_TENANT()>
+;
>>
-getPaymentMethodIncludedDelete() ::= <<
- SELECT <paymentMethodFields()>
- FROM payment_methods
- WHERE id = :id;
+getPaymentMethodIncludedDelete(accountId) ::= <<
+select <allTableFields()>
+from <tableName()>
+where account_id = :accountId
+;
>>
-getPaymentMethods() ::= <<
- SELECT <paymentMethodFields()>
- FROM payment_methods
- WHERE account_id = :accountId AND is_active = 1
- <AND_CHECK_TENANT()>
- ;
+getByAccountId(accountId) ::= <<
+select
+<allTableFields()>
+from <tableName()>
+where account_id = :accountId
+;
>>
diff --git a/payment/src/main/resources/com/ning/billing/payment/dao/PaymentSqlDao.sql.stg b/payment/src/main/resources/com/ning/billing/payment/dao/PaymentSqlDao.sql.stg
index 9ea7322..ecef78a 100644
--- a/payment/src/main/resources/com/ning/billing/payment/dao/PaymentSqlDao.sql.stg
+++ b/payment/src/main/resources/com/ning/billing/payment/dao/PaymentSqlDao.sql.stg
@@ -18,76 +18,75 @@ tableFields(prefix) ::= <<
>>
tableValues() ::= <<
- :account_id
-, :invoice_id
-, :payment_method_id
+ :accountId
+, :invoiceId
+, :paymentMethodId
, :amount
-, :effective_date
+, :effectiveDate
, :currency
-, :payment_status
-, :ext_first_payment_ref_id
-, :ext_second_payment_ref_id
-, :created_by
-, :created_date
-, :updated_by
-, :updated_date
+, :paymentStatus
+, :extFirstPaymentRefId
+, :extSecondPaymentRefId
+, :createdBy
+, :createdDate
+, :updatedBy
+, :updatedDate
>>
+tableName() ::= "payments"
-getPayment() ::= <<
- SELECT <tableFields()>
- , record_id as payment_number
- FROM payments
- WHERE id = :id
- <AND_CHECK_TENANT()>
- ;
+historyTableName() ::= "payment_history"
+
+
+getPaymentsForAccount() ::= <<
+select <allTableFields()>
+, record_id as payment_number
+from payments
+where account_id = :accountId
+<AND_CHECK_TENANT()>
+;
>>
-getLastPaymentForAccountAndPaymentMethod() ::= <<
- SELECT <paymentFields()>
- , record_id as payment_number
- FROM payments
- WHERE account_id = :accountId AND payment_method_id = :paymentMethodId
- <AND_CHECK_TENANT()>
- ORDER BY effective_date desc limit 1;
->>
getPaymentsForInvoice() ::= <<
- SELECT <paymentFields()>
- , record_id as payment_number
- FROM payments
- WHERE invoice_id = :invoiceId
- <AND_CHECK_TENANT()>
- ;
+select <allTableFields()>
+, record_id as payment_number
+from payments
+where invoice_id = :invoiceId
+<AND_CHECK_TENANT()>
+;
>>
-getPaymentsForAccount() ::= <<
- SELECT <paymentFields()>
- , record_id as payment_number
- FROM payments
- WHERE account_id = :accountId
- <AND_CHECK_TENANT()>
- ;
+
+getLastPaymentForAccountAndPaymentMethod() ::= <<
+select <allTableFields()>
+, record_id as payment_number
+from payments
+where account_id = :accountId
+and payment_method_id = :paymentMethodId
+<AND_CHECK_TENANT()>
+order by effective_date desc limit 1
+;
>>
+
updatePaymentStatusAndExtRef() ::= <<
- UPDATE payments
- SET payment_status = :paymentStatus,
- ext_first_payment_ref_id = :extFirstPaymentRefId,
- ext_second_payment_ref_id = :extSecondPaymentRefId
- WHERE id = :id
- <AND_CHECK_TENANT()>
- ;
+update payments
+set payment_status = :paymentStatus
+, ext_first_payment_ref_id = :extFirstPaymentRefId
+, ext_second_payment_ref_id = :extSecondPaymentRefId
+where id = :id
+<AND_CHECK_TENANT()>
+;
>>
updatePaymentAmount() ::= <<
- UPDATE payments
- SET amount = :amount
- WHERE id = :id
- <AND_CHECK_TENANT()>
- ;
+update <tableName()>
+set amount = :amount
+where id = :id
+<AND_CHECK_TENANT()>
+;
>>
-historyTableName() ::= "payment_history"
diff --git a/payment/src/main/resources/com/ning/billing/payment/dao/RefundSqlDao.sql.stg b/payment/src/main/resources/com/ning/billing/payment/dao/RefundSqlDao.sql.stg
index 5c683d1..68c06fb 100644
--- a/payment/src/main/resources/com/ning/billing/payment/dao/RefundSqlDao.sql.stg
+++ b/payment/src/main/resources/com/ning/billing/payment/dao/RefundSqlDao.sql.stg
@@ -2,39 +2,54 @@ group RefundSqlDao: EntitySqlDao;
tableName() ::= "refunds"
+historyTableName() ::= "refund_history"
+
tableFields(prefix) ::= <<
- <prefix>account_id,
-, <prefix>payment_id,
-, <prefix>amount,
-, <prefix>currency,
-, <prefix>is_adjusted,
-, <prefix>refund_status,
-, <prefix>created_by,
-, <prefix>created_date,
-, <prefix>updated_by,
+ <prefix>account_id
+, <prefix>payment_id
+, <prefix>amount
+, <prefix>currency
+, <prefix>is_adjusted
+, <prefix>refund_status
+, <prefix>created_by
+, <prefix>created_date
+, <prefix>updated_by
, <prefix>updated_date
>>
-updateStatus() ::= <<
- UPDATE refunds
- SET refund_status = :refundStatus
- WHERE id = :id
- <AND_CHECK_TENANT()>
- ;
+tableValues() ::= <<
+:accountId
+, :paymentId
+, :amount
+, :currency
+, :isAdjusted
+, :refundStatus
+, :createdBy
+, :createdDate
+, :updatedBy
+, :updatedDate
+>>
+
+updateStatus(refundStatus) ::= <<
+update <tableName()>
+set refund_status = :refundStatus
+where id = :id
+<AND_CHECK_TENANT()>
+;
>>
-getRefundsForPayment() ::= <<
- SELECT <refundFields()>
- FROM refunds
- WHERE payment_id = :paymentId
- <AND_CHECK_TENANT()>
- ;
+getRefundsForPayment(paymentId) ::= <<
+select <allTableFields()>
+from <tableName()>
+where payment_id = :paymentId
+<AND_CHECK_TENANT()>
+;
>>
-getRefundsForAccount() ::= <<
- SELECT <refundFields()>
- FROM refunds
- WHERE account_id = :accountId
- <AND_CHECK_TENANT()>
- ;
+getRefundsForAccount(accountId) ::= <<
+select <allTableFields()>
+from <tableName()>
+where account_id = :accountId
+<AND_CHECK_TENANT()>
+;
>>
diff --git a/payment/src/test/java/com/ning/billing/payment/dao/TestPaymentDao.java b/payment/src/test/java/com/ning/billing/payment/dao/TestPaymentDao.java
index d62af59..8424853 100644
--- a/payment/src/test/java/com/ning/billing/payment/dao/TestPaymentDao.java
+++ b/payment/src/test/java/com/ning/billing/payment/dao/TestPaymentDao.java
@@ -55,7 +55,7 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
public void setup() throws IOException {
clock = new DefaultClock();
setupDb();
- paymentDao = new AuditedPaymentDao(dbi, null, clock);
+ paymentDao = new AuditedPaymentDao(dbi);
}
private void setupDb() {
@@ -85,7 +85,7 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
assertEquals(refundCheck.getPaymentId(), paymentId1);
assertEquals(refundCheck.getAmount().compareTo(amount1), 0);
assertEquals(refundCheck.getCurrency(), currency);
- assertEquals(refundCheck.isAdjsuted(), true);
+ assertEquals(refundCheck.isAdjusted(), true);
assertEquals(refundCheck.getRefundStatus(), RefundStatus.CREATED);
final BigDecimal amount2 = new BigDecimal(7.00);
@@ -153,7 +153,7 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
assertEquals(savedAttempt.getPaymentId(), payment.getId());
assertEquals(savedAttempt.getAccountId(), accountId);
assertEquals(savedAttempt.getInvoiceId(), invoiceId);
- assertEquals(savedAttempt.getPaymentStatus(), PaymentStatus.SUCCESS);
+ assertEquals(savedAttempt.getProcessingStatus(), PaymentStatus.SUCCESS);
assertEquals(savedAttempt.getGatewayErrorCode(), gatewayErrorCode);
assertEquals(savedAttempt.getRequestedAmount().compareTo(amount), 0);
}
@@ -185,7 +185,7 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
assertEquals(savedAttempt.getPaymentId(), payment.getId());
assertEquals(savedAttempt.getAccountId(), accountId);
assertEquals(savedAttempt.getInvoiceId(), invoiceId);
- assertEquals(savedAttempt.getPaymentStatus(), PaymentStatus.UNKNOWN);
+ assertEquals(savedAttempt.getProcessingStatus(), PaymentStatus.UNKNOWN);
final List<PaymentModelDao> payments = paymentDao.getPaymentsForInvoice(invoiceId, internalCallContext);
assertEquals(payments.size(), 1);
@@ -206,7 +206,7 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
assertEquals(savedAttempt.getPaymentId(), payment.getId());
assertEquals(savedAttempt.getAccountId(), accountId);
assertEquals(savedAttempt.getInvoiceId(), invoiceId);
- assertEquals(savedAttempt.getPaymentStatus(), PaymentStatus.UNKNOWN);
+ assertEquals(savedAttempt.getProcessingStatus(), PaymentStatus.UNKNOWN);
}
@@ -256,7 +256,7 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
assertEquals(savedAttempt1.getPaymentId(), payment.getId());
assertEquals(savedAttempt1.getAccountId(), accountId);
assertEquals(savedAttempt1.getInvoiceId(), invoiceId);
- assertEquals(savedAttempt1.getPaymentStatus(), PaymentStatus.UNKNOWN);
+ assertEquals(savedAttempt1.getProcessingStatus(), PaymentStatus.UNKNOWN);
assertEquals(savedAttempt1.getGatewayErrorCode(), null);
assertEquals(savedAttempt1.getGatewayErrorMsg(), null);
assertEquals(savedAttempt1.getRequestedAmount().compareTo(amount), 0);
@@ -265,7 +265,7 @@ public class TestPaymentDao extends PaymentTestSuiteWithEmbeddedDB {
assertEquals(savedAttempt2.getPaymentId(), payment.getId());
assertEquals(savedAttempt2.getAccountId(), accountId);
assertEquals(savedAttempt2.getInvoiceId(), invoiceId);
- assertEquals(savedAttempt2.getPaymentStatus(), PaymentStatus.UNKNOWN);
+ assertEquals(savedAttempt2.getProcessingStatus(), PaymentStatus.UNKNOWN);
assertEquals(savedAttempt2.getGatewayErrorCode(), null);
assertEquals(savedAttempt2.getGatewayErrorMsg(), null);
assertEquals(savedAttempt2.getRequestedAmount().compareTo(newAmount), 0);