1. WrapperUtils 添加 Or 查询
This commit is contained in:
parent
99567ef161
commit
b930217312
|
|
@ -19,6 +19,9 @@ public @interface Condition {
|
||||||
in,
|
in,
|
||||||
between,
|
between,
|
||||||
likeLeft,
|
likeLeft,
|
||||||
dataScope
|
dataScope,
|
||||||
|
or_eq,
|
||||||
|
or_like,
|
||||||
|
or_likeLeft
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,10 @@ import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.ReflectUtil;
|
import cn.hutool.core.util.ReflectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.chushang.common.mybatis.annotation.Condition;
|
import com.chushang.common.mybatis.annotation.Condition;
|
||||||
import com.chushang.common.mybatis.base.BaseEntity;
|
|
||||||
import com.chushang.common.mybatis.exception.MybatisConditionException;
|
import com.chushang.common.mybatis.exception.MybatisConditionException;
|
||||||
import com.chushang.common.mybatis.page.CommonParam;
|
import com.chushang.common.mybatis.page.CommonParam;
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
|
|
@ -28,7 +28,7 @@ public class WrapperUtils {
|
||||||
if (null != columns) {
|
if (null != columns) {
|
||||||
queryWrapper = queryWrapper.select(columns);
|
queryWrapper = queryWrapper.select(columns);
|
||||||
}
|
}
|
||||||
if (null != commonParam){
|
if (null != commonParam) {
|
||||||
// 构造Wrapper
|
// 构造Wrapper
|
||||||
queryWrapper = queryWrapper
|
queryWrapper = queryWrapper
|
||||||
.orderBy(true, "asc".equals(commonParam.getIsAsc()), commonParam.getOrderBy());
|
.orderBy(true, "asc".equals(commonParam.getIsAsc()), commonParam.getOrderBy());
|
||||||
|
|
@ -51,6 +51,7 @@ public class WrapperUtils {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
String name = condition.name();
|
String name = condition.name();
|
||||||
|
String[] split = name.split(",");
|
||||||
switch (condition.type()) {
|
switch (condition.type()) {
|
||||||
case eq:
|
case eq:
|
||||||
queryWrapper = queryWrapper.eq(ObjectUtil.isNotEmpty(value), name, value);
|
queryWrapper = queryWrapper.eq(ObjectUtil.isNotEmpty(value), name, value);
|
||||||
|
|
@ -86,6 +87,28 @@ public class WrapperUtils {
|
||||||
queryWrapper = queryWrapper.in(CollectionUtil.isNotEmpty(deptIds), name, deptIds);
|
queryWrapper = queryWrapper.in(CollectionUtil.isNotEmpty(deptIds), name, deptIds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case or_eq:
|
||||||
|
queryWrapper.and(q -> {
|
||||||
|
for (String key : split) {
|
||||||
|
q.or().eq(ObjectUtil.isNotEmpty(value), key, value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case or_like:
|
||||||
|
queryWrapper.and(q -> {
|
||||||
|
for (String key : split) {
|
||||||
|
q.or().like(ObjectUtil.isNotEmpty(value), key, value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case or_likeLeft:
|
||||||
|
queryWrapper.and(q -> {
|
||||||
|
for (String key : split) {
|
||||||
|
q.or().likeLeft(ObjectUtil.isNotEmpty(value), key, value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return queryWrapper.lambda();
|
return queryWrapper.lambda();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue