1. WrapperUtils 添加 Or 查询

This commit is contained in:
zhaowenyuan 2024-06-18 16:48:38 +08:00
parent 99567ef161
commit b930217312
2 changed files with 29 additions and 3 deletions

View File

@ -19,6 +19,9 @@ public @interface Condition {
in,
between,
likeLeft,
dataScope
dataScope,
or_eq,
or_like,
or_likeLeft
}
}

View File

@ -6,10 +6,10 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
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.QueryWrapper;
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.page.CommonParam;
import lombok.AccessLevel;
@ -51,6 +51,7 @@ public class WrapperUtils {
continue;
}
String name = condition.name();
String[] split = name.split(",");
switch (condition.type()) {
case eq:
queryWrapper = queryWrapper.eq(ObjectUtil.isNotEmpty(value), name, value);
@ -86,6 +87,28 @@ public class WrapperUtils {
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();