fix sorting
This commit is contained in:
+1
-1
@@ -14,7 +14,7 @@
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<querydsl.version>5.1.0</querydsl.version>
|
||||
<revision>0.5.0</revision>
|
||||
<revision>0.5.1</revision>
|
||||
</properties>
|
||||
|
||||
<parent>
|
||||
|
||||
+28
-16
@@ -9,9 +9,9 @@ import org.springframework.util.StringUtils;
|
||||
import com.querydsl.core.BooleanBuilder;
|
||||
import com.querydsl.core.QueryResults;
|
||||
import com.querydsl.core.Tuple;
|
||||
import com.querydsl.core.types.Expression;
|
||||
import com.querydsl.core.types.Order;
|
||||
import com.querydsl.core.types.OrderSpecifier;
|
||||
import com.querydsl.core.types.Path;
|
||||
import com.querydsl.core.types.Predicate;
|
||||
import com.querydsl.jpa.impl.JPAQuery;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
@@ -50,29 +50,38 @@ public class TurnoverManager {
|
||||
Long total = query.clone().select(qTurnover.id.countDistinct()).fetchOne();
|
||||
|
||||
if (StringUtils.hasText(sortBy)) {
|
||||
Path<? extends Comparable<?>> path = null;
|
||||
Expression<? extends Comparable<?>> expression = null;
|
||||
switch (sortBy) {
|
||||
case "username":
|
||||
expression = qTurnover.username;
|
||||
break;
|
||||
case "created":
|
||||
path = qTurnover.created;
|
||||
expression = qTurnover.created;
|
||||
break;
|
||||
case "dueDate":
|
||||
path = qTurnover.dueDate;
|
||||
expression = qTurnover.dueDate;
|
||||
break;
|
||||
case "updated":
|
||||
path = qTurnover.updated;
|
||||
expression = qTurnover.updated;
|
||||
break;
|
||||
case "customer":
|
||||
path = qTurnover.customer;
|
||||
expression = qTurnover.customer;
|
||||
break;
|
||||
case "price":
|
||||
path = qTurnover.price;
|
||||
expression = qTurnover.price;
|
||||
break;
|
||||
case "timeInvestment":
|
||||
path = qTurnover.timeInvestment;
|
||||
expression = qTurnover.timeInvestment;
|
||||
break;
|
||||
case "giftcardPrice":
|
||||
expression = qTurnover.giftcardPrice;
|
||||
break;
|
||||
case "giftcardNumber":
|
||||
expression = qTurnover.giftcardNumber;
|
||||
break;
|
||||
}
|
||||
if (path != null) {
|
||||
query.orderBy(new OrderSpecifier<>(descending ? Order.DESC : Order.ASC, path));
|
||||
if (expression != null) {
|
||||
query.orderBy(new OrderSpecifier<>(descending ? Order.DESC : Order.ASC, expression));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,20 +186,23 @@ public class TurnoverManager {
|
||||
Long total = query.clone().select(qTurnover.username.countDistinct()).fetchOne();
|
||||
|
||||
if (StringUtils.hasText(sortBy)) {
|
||||
Path<? extends Comparable<?>> path = null;
|
||||
Expression<? extends Comparable<?>> expression = null;
|
||||
switch (sortBy) {
|
||||
case "username":
|
||||
path = qTurnover.username;
|
||||
expression = qTurnover.username;
|
||||
break;
|
||||
case "price":
|
||||
path = qTurnover.price;
|
||||
expression = qTurnover.price.sum();
|
||||
break;
|
||||
case "timeInvestment":
|
||||
path = qTurnover.timeInvestment;
|
||||
expression = qTurnover.timeInvestment.sum();
|
||||
break;
|
||||
case "giftcardPrice":
|
||||
expression = qTurnover.giftcardPrice.sum();
|
||||
break;
|
||||
}
|
||||
if (path != null) {
|
||||
query.orderBy(new OrderSpecifier<>(descending ? Order.DESC : Order.ASC, path));
|
||||
if (expression != null) {
|
||||
query.orderBy(new OrderSpecifier<>(descending ? Order.DESC : Order.ASC, expression));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user