You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/07/22 11:28:25 UTC

[incubator-dlab] branch develop updated: [DLAB-1926] Billing report sorting (#823)

This is an automated email from the ASF dual-hosted git repository.

ofuks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git


The following commit(s) were added to refs/heads/develop by this push:
     new 88a8d47  [DLAB-1926] Billing report sorting (#823)
88a8d47 is described below

commit 88a8d4783003b41a5ae5e63ef84da7942c749d28
Author: Pavel Papou <pp...@gmail.com>
AuthorDate: Wed Jul 22 07:28:05 2020 -0400

    [DLAB-1926] Billing report sorting (#823)
    
    [DLAB-1926] Billing report sorting
---
 .../src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
index 7975eeb..56a77a0 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
@@ -25,6 +25,7 @@ import com.epam.dlab.dto.billing.BillingResourceType;
 import com.google.inject.Inject;
 import com.mongodb.client.model.Aggregates;
 import com.mongodb.client.model.Filters;
+import com.mongodb.client.model.Sorts;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -48,6 +49,7 @@ import static com.mongodb.client.model.Accumulators.min;
 import static com.mongodb.client.model.Accumulators.sum;
 import static com.mongodb.client.model.Aggregates.group;
 import static com.mongodb.client.model.Aggregates.match;
+import static com.mongodb.client.model.Aggregates.sort;
 import static com.mongodb.client.model.Filters.and;
 import static com.mongodb.client.model.Filters.eq;
 import static com.mongodb.client.model.Filters.gte;
@@ -152,6 +154,7 @@ public class BaseBillingDAO extends BaseDAO implements BillingDAO {
 			pipeline.add(Aggregates.match(Filters.and(matchCriteria)));
 		}
 		pipeline.add(groupCriteria());
+		pipeline.add(usageDateSort());
 		return StreamSupport.stream(getCollection(BILLING).aggregate(pipeline).spliterator(), false)
 				.map(this::toBillingReport)
 				.collect(Collectors.toList());
@@ -187,6 +190,10 @@ public class BaseBillingDAO extends BaseDAO implements BillingDAO {
 				.orElse(BigDecimal.ZERO.doubleValue());
 	}
 
+	private Bson usageDateSort() {
+		return sort(Sorts.descending(USAGE_DATE));
+	}
+
 	private Bson groupCriteria() {
 		return group(getGroupingFields(USER, DLAB_ID, RESOURCE_TYPE, RESOURCE_NAME, PROJECT, PRODUCT, CURRENCY, SHAPE, EXPLORATORY),
 				sum(COST, "$" + COST),


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org