fix(系统设置): 用户导入ID和名称添加校验

--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
This commit is contained in:
jianxing 2023-07-12 20:30:03 +08:00 committed by jianxing
parent df30874d27
commit 8c5e51e512
4 changed files with 29 additions and 0 deletions

View File

@ -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<UserExcelData> {
@ -81,9 +83,27 @@ public class UserDataListener extends EasyExcelListener<UserExcelData> {
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() {
//检查有无重复数据

View File

@ -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

View File

@ -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个字符

View File

@ -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個字符