|
@@ -1,7 +1,9 @@
|
|
|
package com.persagy.dmp.basic.utils;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
@@ -10,6 +12,7 @@ import com.persagy.dmp.basic.model.QueryOperator;
|
|
|
import com.persagy.dmp.common.model.entity.BaseEntity;
|
|
|
|
|
|
import java.util.Iterator;
|
|
|
+import java.util.List;
|
|
|
|
|
|
|
|
|
* 查询条件 助手
|
|
@@ -38,7 +41,8 @@ public class QueryCriteriaHelper {
|
|
|
Page pageInfo = new Page();
|
|
|
pageInfo.setCurrent(criteria.getPage());
|
|
|
pageInfo.setSize(criteria.getSize());
|
|
|
- pageInfo.setOrders(criteria.getOrders());
|
|
|
+
|
|
|
+
|
|
|
pageInfo.setSearchCount(!criteria.isWithoutCount());
|
|
|
return pageInfo;
|
|
|
}
|
|
@@ -52,6 +56,7 @@ public class QueryCriteriaHelper {
|
|
|
return;
|
|
|
}
|
|
|
toWrapper(wrapper, criteria.getCriteria());
|
|
|
+ ensureOrders(wrapper, criteria.getOrders());
|
|
|
}
|
|
|
|
|
|
|
|
@@ -170,4 +175,20 @@ public class QueryCriteriaHelper {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ * 拼接排序条件
|
|
|
+ * @param wrapper
|
|
|
+ * @param orders
|
|
|
+ * @param <T>
|
|
|
+ */
|
|
|
+ public static <T extends BaseEntity> void ensureOrders(QueryWrapper<T> wrapper, List<OrderItem> orders) {
|
|
|
+ if(CollUtil.isEmpty(orders)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for(OrderItem order:orders) {
|
|
|
+ String column = StrUtil.toUnderlineCase(order.getColumn());
|
|
|
+ wrapper.orderBy(true, order.isAsc(), column);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|