From 0aa0bbdfde221a46019f90a245e40d6b57fd251b Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 11 七月 2023 19:09:03 +0800 Subject: [PATCH] 编码规则bug修复 --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java | 78 ++++++++++++++++++++++++--------------- 1 files changed, 48 insertions(+), 30 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java index f4016c1..71ae42e 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/UBCSSqlKeyword.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.vci.ubcs.starter.web.util.VciDateUtil; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; @@ -9,7 +10,7 @@ import java.util.Map; /** - * UBCSSqlKeyword + * UBCSSqlKeyword,楂樼骇鏌ヨ涓嶄紶鐨勬椂鍊欓粯璁ゆ槸_equal * map杞瑆rapper鏃剁敤鍒扮殑姣斿杞崲 * @author ludc * @date 2023/06/06 10:01 @@ -36,6 +37,7 @@ private static final String NOT_NULL = "_notnull"; private static final String IGNORE = "_ignore"; + public UBCSSqlKeyword() { } @@ -43,8 +45,8 @@ if (!Func.isEmpty(query)) { query.forEach((k, v) -> { if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) { - if (k.endsWith("_equal")) { - qw.eq(getColumn(k, "_equal"), v); + if (k.endsWith("_like")) { + qw.like(getColumn(k, "_like"), v); } else if (k.endsWith("_notequal")) { qw.ne(getColumn(k, "_notequal"), v); } else if (k.endsWith("_likeleft")) { @@ -76,65 +78,74 @@ } else if (k.endsWith("_notnull")) { qw.isNotNull(getColumn(k, "_notnull")); } else { - qw.like(getColumn(k, "_like"), v); + qw.eq(getColumn(k, "_equal"), v); } } }); } + } + + public static void buildConditionByAs(Map<String, Object> query, MPJLambdaWrapper<?> qw, String tableAlias){ + buildConditionMPJ(query,qw,tableAlias); } public static void buildCondition(Map<String, Object> query, MPJLambdaWrapper<?> qw) { + buildConditionMPJ(query,qw,null); + } + + private static void buildConditionMPJ(Map<String, Object> query, MPJLambdaWrapper<?> qw, String tableAlias){ if (!Func.isEmpty(query)) { query.forEach((k, v) -> { if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) { - if (k.endsWith("_equal")) { - qw.eq(getColumn(k, "_equal"), v); + if (k.endsWith("_like")) { + qw.like(tableAlias+"."+getColumn(k, "_like"), v); } else if (k.endsWith("_notequal")) { - qw.ne(getColumn(k, "_notequal"), v); + qw.ne(tableAlias+"."+getColumn(k, "_notequal"), v); } else if (k.endsWith("_likeleft")) { - qw.likeLeft(getColumn(k, "_likeleft"), v); + qw.likeLeft(tableAlias+"."+getColumn(k, "_likeleft"), v); } else if (k.endsWith("_likeright")) { - qw.likeRight(getColumn(k, "_likeright"), v); + qw.likeRight(tableAlias+"."+getColumn(k, "_likeright"), v); } else if (k.endsWith("_notlike")) { - qw.notLike(getColumn(k, "_notlike"), v); + qw.notLike(tableAlias+"."+getColumn(k, "_notlike"), v); } else if (k.endsWith("_ge")) { - qw.ge(getColumn(k, "_ge"), v); + qw.ge(tableAlias+"."+getColumn(k, "_ge"), v); } else if (k.endsWith("_le")) { - qw.le(getColumn(k, "_le"), v); + qw.le(tableAlias+"."+getColumn(k, "_le"), v); } else if (k.endsWith("_gt")) { - qw.gt(getColumn(k, "_gt"), v); + qw.gt(tableAlias+"."+getColumn(k, "_gt"), v); } else if (k.endsWith("_lt")) { - qw.lt(getColumn(k, "_lt"), v); + qw.lt(tableAlias+"."+getColumn(k, "_lt"), v); } else if (k.endsWith("_datege")) { - qw.ge(getColumn(k, "_datege"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + qw.ge(tableAlias+"."+getColumn(k, "_datege"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); } else if (k.endsWith("_dategt")) { - qw.gt(getColumn(k, "_dategt"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + qw.gt(tableAlias+"."+getColumn(k, "_dategt"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); } else if (k.endsWith("_dateequal")) { - qw.eq(getColumn(k, "_dateequal"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + qw.eq(tableAlias+"."+getColumn(k, "_dateequal"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); } else if (k.endsWith("_datele")) { - qw.le(getColumn(k, "_datele"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + qw.le(tableAlias+"."+getColumn(k, "_datele"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); } else if (k.endsWith("_datelt")) { - qw.lt(getColumn(k, "_datelt"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); + qw.lt(tableAlias+"."+getColumn(k, "_datelt"), DateUtil.parse(String.valueOf(v), "yyyy-MM-dd HH:mm:ss")); } else if (k.endsWith("_null")) { - qw.isNull(getColumn(k, "_null")); + qw.isNull(tableAlias+"."+getColumn(k, "_null")); } else if (k.endsWith("_notnull")) { - qw.isNotNull(getColumn(k, "_notnull")); + qw.isNotNull(tableAlias+"."+getColumn(k, "_notnull")); } else { - qw.like(getColumn(k, "_like"), v); + qw.eq(tableAlias+"."+getColumn(k, "_equal"), v); } } }); } } + public static void buildConditionByMapString(Map<String, String> query, MPJLambdaWrapper<?> qw) { if (!Func.isEmpty(query)) { query.forEach((k, v) -> { if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) { - if (k.endsWith("_equal")) { - qw.eq(getColumn(k, "_equal"), v); + if (k.endsWith("_like")) { + qw.like(getColumn(k, "_like"), v); } else if (k.endsWith("_notequal")) { qw.ne(getColumn(k, "_notequal"), v); } else if (k.endsWith("_likeleft")) { @@ -166,7 +177,7 @@ } else if (k.endsWith("_notnull")) { qw.isNotNull(getColumn(k, "_notnull")); } else { - qw.like(getColumn(k, "_like"), v); + qw.eq(getColumn(k, "_equal"), v); } } @@ -178,8 +189,8 @@ if (!Func.isEmpty(query)) { query.forEach((k, v) -> { if (!Func.hasEmpty(new Object[]{k, v}) && !k.endsWith("_ignore")) { - if (k.endsWith("_equal")) { - qw.eq(getColumn(k, "_equal"), v); + if (k.endsWith("_like")) { + qw.like(getColumn(k, "_like"), v); } else if (k.endsWith("_notequal")) { qw.ne(getColumn(k, "_notequal"), v); } else if (k.endsWith("_likeleft")) { @@ -211,7 +222,7 @@ } else if (k.endsWith("_notnull")) { qw.isNotNull(getColumn(k, "_notnull")); } else { - qw.like(getColumn(k, "_like"), v); + qw.eq(getColumn(k, "_equal"), v); } } @@ -219,13 +230,20 @@ } } - private static String getColumn(String column, String keyword) { + /** + * 鑾峰彇鍒楀悕锛屾病鏈夎浆涓嬪垝绾挎槧灏� + * @param column + * @param keyword + * @return + */ + public static String getColumn(String column, String keyword) { //娌℃湁杞笅鍒掔嚎鏄犲皠 - return StringUtil.removeSuffix(column, keyword).toLowerCase(Locale.ROOT); + return StringUtil.removeSuffix(column, keyword).toLowerCase(Locale.ROOT).trim(); } public static String filter(String param) { return param == null ? null : param.replaceAll("(?i)'|%|--|insert|delete|select|count|group|union|drop|truncate|alter|grant|execute|exec|xp_cmdshell|call|declare|sql", ""); } + } -- Gitblit v1.9.3