mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-01 02:38:43 +08:00 
			
		
		
		
	bugfix-导入系统用户时,增加注解校验过程,与界面添加和修改用户保持一致
This commit is contained in:
		| @@ -103,6 +103,10 @@ public class RandomUtils { | ||||
|         return randomString() + "@qq.com"; | ||||
|     } | ||||
|  | ||||
|     public static String randomMobile() { | ||||
|         return "13800138" + RandomUtil.randomNumbers(3); | ||||
|     } | ||||
|  | ||||
|     public static String randomURL() { | ||||
|         return "https://www.iocoder.cn/" + randomString(); | ||||
|     } | ||||
|   | ||||
| @@ -9,6 +9,7 @@ import cn.iocoder.yudao.framework.common.exception.ServiceException; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | ||||
| import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||||
| import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; | ||||
| import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils; | ||||
| import cn.iocoder.yudao.module.infra.api.config.ConfigApi; | ||||
| import cn.iocoder.yudao.module.infra.api.file.FileApi; | ||||
| @@ -32,6 +33,7 @@ import com.mzt.logapi.context.LogRecordContext; | ||||
| import com.mzt.logapi.service.impl.DiffParseFunction; | ||||
| import com.mzt.logapi.starter.annotation.LogRecord; | ||||
| import jakarta.annotation.Resource; | ||||
| import jakarta.validation.ConstraintViolationException; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.springframework.context.annotation.Lazy; | ||||
| import org.springframework.security.crypto.password.PasswordEncoder; | ||||
| @@ -40,13 +42,36 @@ import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| import java.io.InputStream; | ||||
| import java.time.LocalDateTime; | ||||
| import java.util.*; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collection; | ||||
| import java.util.Collections; | ||||
| import java.util.HashSet; | ||||
| import java.util.LinkedHashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.Set; | ||||
|  | ||||
| import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | ||||
| import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; | ||||
| import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.*; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_COUNT_MAX; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_EMAIL_EXISTS; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_IMPORT_INIT_PASSWORD; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_IMPORT_LIST_IS_EMPTY; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_IS_DISABLE; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_MOBILE_EXISTS; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_NOT_EXISTS; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_PASSWORD_FAILED; | ||||
| import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_USERNAME_EXISTS; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.SYSTEM_USER_CREATE_SUB_TYPE; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.SYSTEM_USER_CREATE_SUCCESS; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.SYSTEM_USER_DELETE_SUB_TYPE; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.SYSTEM_USER_DELETE_SUCCESS; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.SYSTEM_USER_TYPE; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.SYSTEM_USER_UPDATE_PASSWORD_SUB_TYPE; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.SYSTEM_USER_UPDATE_PASSWORD_SUCCESS; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.SYSTEM_USER_UPDATE_SUB_TYPE; | ||||
| import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.SYSTEM_USER_UPDATE_SUCCESS; | ||||
|  | ||||
| /** | ||||
|  * 后台用户 Service 实现类 | ||||
| @@ -451,6 +476,13 @@ public class AdminUserServiceImpl implements AdminUserService { | ||||
|                 respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage()); | ||||
|                 return; | ||||
|             } | ||||
|             // 校验字段是否符合要求 | ||||
|             try { | ||||
|                 ValidationUtils.validate(BeanUtils.toBean(importUser, UserSaveReqVO.class).setPassword(initPassword)); | ||||
|             }catch (ConstraintViolationException ex){ | ||||
|                 respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage()); | ||||
|                 return; | ||||
|             } | ||||
|             // 判断如果不存在,在进行插入 | ||||
|             AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername()); | ||||
|             if (existUser == null) { | ||||
|   | ||||
| @@ -452,6 +452,8 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { | ||||
|         UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> { | ||||
|             o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 | ||||
|             o.setSex(randomEle(SexEnum.values()).getSex()); // 保证 sex 的范围 | ||||
|             o.setEmail(randomEmail()); | ||||
|             o.setMobile(randomMobile()); | ||||
|         }); | ||||
|         // mock deptService 的方法 | ||||
|         DeptDO dept = randomPojo(DeptDO.class, o -> { | ||||
| @@ -486,6 +488,8 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { | ||||
|             o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 | ||||
|             o.setSex(randomEle(SexEnum.values()).getSex()); // 保证 sex 的范围 | ||||
|             o.setUsername(dbUser.getUsername()); | ||||
|             o.setEmail(randomEmail()); | ||||
|             o.setMobile(randomMobile()); | ||||
|         }); | ||||
|         // mock deptService 的方法 | ||||
|         DeptDO dept = randomPojo(DeptDO.class, o -> { | ||||
| @@ -516,6 +520,8 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { | ||||
|             o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 | ||||
|             o.setSex(randomEle(SexEnum.values()).getSex()); // 保证 sex 的范围 | ||||
|             o.setUsername(dbUser.getUsername()); | ||||
|             o.setEmail(randomEmail()); | ||||
|             o.setMobile(randomMobile()); | ||||
|         }); | ||||
|         // mock deptService 的方法 | ||||
|         DeptDO dept = randomPojo(DeptDO.class, o -> { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 yinyilong
					yinyilong