package com.vci.ubcs.starter.util; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; import java.util.Map; /** * map转单表查询对象 * 为避免BladeX框架自带的Map转Wrapper自动映射驼峰, * 这边单独写一个以免混淆 * @author ludc * @date 2023/6/6 15:26 */ public class UBCSCondition { public UBCSCondition() { } public static IPage getPage(Query query) { Page page = new Page((long) Func.toInt(query.getCurrent(), 1), (long)Func.toInt(query.getSize(), 10)); String[] ascArr = Func.toStrArray(query.getAscs()); String[] descArr = ascArr; int var4 = ascArr.length; int var5; for(var5 = 0; var5 < var4; ++var5) { String asc = descArr[var5]; page.addOrder(new OrderItem[]{OrderItem.asc(StringUtil.cleanIdentifier(asc))}); } descArr = Func.toStrArray(query.getDescs()); String[] var8 = descArr; var5 = descArr.length; for(int var9 = 0; var9 < var5; ++var9) { String desc = var8[var9]; page.addOrder(new OrderItem[]{OrderItem.desc(StringUtil.cleanIdentifier(desc))}); } return page; } public static QueryWrapper getQueryWrapper(T entity) { return new QueryWrapper(entity); } public static QueryWrapper getQueryWrapper(Map query, Class clazz) { Kv exclude = Kv.create().set("Blade-Auth", "Blade-Auth").set("current", "current").set("size", "size").set("ascs", "ascs").set("descs", "descs"); return getQueryWrapper(query, exclude, clazz); } public static QueryWrapper getQueryWrapperByMapString(Map query, Class clazz) { Kv exclude = Kv.create().set("Blade-Auth", "Blade-Auth").set("current", "current").set("size", "size").set("ascs", "ascs").set("descs", "descs"); return getQueryWrapperByMapString(query, exclude, clazz); } /** * map转换为QueryWrapper * @param query * @param exclude * @param clazz * @param * @return */ public static QueryWrapper getQueryWrapper(Map query, Map exclude, Class clazz) { exclude.forEach((k, v) -> { query.remove(k); }); QueryWrapper qw = new QueryWrapper(); qw.setEntity(BeanUtil.newInstance(clazz)); UBCSSqlKeyword.buildCondition(query, qw); return qw; } public static QueryWrapper getQueryWrapperByMapString(Map query, Map exclude, Class clazz) { exclude.forEach((k, v) -> { query.remove(k); }); QueryWrapper qw = new QueryWrapper<>(); qw.setEntity(BeanUtil.newInstance(clazz)); UBCSSqlKeyword.buildConditionByMapString(query, qw); return qw; } public static MPJLambdaWrapper getMPJLambdaWrapper(T entity) { return new MPJLambdaWrapper(entity); } public static MPJLambdaWrapper getMPJLambdaWrapper(Map query, Class clazz) { Kv exclude = Kv.create().set("Blade-Auth", "Blade-Auth").set("current", "current").set("size", "size").set("ascs", "ascs").set("descs", "descs"); return getMPJLambdaWrapper(query, exclude, clazz); } public static MPJLambdaWrapper getMPJLambdaWrapperByMapString(Map query, Class clazz) { Kv exclude = Kv.create().set("Blade-Auth", "Blade-Auth").set("current", "current").set("size", "size").set("ascs", "ascs").set("descs", "descs"); return getMPJLambdaWrapperByMapString(query, exclude, clazz); } /** * map转换为MPJLambdaWrapper * @param query * @param exclude * @param clazz * @param * @return */ public static MPJLambdaWrapper getMPJLambdaWrapper(Map query, Map exclude, Class clazz) { exclude.forEach((k, v) -> { query.remove(k); }); MPJLambdaWrapper qw = new MPJLambdaWrapper(); qw.setEntity(BeanUtil.newInstance(clazz)); UBCSSqlKeyword.buildCondition(query, qw); return qw; } public static MPJLambdaWrapper getMPJLambdaWrapperByMapString(Map query, Map exclude, Class clazz) { exclude.forEach((k, v) -> { query.remove(k); }); MPJLambdaWrapper qw = new MPJLambdaWrapper(); qw.setEntity(BeanUtil.newInstance(clazz)); UBCSSqlKeyword.buildConditionByMapString(query, qw); return qw; } }