From 47062051dd1eb35025dab3d2eab4cd50ed4e67c5 Mon Sep 17 00:00:00 2001 From: msslulu <1484036491@qq.com> Date: Wed, 23 Sep 2026 01:46:53 -0700 Subject: [PATCH 1/4] fix:code check --- .../dynamic/service/DynamicModelService.java | 28 ++++++++++++------- .../service/app/impl/AiChatServiceImpl.java | 17 ++++++----- 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java b/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java index 81e248a9..789cea96 100644 --- a/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java +++ b/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java @@ -42,6 +42,7 @@ import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.regex.Pattern; import java.util.stream.Collectors; @Service @@ -54,7 +55,6 @@ "PMD.ConfusingTernary", "PMD.ConsecutiveAppendsShouldReuse", "PMD.ConsecutiveLiteralAppends", - "PMD.CyclomaticComplexity", "PMD.DataflowAnomalyAnalysis", "PMD.ExcessiveImports", "PMD.GodClass", @@ -84,6 +84,11 @@ public class DynamicModelService { private static final Set SYSTEM_FIELDS = Set.of("id", "created_at", "updated_at", "deleted_at", "created_by", "updated_by"); + private static final Set VALID_COLUMN_TYPES = + Set.of("INT", "TINYINT", "DATE", "DATETIME", "VARCHAR", "ENUM", "TEXT"); + + private static final Pattern VARCHAR_COLUMN_TYPE = + Pattern.compile("VARCHAR\\([1-9][0-9]{0,4}\\)"); private static final int DEFAULT_VARCHAR = 255; private static final int MAX_VARCHAR = 65_535; private static final int ASC_SUFFIX_LEN = 4; @@ -622,19 +627,22 @@ private String requireAlterIdentifier(final String value, final String name) { } private String requireColumnType(final String value) { - if (value == null - || !(value.equals("INT") - || value.equals("TINYINT") - || value.equals("DATE") - || value.equals("DATETIME") - || value.equals("VARCHAR") - || value.equals("ENUM") - || value.equals("TEXT") - || value.matches("^VARCHAR\\([1-9][0-9]{0,4}\\)$"))) { + if (!isValidColumnType(value)) { throw new IllegalArgumentException("Invalid SQL column type"); } return value; } + private boolean isValidColumnType(final String value) { + if (value == null) { + return false; + } + + if (VALID_COLUMN_TYPES.contains(value)) { + return true; + } + + return VARCHAR_COLUMN_TYPE.matcher(value).matches(); + } private void addCommonFields(List parameters) { ParametersDto id = new ParametersDto(); diff --git a/base/src/main/java/com/tinyengine/it/service/app/impl/AiChatServiceImpl.java b/base/src/main/java/com/tinyengine/it/service/app/impl/AiChatServiceImpl.java index c86be54d..8912fd14 100644 --- a/base/src/main/java/com/tinyengine/it/service/app/impl/AiChatServiceImpl.java +++ b/base/src/main/java/com/tinyengine/it/service/app/impl/AiChatServiceImpl.java @@ -42,7 +42,6 @@ "PMD.AvoidDuplicateLiterals", "PMD.AvoidInstantiatingObjectsInLoops", "PMD.AvoidLiteralsInIfCondition", - "PMD.CyclomaticComplexity", "PMD.DataflowAnomalyAnalysis", "PMD.GodClass", "PMD.LawOfDemeter", @@ -305,15 +304,19 @@ private List formatMessage(List messages) { private boolean isSafeToken(String token) { for (int i = 0; i < token.length(); i++) { char c = token.charAt(i); - if (!((c >= 'A' && c <= 'Z') - || (c >= 'a' && c <= 'z') - || (c >= '0' && c <= '9') - || c == '_' - || c == '.' - || c == '-')) { + if (!isSafeTokenCharacter(c)) { return false; } } return true; } + + private boolean isSafeTokenCharacter(final char c) { + return (c >= 'A' && c <= 'Z') + || (c >= 'a' && c <= 'z') + || (c >= '0' && c <= '9') + || c == '_' + || c == '.' + || c == '-'; + } } From dd327f29c7e79c059b02e2940fca27633e01e807 Mon Sep 17 00:00:00 2001 From: msslulu <1484036491@qq.com> Date: Wed, 23 Sep 2026 02:05:03 -0700 Subject: [PATCH 2/4] fix:code check --- .../tinyengine/it/dynamic/service/DynamicModelService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java b/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java index 789cea96..6e19c507 100644 --- a/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java +++ b/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java @@ -55,6 +55,8 @@ "PMD.ConfusingTernary", "PMD.ConsecutiveAppendsShouldReuse", "PMD.ConsecutiveLiteralAppends", + "PMD.CyclomaticComplexity", + "PMD.LongVariable", "PMD.DataflowAnomalyAnalysis", "PMD.ExcessiveImports", "PMD.GodClass", @@ -85,10 +87,10 @@ public class DynamicModelService { private static final Set SYSTEM_FIELDS = Set.of("id", "created_at", "updated_at", "deleted_at", "created_by", "updated_by"); private static final Set VALID_COLUMN_TYPES = - Set.of("INT", "TINYINT", "DATE", "DATETIME", "VARCHAR", "ENUM", "TEXT"); + Set.of("INT", "TINYINT", "DATE", "DATETIME", "VARCHAR", "ENUM", "TEXT"); private static final Pattern VARCHAR_COLUMN_TYPE = - Pattern.compile("VARCHAR\\([1-9][0-9]{0,4}\\)"); + Pattern.compile("VARCHAR\\([1-9][0-9]{0,4}\\)"); private static final int DEFAULT_VARCHAR = 255; private static final int MAX_VARCHAR = 65_535; private static final int ASC_SUFFIX_LEN = 4; From 9d582b147611c58b55f371a32bd9056a60b19c92 Mon Sep 17 00:00:00 2001 From: msslulu <1484036491@qq.com> Date: Wed, 23 Sep 2026 19:19:59 -0700 Subject: [PATCH 3/4] fix: resolve code quality issues --- .../dynamic/service/DynamicModelService.java | 22 +++++++++---------- .../service/app/impl/AiChatServiceImpl.java | 10 ++++----- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java b/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java index 6e19c507..992ca0b6 100644 --- a/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java +++ b/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java @@ -56,7 +56,6 @@ "PMD.ConsecutiveAppendsShouldReuse", "PMD.ConsecutiveLiteralAppends", "PMD.CyclomaticComplexity", - "PMD.LongVariable", "PMD.DataflowAnomalyAnalysis", "PMD.ExcessiveImports", "PMD.GodClass", @@ -86,10 +85,10 @@ public class DynamicModelService { private static final Set SYSTEM_FIELDS = Set.of("id", "created_at", "updated_at", "deleted_at", "created_by", "updated_by"); - private static final Set VALID_COLUMN_TYPES = + private static final Set COLUMN_TYPES = Set.of("INT", "TINYINT", "DATE", "DATETIME", "VARCHAR", "ENUM", "TEXT"); - private static final Pattern VARCHAR_COLUMN_TYPE = + private static final Pattern SIZED_VARCHAR = Pattern.compile("VARCHAR\\([1-9][0-9]{0,4}\\)"); private static final int DEFAULT_VARCHAR = 255; private static final int MAX_VARCHAR = 65_535; @@ -634,16 +633,15 @@ private String requireColumnType(final String value) { } return value; } - private boolean isValidColumnType(final String value) { - if (value == null) { - return false; - } - - if (VALID_COLUMN_TYPES.contains(value)) { - return true; - } - return VARCHAR_COLUMN_TYPE.matcher(value).matches(); + /** + * 验证列类型是否合法. + * @param value + * @return + */ + private boolean isValidColumnType(final String value) { + return value != null + && (COLUMN_TYPES.contains(value) || SIZED_VARCHAR.matcher(value).matches()); } private void addCommonFields(List parameters) { diff --git a/base/src/main/java/com/tinyengine/it/service/app/impl/AiChatServiceImpl.java b/base/src/main/java/com/tinyengine/it/service/app/impl/AiChatServiceImpl.java index 8912fd14..b8d54d35 100644 --- a/base/src/main/java/com/tinyengine/it/service/app/impl/AiChatServiceImpl.java +++ b/base/src/main/java/com/tinyengine/it/service/app/impl/AiChatServiceImpl.java @@ -313,10 +313,10 @@ private boolean isSafeToken(String token) { private boolean isSafeTokenCharacter(final char c) { return (c >= 'A' && c <= 'Z') - || (c >= 'a' && c <= 'z') - || (c >= '0' && c <= '9') - || c == '_' - || c == '.' - || c == '-'; + || (c >= 'a' && c <= 'z') + || (c >= '0' && c <= '9') + || c == '_' + || c == '.' + || c == '-'; } } From 4efc41cb134aa76a65f50dca894ecc6bcf353e96 Mon Sep 17 00:00:00 2001 From: msslulu <1484036491@qq.com> Date: Wed, 23 Sep 2026 19:23:44 -0700 Subject: [PATCH 4/4] fix: resolve code quality issues --- .../tinyengine/it/dynamic/service/DynamicModelService.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java b/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java index 992ca0b6..76d5a2b5 100644 --- a/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java +++ b/base/src/main/java/com/tinyengine/it/dynamic/service/DynamicModelService.java @@ -634,11 +634,6 @@ private String requireColumnType(final String value) { return value; } - /** - * 验证列类型是否合法. - * @param value - * @return - */ private boolean isValidColumnType(final String value) { return value != null && (COLUMN_TYPES.contains(value) || SIZED_VARCHAR.matcher(value).matches());