|
|
@ -9,6 +9,7 @@ import java.time.Instant; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.ZoneOffset; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
/** |
|
|
|
* QueryWrapper工具类 |
|
|
@ -31,6 +32,33 @@ public class QueryWrapperUtils { |
|
|
|
if(column == null || column.isEmpty() || condition.getValue() == null || condition.getValue().isEmpty() || condition.getAction() == null || condition.getAction().isEmpty()) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
dealCondition(queryWrapper, condition, column); |
|
|
|
} |
|
|
|
return queryWrapper; |
|
|
|
} |
|
|
|
|
|
|
|
public static <T> QueryWrapper<T> structureFilter(CustomConditions customConditions, List<String> excludeConditions) { |
|
|
|
QueryWrapper<T> queryWrapper = new QueryWrapper<>(); |
|
|
|
if(CollectionUtils.isAnyEmpty(customConditions.getFilters())) { |
|
|
|
return queryWrapper; |
|
|
|
} |
|
|
|
for(CustomConditions.Condition condition : customConditions.getFilters()) { |
|
|
|
String column = condition.getColumn(); |
|
|
|
if(column == null || column.isEmpty() || condition.getValue() == null || condition.getValue().isEmpty() || condition.getAction() == null || condition.getAction().isEmpty()) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
if(excludeConditions != null && excludeConditions.size() > 0){ |
|
|
|
if(excludeConditions.contains(column)){ |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
dealCondition(queryWrapper, condition, column); |
|
|
|
} |
|
|
|
return queryWrapper; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static <T> void dealCondition(QueryWrapper<T> queryWrapper, CustomConditions.Condition condition, String column) { |
|
|
|
column = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, column); |
|
|
|
switch (condition.getAction()) { |
|
|
|
case "==" : |
|
|
@ -81,6 +109,4 @@ public class QueryWrapperUtils { |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
return queryWrapper; |
|
|
|
} |
|
|
|
} |
|
|
|