Details
diff --git a/invoice/src/main/java/org/killbill/billing/invoice/api/user/DefaultInvoiceUserApi.java b/invoice/src/main/java/org/killbill/billing/invoice/api/user/DefaultInvoiceUserApi.java
index d49f139..29ef612 100644
--- a/invoice/src/main/java/org/killbill/billing/invoice/api/user/DefaultInvoiceUserApi.java
+++ b/invoice/src/main/java/org/killbill/billing/invoice/api/user/DefaultInvoiceUserApi.java
@@ -20,7 +20,6 @@ package org.killbill.billing.invoice.api.user;
import java.io.IOException;
import java.math.BigDecimal;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@@ -483,26 +482,4 @@ public class DefaultInvoiceUserApi implements InvoiceUserApi {
return invoice;
}
- @Override
- public List<Invoice> getInvoicesByParentAccount(final UUID parentAccountId, final LocalDate startDate, LocalDate endDate,
- final TenantContext context) throws InvoiceApiException {
- // date validations
- if (startDate != null && endDate == null) {
- endDate = LocalDate.now();
- }
-
- if (startDate != null) {
- if (startDate.isAfter(LocalDate.now()) || startDate.isAfter(endDate)) {
- throw new InvoiceApiException(ErrorCode.INVOICE_INVALID_DATE_RANGE, startDate, endDate);
- }
- }
-
- final InternalTenantContext tenantContext = internalCallContextFactory.createInternalTenantContext(context);
- final List<InvoiceModelDao> invoicesByParentAccount = dao.getInvoicesByParentAccount(parentAccountId, startDate, endDate, tenantContext);
- final List<Invoice> invoices = new ArrayList<Invoice>();
- for (InvoiceModelDao invoice : invoicesByParentAccount) {
- invoices.add(new DefaultInvoice(invoice));
- }
- return invoices;
- }
}
diff --git a/invoice/src/main/java/org/killbill/billing/invoice/dao/DefaultInvoiceDao.java b/invoice/src/main/java/org/killbill/billing/invoice/dao/DefaultInvoiceDao.java
index abf068f..1ef6f7f 100644
--- a/invoice/src/main/java/org/killbill/billing/invoice/dao/DefaultInvoiceDao.java
+++ b/invoice/src/main/java/org/killbill/billing/invoice/dao/DefaultInvoiceDao.java
@@ -854,26 +854,4 @@ public class DefaultInvoiceDao extends EntityDaoBase<InvoiceModelDao, Invoice, I
}
}
- @Override
- public List<InvoiceModelDao> getInvoicesByParentAccount(final UUID parentAccountId, final LocalDate startDate,
- final LocalDate endDate, final InternalTenantContext context) {
- return transactionalSqlDao.execute(new EntitySqlDaoTransactionWrapper<List<InvoiceModelDao>>() {
- @Override
- public List<InvoiceModelDao> inTransaction(final EntitySqlDaoWrapperFactory entitySqlDaoWrapperFactory) throws Exception {
- final InvoiceSqlDao invoiceDao = entitySqlDaoWrapperFactory.become(InvoiceSqlDao.class);
-
- List<InvoiceModelDao> invoices = null;
- if (startDate != null && endDate != null) {
- invoices = invoiceDao.getInvoicesByParentAccountDateRange(parentAccountId, startDate.toDate(),
- endDate.toDate(), context);
- } else {
- invoices = invoiceDao.getInvoicesByParentAccount(parentAccountId, context);
- }
-
- invoiceDaoHelper.populateChildren(invoices, entitySqlDaoWrapperFactory, context);
-
- return invoices;
- }
- });
- }
}
diff --git a/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceDao.java b/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceDao.java
index 4c0535c..25c9249 100644
--- a/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceDao.java
+++ b/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceDao.java
@@ -139,5 +139,4 @@ public interface InvoiceDao extends EntityDao<InvoiceModelDao, Invoice, InvoiceA
*/
public void consumeExstingCBAOnAccountWithUnpaidInvoices(final UUID accountId, final InternalCallContext context);
- List<InvoiceModelDao> getInvoicesByParentAccount(UUID parentAccountId, LocalDate startDate, LocalDate endDate, InternalTenantContext context);
}
diff --git a/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceSqlDao.java b/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceSqlDao.java
index 380e5cc..3b46cf6 100644
--- a/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceSqlDao.java
+++ b/invoice/src/main/java/org/killbill/billing/invoice/dao/InvoiceSqlDao.java
@@ -16,18 +16,16 @@
package org.killbill.billing.invoice.dao;
-import java.util.Date;
import java.util.List;
import java.util.UUID;
-import org.skife.jdbi.v2.sqlobject.Bind;
-import org.skife.jdbi.v2.sqlobject.BindBean;
-import org.skife.jdbi.v2.sqlobject.SqlQuery;
-
import org.killbill.billing.callcontext.InternalTenantContext;
import org.killbill.billing.invoice.api.Invoice;
import org.killbill.billing.util.entity.dao.EntitySqlDao;
import org.killbill.billing.util.entity.dao.EntitySqlDaoStringTemplate;
+import org.skife.jdbi.v2.sqlobject.Bind;
+import org.skife.jdbi.v2.sqlobject.BindBean;
+import org.skife.jdbi.v2.sqlobject.SqlQuery;
@EntitySqlDaoStringTemplate
public interface InvoiceSqlDao extends EntitySqlDao<InvoiceModelDao, Invoice> {
@@ -40,14 +38,5 @@ public interface InvoiceSqlDao extends EntitySqlDao<InvoiceModelDao, Invoice> {
UUID getInvoiceIdByPaymentId(@Bind("paymentId") final String paymentId,
@BindBean final InternalTenantContext context);
- @SqlQuery
- List<InvoiceModelDao> getInvoicesByParentAccount(@Bind("parentAccountId") final UUID parentAccountId,
- @BindBean final InternalTenantContext context);
-
- @SqlQuery
- List<InvoiceModelDao> getInvoicesByParentAccountDateRange(@Bind("parentAccountId") final UUID parentAccountId,
- @Bind("startDate") final Date startDate,
- @Bind("endDate") final Date endDate,
- @BindBean final InternalTenantContext context);
}
diff --git a/invoice/src/main/resources/org/killbill/billing/invoice/dao/InvoiceSqlDao.sql.stg b/invoice/src/main/resources/org/killbill/billing/invoice/dao/InvoiceSqlDao.sql.stg
index e8c0d42..8daa8b1 100644
--- a/invoice/src/main/resources/org/killbill/billing/invoice/dao/InvoiceSqlDao.sql.stg
+++ b/invoice/src/main/resources/org/killbill/billing/invoice/dao/InvoiceSqlDao.sql.stg
@@ -50,25 +50,3 @@ getInvoiceIdByPaymentId() ::= <<
<AND_CHECK_TENANT("i.")>
<AND_CHECK_TENANT("ip.")>
>>
-
-getInvoicesByParentAccount() ::= <<
- SELECT <allTableFields("i.")>
- FROM <tableName()> i
- JOIN accounts ac ON i.account_id = ac.id
- WHERE ac.parent_account_id = :parentAccountId
- <AND_CHECK_TENANT("i.")>
- <AND_CHECK_TENANT("ac.")>
- ;
->>
-
-getInvoicesByParentAccountDateRange() ::= <<
- SELECT <allTableFields("i.")>
- FROM <tableName()> i
- JOIN accounts ac ON i.account_id = ac.id
- WHERE ac.parent_account_id = :parentAccountId
- and invoice_date >= :startDate
- and invoice_date \< :endDate
- <AND_CHECK_TENANT("i.")>
- <AND_CHECK_TENANT("ac.")>
- ;
->>
diff --git a/invoice/src/test/java/org/killbill/billing/invoice/dao/MockInvoiceDao.java b/invoice/src/test/java/org/killbill/billing/invoice/dao/MockInvoiceDao.java
index 732e65e..65e3b0e 100644
--- a/invoice/src/test/java/org/killbill/billing/invoice/dao/MockInvoiceDao.java
+++ b/invoice/src/test/java/org/killbill/billing/invoice/dao/MockInvoiceDao.java
@@ -27,7 +27,6 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
-import org.joda.time.DateTime;
import org.joda.time.LocalDate;
import org.killbill.billing.callcontext.InternalCallContext;
import org.killbill.billing.callcontext.InternalTenantContext;
@@ -363,17 +362,4 @@ public class MockInvoiceDao extends MockEntityDaoBase<InvoiceModelDao, Invoice,
throw new UnsupportedOperationException();
}
- @Override
- public List<InvoiceModelDao> getInvoicesByParentAccount(final UUID parentAccountId, final LocalDate startDate, final LocalDate endDate, final InternalTenantContext context) {
- final List<InvoiceModelDao> result = new ArrayList<InvoiceModelDao>();
-
- synchronized (monitor) {
- for (final InvoiceModelDao invoice : invoices.values()) {
- // TODO filter by parent account id
- // if (invoice.account.parentAccountId.equals(parentAccountId)) { ... }
- result.add(invoice);
- }
- }
- return result;
- }
}
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
index 652503c..ef929a2 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
@@ -49,7 +49,6 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriInfo;
-import org.joda.time.LocalDate;
import org.killbill.billing.ErrorCode;
import org.killbill.billing.ObjectType;
import org.killbill.billing.account.api.Account;
@@ -1237,37 +1236,4 @@ public class AccountResource extends JaxRsResourceBase {
return Response.status(Status.OK).entity(accountJson).build();
}
- @TimedResource
- @GET
- @Path("/{parentAccountId:" + UUID_PATTERN + "}/" + CHILDREN + "/" + INVOICES)
- @Produces(APPLICATION_JSON)
- @ApiOperation(value = "Retrieve children account invoices", response = InvoiceJson.class)
- @ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid account id or date range supplied"),
- @ApiResponse(code = 404, message = "Account not found")})
- public Response getChildrenInvoices(@PathParam("parentAccountId") final String parentAccountIdString,
- @QueryParam(QUERY_START_DATE) final String startDateString,
- @QueryParam(QUERY_END_DATE) final String endDateString,
- @QueryParam(QUERY_INVOICE_WITH_ITEMS) @DefaultValue("false") final boolean withItems,
- @QueryParam(QUERY_UNPAID_INVOICES_ONLY) @DefaultValue("false") final boolean unpaidInvoicesOnly,
- @QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
- @javax.ws.rs.core.Context final HttpServletRequest request) throws AccountApiException, InvoiceApiException {
- final TenantContext tenantContext = context.createContext(request);
-
- // Verify the account exists
- final UUID parentAccountId = UUID.fromString(parentAccountIdString);
- accountUserApi.getAccountById(parentAccountId, tenantContext);
-
- final LocalDate startDate = (startDateString != null) ? LOCAL_DATE_FORMATTER.parseLocalDate(startDateString) : null ;
- final LocalDate endDate = (endDateString != null) ? LOCAL_DATE_FORMATTER.parseLocalDate(endDateString) : null ;
- final List<Invoice> invoices = invoiceApi.getInvoicesByParentAccount(parentAccountId, startDate, endDate, tenantContext);
- final AccountAuditLogs accountAuditLogs = auditUserApi.getAccountAuditLogs(parentAccountId, auditMode.getLevel(), tenantContext);
-
- final List<InvoiceJson> result = new LinkedList<InvoiceJson>();
- for (final Invoice invoice : invoices) {
- result.add(new InvoiceJson(invoice, withItems, accountAuditLogs));
- }
-
- return Response.status(Status.OK).entity(result).build();
- }
-
}