完成部分 SysUserServiceImplTest 单元测试

This commit is contained in:
YunaiV
2021-04-18 11:45:44 +08:00
parent f676153778
commit 81e7e04680
10 changed files with 263 additions and 140 deletions

View File

@@ -149,9 +149,9 @@ public class SysUserController {
// 手动创建导出 demo
List<SysUserImportExcelVO> list = Arrays.asList(
SysUserImportExcelVO.builder().username("yudao").deptId(1L).email("yudao@iocoder.cn").mobile("15601691300")
.nickname("芋道").status(CommonStatusEnum.ENABLE.getStatus()).sex(SysSexEnum.MALE.getSEX()).build(),
.nickname("芋道").status(CommonStatusEnum.ENABLE.getStatus()).sex(SysSexEnum.MALE.getSex()).build(),
SysUserImportExcelVO.builder().username("yuanma").deptId(2L).email("yuanma@iocoder.cn").mobile("15601701300")
.nickname("源码").status(CommonStatusEnum.DISABLE.getStatus()).sex(SysSexEnum.FEMALE.getSEX()).build()
.nickname("源码").status(CommonStatusEnum.DISABLE.getStatus()).sex(SysSexEnum.FEMALE.getSex()).build()
);
// 输出

View File

@@ -3,9 +3,9 @@ package cn.iocoder.dashboard.modules.system.controller.user.vo.profile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Email;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
@ApiModel("用户个人信息更新 Request VO")
@@ -22,7 +22,7 @@ public class SysUserProfileUpdateReqVO {
private String email;
@ApiModelProperty(value = "手机号码", example = "15601691300")
@Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误")
@Length(min = 11, max = 11, message = "手机号长度必须 11 位")
private String mobile;
@ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类")

View File

@@ -2,10 +2,10 @@ package cn.iocoder.dashboard.modules.system.controller.user.vo.user;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.Set;
@@ -40,7 +40,7 @@ public class SysUserBaseVO {
private String email;
@ApiModelProperty(value = "手机号码", example = "15601691300")
@Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误")
@Length(min = 11, max = 11, message = "手机号长度必须 11 位")
private String mobile;
@ApiModelProperty(value = "用户性别", example = "1", notes = "参见 SysSexEnum 枚举类")

View File

@@ -3,6 +3,11 @@ package cn.iocoder.dashboard.modules.system.enums.common;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 性别的枚举值
*
* @author 芋道源码
*/
@Getter
@AllArgsConstructor
public enum SysSexEnum {
@@ -10,6 +15,9 @@ public enum SysSexEnum {
MALE(1), // 男
FEMALE(2); // 女
private final Integer SEX;
/**
* 性别
*/
private final Integer sex;
}

View File

@@ -6,17 +6,11 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
import cn.iocoder.dashboard.common.exception.ServiceException;
import cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.dashboard.common.pojo.PageResult;
import cn.iocoder.dashboard.modules.infra.service.file.InfFileService;
import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdatePasswordReqVO;
import cn.iocoder.dashboard.modules.system.controller.user.vo.profile.SysUserProfileUpdateReqVO;
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserCreateReqVO;
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserExportReqVO;
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportExcelVO;
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserImportRespVO;
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserPageReqVO;
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.SysUserUpdateReqVO;
import cn.iocoder.dashboard.modules.system.controller.user.vo.user.*;
import cn.iocoder.dashboard.modules.system.convert.user.SysUserConvert;
import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysDeptDO;
import cn.iocoder.dashboard.modules.system.dal.dataobject.dept.SysPostDO;
@@ -33,14 +27,9 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import static cn.iocoder.dashboard.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.dashboard.modules.system.enums.SysErrorCodeConstants.*;
@@ -142,8 +131,6 @@ public class SysUserServiceImpl implements SysUserService {
updateObj.setId(id);
updateObj.setStatus(status);
userMapper.updateById(updateObj);
// 删除用户关联数据
permissionService.processUserDeleted(id);
}
@Override
@@ -152,6 +139,8 @@ public class SysUserServiceImpl implements SysUserService {
this.checkUserExists(id);
// 删除用户
userMapper.deleteById(id);
// 删除用户关联数据
permissionService.processUserDeleted(id);
}
@Override
@@ -227,7 +216,7 @@ public class SysUserServiceImpl implements SysUserService {
}
SysUserDO user = userMapper.selectById(id);
if (user == null) {
throw ServiceExceptionUtil.exception(USER_NOT_EXISTS);
throw exception(USER_NOT_EXISTS);
}
}
@@ -241,10 +230,10 @@ public class SysUserServiceImpl implements SysUserService {
}
// 如果 id 为空,说明不用比较是否为相同 id 的用户
if (id == null) {
throw ServiceExceptionUtil.exception(USER_USERNAME_EXISTS);
throw exception(USER_USERNAME_EXISTS);
}
if (!user.getId().equals(id)) {
throw ServiceExceptionUtil.exception(USER_USERNAME_EXISTS);
throw exception(USER_USERNAME_EXISTS);
}
}
@@ -258,10 +247,10 @@ public class SysUserServiceImpl implements SysUserService {
}
// 如果 id 为空,说明不用比较是否为相同 id 的用户
if (id == null) {
throw ServiceExceptionUtil.exception(USER_EMAIL_EXISTS);
throw exception(USER_EMAIL_EXISTS);
}
if (!user.getId().equals(id)) {
throw ServiceExceptionUtil.exception(USER_EMAIL_EXISTS);
throw exception(USER_EMAIL_EXISTS);
}
}
@@ -275,10 +264,10 @@ public class SysUserServiceImpl implements SysUserService {
}
// 如果 id 为空,说明不用比较是否为相同 id 的用户
if (id == null) {
throw ServiceExceptionUtil.exception(USER_MOBILE_EXISTS);
throw exception(USER_MOBILE_EXISTS);
}
if (!user.getId().equals(id)) {
throw ServiceExceptionUtil.exception(USER_MOBILE_EXISTS);
throw exception(USER_MOBILE_EXISTS);
}
}
@@ -288,10 +277,10 @@ public class SysUserServiceImpl implements SysUserService {
}
SysDeptDO dept = deptService.getDept(deptId);
if (dept == null) {
throw ServiceExceptionUtil.exception(DEPT_NOT_FOUND);
throw exception(DEPT_NOT_FOUND);
}
if (!CommonStatusEnum.ENABLE.getStatus().equals(dept.getStatus())) {
throw ServiceExceptionUtil.exception(DEPT_NOT_ENABLE);
throw exception(DEPT_NOT_ENABLE);
}
}
@@ -301,16 +290,16 @@ public class SysUserServiceImpl implements SysUserService {
}
List<SysPostDO> posts = postService.getPosts(postIds, null);
if (CollUtil.isEmpty(posts)) {
throw ServiceExceptionUtil.exception(POST_NOT_FOUND);
throw exception(POST_NOT_FOUND);
}
Map<Long, SysPostDO> postMap = CollectionUtils.convertMap(posts, SysPostDO::getId);
postIds.forEach(postId -> {
SysPostDO post = postMap.get(postId);
if (post == null) {
throw ServiceExceptionUtil.exception(POST_NOT_FOUND);
throw exception(POST_NOT_FOUND);
}
if (!CommonStatusEnum.ENABLE.getStatus().equals(post.getStatus())) {
throw ServiceExceptionUtil.exception(POST_NOT_ENABLE, post.getName());
throw exception(POST_NOT_ENABLE, post.getName());
}
});
}
@@ -324,10 +313,10 @@ public class SysUserServiceImpl implements SysUserService {
private void checkOldPassword(Long id, String oldPassword) {
SysUserDO user = userMapper.selectById(id);
if (user == null) {
throw ServiceExceptionUtil.exception(USER_NOT_EXISTS);
throw exception(USER_NOT_EXISTS);
}
if (!passwordEncoder.matches(oldPassword, user.getPassword())) {
throw ServiceExceptionUtil.exception(USER_PASSWORD_FAILED);
throw exception(USER_PASSWORD_FAILED);
}
}
@@ -335,7 +324,7 @@ public class SysUserServiceImpl implements SysUserService {
@Transactional(rollbackFor = Exception.class) // 添加事务,异常则回滚所有导入
public SysUserImportRespVO importUsers(List<SysUserImportExcelVO> importUsers, boolean isUpdateSupport) {
if (CollUtil.isEmpty(importUsers)) {
throw ServiceExceptionUtil.exception(USER_IMPORT_LIST_IS_EMPTY);
throw exception(USER_IMPORT_LIST_IS_EMPTY);
}
SysUserImportRespVO respVO = SysUserImportRespVO.builder().createUsernames(new ArrayList<>())
.updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build();