Commit 9827c906 by zhu.zewen

用户新增工号

parent b3deeb2b
......@@ -21,6 +21,8 @@ public class UserCreateReq {
@NotBlank(message = "手机号不能为空")
@ApiModelProperty(value = "手机号")
private String mobile;
@ApiModelProperty(value = "工号")
private String workNo;
@ApiModelProperty(value = "用户类型(角色)")
private Long userType;
......
......@@ -26,6 +26,8 @@ public class UserDto extends BaseDto implements IStatus {
private Long userType;
@ApiModelProperty(value = "手机号")
private String mobile;
@ApiModelProperty(value = "工号")
private String workNo;
@ApiModelProperty(value = "权限范围")
private String authDeptList;
......
......@@ -21,6 +21,8 @@ public class UserUpdateReq {
private String userName;
@ApiModelProperty(value = "手机号")
private String mobile;
@ApiModelProperty(value = "工号")
private String workNo;
@ApiModelProperty(value = "用户类型(角色)")
private Long userType;
......
......@@ -18,6 +18,8 @@ public class SysUser extends BaseExtEntity implements IStatus {
private String name;
@ApiModelProperty(value = "手机号")
private String mobile;
@ApiModelProperty(value = "工号")
private String workNo;
@ApiModelProperty(value = "密码盐")
private String salt;
......
......@@ -37,6 +37,11 @@ public interface UserService {
return getUserByMobile(mobile)
.orElseThrow(() -> new ServiceException("未找到用户:" + mobile));
}
Optional<UserDto> getUserByWorkNo(String workNo);
default UserDto getUserByWorkNoOrThrow(String workNo) {
return getUserByWorkNo(workNo)
.orElseThrow(() -> new ServiceException("未找到用户:" + workNo));
}
UserDto createUser(UserCreateReq req);
UserDto updateUser(UserUpdateReq req);
......
......@@ -285,7 +285,8 @@ public class UserServiceImpl extends AbstractService implements UserService {
private Wrapper<SysUser> buildQuery(UserQueryReq req) {
LambdaQueryWrapper<SysUser> query = Wrappers.lambdaQuery(SysUser.class)
.like(ObjectUtil.isNotEmpty(req.getKeyword()), SysUser::getName, req.getKeyword()).or()
.eq(ObjectUtil.isNotEmpty(req.getKeyword()), SysUser::getMobile, req.getKeyword())
.eq(ObjectUtil.isNotEmpty(req.getKeyword()), SysUser::getMobile, req.getKeyword()).or()
.eq(ObjectUtil.isNotEmpty(req.getKeyword()), SysUser::getWorkNo, req.getKeyword())
// 过滤非系统管理员
.ne(!SpringContextUtils.isPlatformAdmin(), SysUser::getType, PLATFORM_ADMIN.getCode())
.eq(ObjectUtil.isNotEmpty(req.getStatus()), SysUser::getStatus, req.getStatus());
......@@ -350,6 +351,17 @@ public class UserServiceImpl extends AbstractService implements UserService {
return Optional.ofNullable(convertTo(user));
}
@Override
public Optional<UserDto> getUserByWorkNo(String workNo) {
if (ObjectUtil.isEmpty(workNo)) {
return Optional.empty();
}
SysUser user = userMapper.selectOne(Wrappers.lambdaQuery(SysUser.class)
.eq(SysUser::getWorkNo, workNo));
return Optional.ofNullable(convertTo(user));
}
@Override
@UserAllowed(types = { PLATFORM_ADMIN}, msg = "不允许普通用户新建用户")
......@@ -364,6 +376,13 @@ public class UserServiceImpl extends AbstractService implements UserService {
.ifPresent(user -> {
throw new ServiceException("手机号已存在");
});
// 检查工号是否重复
if (ObjectUtil.isNotEmpty(req.getWorkNo())) {
getUserByWorkNo(req.getWorkNo())
.ifPresent(user -> {
throw new ServiceException("工号已存在");
});
}
// 处理密码
String salt = PasswordUtil.newSalt();
String password = SecureUtil.md5("123456");
......@@ -379,6 +398,7 @@ public class UserServiceImpl extends AbstractService implements UserService {
SysUser user = new SysUser();
user.setName(req.getUserName());
user.setMobile(req.getMobile());
user.setWorkNo(req.getWorkNo());
user.setType(userType);
user.setSalt(salt);
......@@ -423,6 +443,16 @@ public class UserServiceImpl extends AbstractService implements UserService {
user.setMobile(req.getMobile());
updated = true;
}
if (updated(req.getWorkNo(), user.getWorkNo())) {
if (ObjectUtil.isNotEmpty(req.getWorkNo())) {
getUserByWorkNo(req.getWorkNo())
.ifPresent(u -> {
throw new ServiceException("工号已存在");
});
}
user.setWorkNo(req.getWorkNo());
updated = true;
}
if (updated(req.getDeptId(), user.getDeptId())) {
user.setDeptId(req.getDeptId());
updated = true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment