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 <ppapo...@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-unsubscr...@dlab.apache.org
For additional commands, e-mail: commits-h...@dlab.apache.org

Reply via email to