From 8c5e51e5126ec1db5c139a87aee6105ece05f3a7 Mon Sep 17 00:00:00 2001 From: jianxing Date: Wed, 12 Jul 2023 20:30:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE):=20?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=AF=BC=E5=85=A5ID=E5=92=8C=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E6=B7=BB=E5=8A=A0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1027736 --user=陈建星 【系统设置】github#25532,系统设置-用户,导入用户,用户名全是数字,导入会有提示超长sql报错 https://www.tapd.cn/55049933/s/1392532 --bug=1027739 --user=陈建星 【系统设置】github#25529,【系统设置】-系统-用户:1、导入用户功能同一个ID、姓名、邮箱等内容重复导入提示“导入成功”没有做重复性校验;2、导入模板ID输入中文提示导入成功。 https://www.tapd.cn/55049933/s/1392533 --- .../excel/listener/UserDataListener.java | 20 +++++++++++++++++++ .../resources/i18n/messages_en_US.properties | 3 +++ .../resources/i18n/messages_zh_CN.properties | 3 +++ .../resources/i18n/messages_zh_TW.properties | 3 +++ 4 files changed, 29 insertions(+) diff --git a/system-setting/backend/src/main/java/io/metersphere/excel/listener/UserDataListener.java b/system-setting/backend/src/main/java/io/metersphere/excel/listener/UserDataListener.java index 0aa3f9c88e..0b83889462 100644 --- a/system-setting/backend/src/main/java/io/metersphere/excel/listener/UserDataListener.java +++ b/system-setting/backend/src/main/java/io/metersphere/excel/listener/UserDataListener.java @@ -10,6 +10,8 @@ import io.metersphere.service.UserService; import org.apache.commons.lang3.StringUtils; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; public class UserDataListener extends EasyExcelListener { @@ -81,9 +83,27 @@ public class UserDataListener extends EasyExcelListener { if (viewerProjectCheck != null) { stringBuilder.append(viewerProjectCheck); } + + if (data.getId().length() > 50) { + stringBuilder.append(Translator.get("user_import_id_too_long") + ";"); + } + + if (data.getName().length() > 64) { + stringBuilder.append(Translator.get("user_import_name_too_long") + ";"); + } + + if (containsChineseCharacter(data.getId())) { + stringBuilder.append(Translator.get("user_import_id_not_chinese") + ";"); + } return stringBuilder.toString(); } + public static boolean containsChineseCharacter(String str) { + Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]"); + Matcher matcher = pattern.matcher(str); + return matcher.find(); + } + @Override public void saveData() { //检查有无重复数据 diff --git a/system-setting/backend/src/main/resources/i18n/messages_en_US.properties b/system-setting/backend/src/main/resources/i18n/messages_en_US.properties index e545547209..feb2ddd4bd 100644 --- a/system-setting/backend/src/main/resources/i18n/messages_en_US.properties +++ b/system-setting/backend/src/main/resources/i18n/messages_en_US.properties @@ -5,3 +5,6 @@ workspace_name_exceeds_length_limit=Workspace name exceeds length limit platform_plugin_exit=plugin is already exist! plugin_parse_error=Plugin parse error plugin_type_error=Plugin type selection error! +user_import_id_not_chinese=User id cannot be Chinese +user_import_id_too_long=User ID length cannot exceed 50 characters +user_import_name_too_long=Username length cannot exceed 64 characters \ No newline at end of file diff --git a/system-setting/backend/src/main/resources/i18n/messages_zh_CN.properties b/system-setting/backend/src/main/resources/i18n/messages_zh_CN.properties index 26d516a572..a9a5407515 100644 --- a/system-setting/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/system-setting/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -5,3 +5,6 @@ workspace_name_exceeds_length_limit=工作空间名称超出长度限制 platform_plugin_exit=插件已存在! plugin_parse_error=插件解析失败 plugin_type_error=插件类型选择错误! +user_import_id_not_chinese=用户ID不能为中文 +user_import_id_too_long=用户ID长度不能超过50个字符 +user_import_name_too_long=用户名称长度不能超过64个字符 diff --git a/system-setting/backend/src/main/resources/i18n/messages_zh_TW.properties b/system-setting/backend/src/main/resources/i18n/messages_zh_TW.properties index 4a1054520f..0c586fcc06 100644 --- a/system-setting/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/system-setting/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -5,3 +5,6 @@ workspace_name_exceeds_length_limit=工作空間名稱超出長度限制 platform_plugin_exit=插件已存在! plugin_parse_error=插件解析失敗! plugin_type_error=插件類型選擇錯誤! +user_import_id_not_chinese=用戶id不能為中文 +user_import_id_too_long=用戶ID長度不能超過50個字符 +user_import_name_too_long=用戶名稱長度不能超過64個字符 \ No newline at end of file