fix(系统设置): 使用excel导入用户时针对手机号进行数字以及长度校验

【【系统设置】系统-用户-导入用户-手机号格式&长度未校验】
https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001035542
This commit is contained in:
song-tianyang 2024-02-07 16:19:07 +08:00 committed by Craftsman
parent d2778c0eb2
commit 270c3fdfd5
7 changed files with 15 additions and 4 deletions

View File

@ -100,6 +100,7 @@ user.id.not_blank=用户ID不能为空
user.name.not_blank=用户名称不能为空 user.name.not_blank=用户名称不能为空
user.name.length_range=用户名称长度必须在 {min} 和 {max} 之间 user.name.length_range=用户名称长度必须在 {min} 和 {max} 之间
user.phone.not_blank=用户手机号不能为空 user.phone.not_blank=用户手机号不能为空
user.phone.error=手机号输入错误
user.password.error=验证用户密码失败 user.password.error=验证用户密码失败
user.password.not.blank=用户密码不能为空 user.password.not.blank=用户密码不能为空
user.email.not_blank=用户email不能为空 user.email.not_blank=用户email不能为空
@ -110,6 +111,7 @@ user.email.invite_click=点击加入
user.email.invite_tips=如果按钮无法点击,请直接访问以下链接: user.email.invite_tips=如果按钮无法点击,请直接访问以下链接:
user.email.invite_limited_time=此链接自发送之时起24小时后过期 user.email.invite_limited_time=此链接自发送之时起24小时后过期
user.email.repeat=邮箱重复 user.email.repeat=邮箱重复
user.email.import.in_system=系统已存在
user.reset.password=重置密码 user.reset.password=重置密码
user.delete=删除用户 user.delete=删除用户
user.enable=启用用户 user.enable=启用用户

View File

@ -100,6 +100,7 @@ user.id.not_blank=User id must not be blank
user.name.not_blank=Username must not be blank user.name.not_blank=Username must not be blank
user.name.length_range=Username must be between {min} and {max} characters long user.name.length_range=Username must be between {min} and {max} characters long
user.phone.not_blank=User phone must not be blank user.phone.not_blank=User phone must not be blank
user.phone.error=Phone number error
user.password.error=Validate password error user.password.error=Validate password error
user.password.not.blank=User password must not be blank user.password.not.blank=User password must not be blank
user.email.not_blank=User email must not be blank user.email.not_blank=User email must not be blank
@ -110,6 +111,7 @@ user.email.invite_click=Join in
user.email.invite_tips=If button can not click,please click url user.email.invite_tips=If button can not click,please click url
user.email.invite_limited_time=Url expires in 24 hours user.email.invite_limited_time=Url expires in 24 hours
user.email.repeat=Email already exists user.email.repeat=Email already exists
user.email.import.in_system=Email was in system
user.reset.password=Reset password user.reset.password=Reset password
user.delete=Delete user user.delete=Delete user
user.enable=Enable user user.enable=Enable user

View File

@ -101,6 +101,7 @@ user.id.not_blank=用户ID不能为空
user.name.not_blank=用户名称不能为空 user.name.not_blank=用户名称不能为空
user.name.length_range=用户名称长度必须在 {min} 和 {max} 之间 user.name.length_range=用户名称长度必须在 {min} 和 {max} 之间
user.phone.not_blank=用户手机号不能为空 user.phone.not_blank=用户手机号不能为空
user.phone.error=手机号输入错误
user.password.error=验证用户密码失败 user.password.error=验证用户密码失败
user.password.not.blank=用户密码不能为空 user.password.not.blank=用户密码不能为空
user.email.not_blank=用户email不能为空 user.email.not_blank=用户email不能为空
@ -111,6 +112,7 @@ user.email.invite_click=点击加入
user.email.invite_tips=如果按钮无法点击,请直接访问以下链接: user.email.invite_tips=如果按钮无法点击,请直接访问以下链接:
user.email.invite_limited_time=此链接自发送之时起24小时后过期 user.email.invite_limited_time=此链接自发送之时起24小时后过期
user.email.repeat=邮箱重复 user.email.repeat=邮箱重复
user.email.import.in_system=系统已存在
user.reset.password=重置密码 user.reset.password=重置密码
user.delete=删除用户 user.delete=删除用户
user.enable=启用用户 user.enable=启用用户

View File

