|
@@ -1,9 +1,7 @@
|
|
|
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;
|
|
@@ -12,7 +10,6 @@ import com.persagy.dmp.basic.model.QueryOperator;
|
|
|
import com.persagy.dmp.common.model.entity.BaseEntity;
|
|
|
|
|
|
import java.util.Iterator;
|
|
|
-import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* 查询条件 助手
|
|
@@ -41,8 +38,7 @@ public class QueryCriteriaHelper {
|
|
|
Page pageInfo = new Page();
|
|
|
pageInfo.setCurrent(criteria.getPage());
|
|
|
pageInfo.setSize(criteria.getSize());
|
|
|
- // 20210819 size<-1时,拦截器不执行page的配置,因此改为在wrapper中排序
|
|
|
-// pageInfo.setOrders(criteria.getOrders());
|
|
|
+ pageInfo.setOrders(criteria.getOrders());
|
|
|
pageInfo.setSearchCount(!criteria.isWithoutCount());
|
|
|
return pageInfo;
|
|
|
}
|
|
@@ -56,7 +52,6 @@ public class QueryCriteriaHelper {
|
|
|
return;
|
|
|
}
|
|
|
toWrapper(wrapper, criteria.getCriteria());
|
|
|
- ensureOrders(wrapper, criteria.getOrders());
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -76,7 +71,7 @@ public class QueryCriteriaHelper {
|
|
|
String dbField = StrUtil.startWith(field, "#JSON#")?field.substring(6):StrUtil.toUnderlineCase(field);
|
|
|
// 20210813增加ADM传sql特殊处理 - 不公开到接口文档中
|
|
|
if("$sql".equalsIgnoreCase(field)) {
|
|
|
- wrapper.apply((String)JsonNodeUtils.getNodeValue(fieldValue));
|
|
|
+ wrapper.apply((String) JsonNodeUtils.getNodeValue(fieldValue));
|
|
|
continue;
|
|
|
}
|
|
|
// 20210816增加or条件支持
|
|
@@ -175,20 +170,4 @@ 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);
|
|
|
- }
|
|
|
- }
|
|
|
}
|