|
@@ -51,13 +51,15 @@ public class QueryCriteriaHelper {
|
|
|
/**
|
|
|
* 转换为查询条件
|
|
|
* @param wrapper
|
|
|
+ * @param criteria
|
|
|
+ * @param clazz 用于判定属性是否存在. - 通过反射无法从wrapper中获取到泛型class,还是显式传参吧
|
|
|
*/
|
|
|
- public static <T extends BaseEntity> void toWrapper(QueryWrapper<T> wrapper, QueryCriteria criteria) {
|
|
|
+ public static <T extends BaseEntity> void toWrapper(QueryWrapper<T> wrapper, QueryCriteria criteria, Class<T> clazz) {
|
|
|
if(criteria == null) {
|
|
|
return;
|
|
|
}
|
|
|
toWrapper(wrapper, criteria.getCriteria());
|
|
|
- ensureOrders(wrapper, criteria.getOrders());
|
|
|
+ ensureOrders(wrapper, criteria.getOrders(), clazz);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -193,11 +195,10 @@ public class QueryCriteriaHelper {
|
|
|
* @param orders
|
|
|
* @param <T>
|
|
|
*/
|
|
|
- public static <T extends BaseEntity> void ensureOrders(QueryWrapper<T> wrapper, List<OrderItem> orders) {
|
|
|
+ public static <T extends BaseEntity> void ensureOrders(QueryWrapper<T> wrapper, List<OrderItem> orders, Class<T> clazz) {
|
|
|
if(CollUtil.isEmpty(orders)) {
|
|
|
return;
|
|
|
}
|
|
|
- Class clazz = wrapper.getEntity().getClass();
|
|
|
for(OrderItem order:orders) {
|
|
|
// 实体没有属性,不参与排序(扩展属性中的也不排序)
|
|
|
if(!ReflectUtil.hasField(clazz, order.getColumn())) {
|