@ -100,6 +100,7 @@ user.id.not_blank=用戶ID不能為空
user.name.not_blank=用戶名稱不能為空 user.name.not_blank=用戶名稱不能為空
user.name.length_range=用戶名稱長度必須在 {min} 和 {max} 之間 user.name.length_range=用戶名稱長度必須在 {min} 和 {max} 之間
user.phone.not_blank=用戶手機號不能為空 user.phone.not_blank=用戶手機號不能為空
user.phone.error=手機號輸入錯誤
user.password.error=驗證用戶密碼失敗 user.password.error=驗證用戶密碼失敗
user.password.not.blank=用戶密碼不能為空 user.password.not.blank=用戶密碼不能為空
user.email.not_blank=用戶email不能為空 user.email.not_blank=用戶email不能為空
@ -110,6 +111,7 @@ user.email.invite_click=點擊加入
user.email.invite_tips=如果按鈕無法點擊,請直接訪問以下鏈接: user.email.invite_tips=如果按鈕無法點擊,請直接訪問以下鏈接:
user.email.invite_limited_time=此鏈接自發送之時起24小時後過期 user.email.invite_limited_time=此鏈接自發送之時起24小時後過期
user.email.repeat=郵箱重複 user.email.repeat=郵箱重複
user.email.import.in_system=系統已存在
user.reset.password=重置密碼 user.reset.password=重置密碼
user.delete=刪除用戶 user.delete=刪除用戶
user.enable=啟用用戶 user.enable=啟用用戶

View File

@ -556,8 +556,8 @@ public class FileMetadataService {
fileMetadata.setProjectId(oldFile.getProjectId()); fileMetadata.setProjectId(oldFile.getProjectId());
fileMetadata.setModuleId(oldFile.getModuleId()); fileMetadata.setModuleId(oldFile.getModuleId());
fileMetadata.setName(oldFile.getName()); fileMetadata.setName(oldFile.getName());
fileMetadata.setCreateTime(operationTime); fileMetadata.setCreateTime(oldFile.getCreateTime());
fileMetadata.setCreateUser(operator); fileMetadata.setCreateUser(oldFile.getCreateUser());
fileMetadata.setUpdateTime(operationTime); fileMetadata.setUpdateTime(operationTime);
fileMetadata.setPath(oldFile.getPath()); fileMetadata.setPath(oldFile.getPath());
fileMetadata.setUpdateUser(operator); fileMetadata.setUpdateUser(operator);
@ -652,7 +652,7 @@ public class FileMetadataService {
fileVersionResponse.setId(item.getId()); fileVersionResponse.setId(item.getId());
fileVersionResponse.setFileVersion(item.getFileVersion()); fileVersionResponse.setFileVersion(item.getFileVersion());
fileVersionResponse.setOperator(userName); fileVersionResponse.setOperator(userName);
fileVersionResponse.setOperateTime(item.getCreateTime()); fileVersionResponse.setOperateTime(item.getUpdateTime());
FileMetadataRepository fileRepository = fileIdMap.get(item.getId()); FileMetadataRepository fileRepository = fileIdMap.get(item.getId());
if (fileRepository == null) { if (fileRepository == null) {

View File

@ -3,6 +3,7 @@ package io.metersphere.system.dto.excel;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import jakarta.validation.constraints.Email; import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;
import lombok.Data; import lombok.Data;
@ -20,6 +21,8 @@ public class UserExcel {
private String email; private String email;
@ExcelProperty(index = 2) @ExcelProperty(index = 2)
@Size(min = 1, max = 11, message = "{user.phone.error}")
@Pattern(regexp = "^[0-9]*[1-9][0-9]*$", message = "{user.phone.error}")
private String phone; private String phone;
@ExcelProperty("workspace") @ExcelProperty("workspace")

View File

@ -307,7 +307,7 @@ public class UserService {
for (UserExcelRowDTO userExcelRow : prepareSaveList) { for (UserExcelRowDTO userExcelRow : prepareSaveList) {
//判断邮箱是否已存在数据库中 //判断邮箱是否已存在数据库中
if (userInDbMap.containsKey(userExcelRow.getEmail())) { if (userInDbMap.containsKey(userExcelRow.getEmail())) {
userExcelRow.setErrorMessage(Translator.get("user.email.repeat") + ": " + userExcelRow.getEmail()); userExcelRow.setErrorMessage(Translator.get("user.email.import.in_system") + ": " + userExcelRow.getEmail());
excelParseDTO.addErrorRowData(userExcelRow.getDataIndex(), userExcelRow); excelParseDTO.addErrorRowData(userExcelRow.getDataIndex(), userExcelRow);
} }
} }