From 5dc6b43a9725d2826c6b48e4a2a1c56cc13e43db Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 19 Feb 2024 17:24:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E6=BA=90):=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E8=A1=8C=E6=9D=83=E9=99=90=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=B7=A6=E5=8F=B3=E6=A8=A1=E7=B3=8A=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../query/mysql/MysqlQueryProvider.java | 22 +++++++++++++++++++ core/frontend/src/lang/en.js | 2 ++ core/frontend/src/lang/tw.js | 2 ++ core/frontend/src/lang/zh.js | 2 ++ 4 files changed, 28 insertions(+) diff --git a/core/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java index 50b3ffe3a8..da112d8703 100644 --- a/core/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java +++ b/core/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java @@ -1095,6 +1095,10 @@ public class MysqlQueryProvider extends QueryProvider { whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(item.getTerm(), "like")) { whereValue = "'%" + value + "%'"; + } else if (StringUtils.containsIgnoreCase(item.getTerm(), "begin_with")) { + whereValue = "'%" + value; + } else if (StringUtils.containsIgnoreCase(item.getTerm(), "end_with")) { + whereValue = value + "%'"; } else { whereValue = String.format(MySQLConstants.WHERE_VALUE_VALUE, value); } @@ -1170,6 +1174,10 @@ public class MysqlQueryProvider extends QueryProvider { whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(item.getTerm(), "like")) { whereValue = "'%" + value + "%'"; + } else if (StringUtils.containsIgnoreCase(item.getTerm(), "begin_with")) { + whereValue = "'%" + value; + } else if (StringUtils.containsIgnoreCase(item.getTerm(), "end_with")) { + whereValue = value + "%'"; } else { whereValue = String.format(MySQLConstants.WHERE_VALUE_VALUE, value); } @@ -1206,6 +1214,8 @@ public class MysqlQueryProvider extends QueryProvider { case "not in": return " NOT IN "; case "like": + case "begin_with": + case "end_with": return " LIKE "; case "not like": return " NOT LIKE "; @@ -1295,6 +1305,10 @@ public class MysqlQueryProvider extends QueryProvider { whereValue = "('" + String.join("','", value.split(",")) + "')"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "begin_with")) { + whereValue = "'%" + value; + } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "end_with")) { + whereValue = value + "%'"; } else { whereValue = String.format(MySQLConstants.WHERE_VALUE_VALUE, value); } @@ -1591,6 +1605,10 @@ public class MysqlQueryProvider extends QueryProvider { whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { whereValue = "'%" + f.getValue() + "%'"; + } else if (StringUtils.containsIgnoreCase(f.getTerm(), "begin_with")) { + whereValue = "'%" + f.getValue(); + } else if (StringUtils.containsIgnoreCase(f.getTerm(), "end_with")) { + whereValue = f.getValue() + "%'"; } else { whereValue = String.format(MySQLConstants.WHERE_VALUE_VALUE, f.getValue()); } @@ -1655,6 +1673,10 @@ public class MysqlQueryProvider extends QueryProvider { whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { whereValue = "'%" + f.getValue() + "%'"; + } else if (StringUtils.containsIgnoreCase(f.getTerm(), "begin_with")) { + whereValue = "'%" + f.getValue(); + } else if (StringUtils.containsIgnoreCase(f.getTerm(), "end_with")) { + whereValue = f.getValue() + "%'"; } else { whereValue = String.format(MySQLConstants.WHERE_VALUE_VALUE, f.getValue()); } diff --git a/core/frontend/src/lang/en.js b/core/frontend/src/lang/en.js index d9b403bccf..da6b1b291a 100644 --- a/core/frontend/src/lang/en.js +++ b/core/frontend/src/lang/en.js @@ -1137,6 +1137,8 @@ export default { filter_not_empty: 'Not Empty String', filter_include: 'Contain', filter_not_include: 'Not Contain', + filter_end_with: 'End With', + filter_begin_with: 'Begin With', rose_type: 'Rose pattern', radius_mode: 'Radius', area_mode: 'Area', diff --git a/core/frontend/src/lang/tw.js b/core/frontend/src/lang/tw.js index f93ed158c5..e8fcfefb10 100644 --- a/core/frontend/src/lang/tw.js +++ b/core/frontend/src/lang/tw.js @@ -1136,6 +1136,8 @@ export default { filter_not_empty: '非空字符串', filter_include: '包含', filter_not_include: '不包含', + filter_end_with: '结尾是', + filter_begin_with: '开头是', rose_type: '玫瑰圖模式', radius_mode: '半徑', area_mode: '面積', diff --git a/core/frontend/src/lang/zh.js b/core/frontend/src/lang/zh.js index 1232d29d2f..bff885256b 100644 --- a/core/frontend/src/lang/zh.js +++ b/core/frontend/src/lang/zh.js @@ -1135,6 +1135,8 @@ export default { filter_not_empty: '非空字符串', filter_include: '包含', filter_not_include: '不包含', + filter_end_with: '结尾是', + filter_begin_with: '开头是', rose_type: '玫瑰图模式', radius_mode: '半径', area_mode: '面积',