|
@@ -29,7 +29,19 @@ public class LambdaQueryWrapperX<T> extends LambdaQueryWrapper<T> {
|
|
|
|
|
|
public LambdaQueryWrapperX<T> inIfPresent(SFunction<T, ?> column, Collection<?> values) {
|
|
|
if (ObjectUtil.isAllNotEmpty(values) && !ArrayUtil.isEmpty(values)) {
|
|
|
- return (LambdaQueryWrapperX<T>) super.in(column, values);
|
|
|
+ List<?> list = new ArrayList<>(values);
|
|
|
+ List<List<?>> newList = splitList(list, 900);
|
|
|
+ if(newList.size() == 1){
|
|
|
+ return (LambdaQueryWrapperX<T>) super.in(column, values);
|
|
|
+ } else {
|
|
|
+ return (LambdaQueryWrapperX<T>) super.and(tLambdaQueryWrapper -> {
|
|
|
+ tLambdaQueryWrapper.in(column, newList.get(0));
|
|
|
+ newList.remove(0);
|
|
|
+ for (List<?> objects : newList){
|
|
|
+ tLambdaQueryWrapper.or().in(column, objects);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
return this;
|
|
|
}
|