微调
This commit is contained in:
@@ -28,5 +28,5 @@ public interface UserValidMessage {
|
||||
|
||||
String PHONE_FORMAT_ERROR = "电话号码格式错误,请检查phone参数";
|
||||
|
||||
//String LOGIN_ERROR_TIMES_NOT_NULL = "登录错误次数不能为空,请检查loginErrorTimes参数";
|
||||
String EMAIL_FORMAT_ERROR = "邮箱格式错误,请检查email参数";
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ public class SysUserController extends BaseController {
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.DELETE)
|
||||
@DeleteMapping("/delete")
|
||||
@PostMapping("/delete")
|
||||
@ApiOperation("批量删除用户")
|
||||
@ApiImplicitParam(name = "ids", value = "用户id", required = true)
|
||||
public HttpResult<Boolean> delete(@RequestBody List<String> ids) {
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.njcn.gather.user.user.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.njcn.gather.user.user.pojo.param.SysUserParam;
|
||||
import com.njcn.gather.user.user.pojo.po.SysUser;
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,17 +2,14 @@ package com.njcn.gather.user.user.pojo.param;
|
||||
|
||||
import com.njcn.common.pojo.constant.PatternRegex;
|
||||
import com.njcn.gather.user.pojo.constant.UserValidMessage;
|
||||
import com.njcn.web.pojo.annotation.DateTimeStrValid;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.hibernate.validator.constraints.Range;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author caozehui
|
||||
@@ -23,7 +20,7 @@ public class SysUserParam {
|
||||
|
||||
@ApiModelProperty("用户名(别名)")
|
||||
@NotBlank(message = UserValidMessage.NAME_NOT_BLANK)
|
||||
@Pattern(regexp = PatternRegex.DEPT_NAME_REGEX, message = UserValidMessage.NAME_FORMAT_ERROR)
|
||||
@Pattern(regexp = PatternRegex.USERNAME_REGEX, message = UserValidMessage.NAME_FORMAT_ERROR)
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("部门Id")
|
||||
@@ -35,10 +32,15 @@ public class SysUserParam {
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty("邮箱")
|
||||
@Pattern(regexp = PatternRegex.EMAIL_REGEX_OR_NULL, message = UserValidMessage.EMAIL_FORMAT_ERROR)
|
||||
private String email;
|
||||
|
||||
// @ApiModelProperty("最后一次登录时间")
|
||||
// private LocalDateTime loginTime;
|
||||
@ApiModelProperty("角色ids")
|
||||
private List<String> roleIds;
|
||||
|
||||
// @ApiModelProperty("最后一次登录时间")
|
||||
// @DateTimeStrValid(format = "yyyy-MM-dd HH:mm:ss")
|
||||
// private String loginTime;
|
||||
|
||||
// @ApiModelProperty("密码错误次数")
|
||||
// @NotNull(message = UserValidMessage.LOGIN_ERROR_TIMES_NOT_NULL)
|
||||
@@ -61,7 +63,6 @@ public class SysUserParam {
|
||||
@NotBlank(message = UserValidMessage.PASSWORD_NOT_BLANK)
|
||||
@Pattern(regexp = PatternRegex.PASSWORD_REGEX, message = UserValidMessage.PASSWORD_FORMAT_ERROR)
|
||||
private String password;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@@ -79,7 +80,6 @@ public class SysUserParam {
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public static class SysUserQueryParam extends BaseParam {
|
||||
@ApiModelProperty("用户名(别名)")
|
||||
@Pattern(regexp = PatternRegex.USERNAME_REGEX, message = UserValidMessage.NAME_FORMAT_ERROR)
|
||||
private String name;
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.gather.user.user.pojo.po;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
@@ -14,6 +15,7 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author caozehui
|
||||
@@ -86,5 +88,8 @@ public class SysUser extends BaseEntity implements Serializable {
|
||||
* 用户状态 0-删除;1-正常;2-锁定;3-待审核;4-休眠;5-密码过期
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<String> role;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.gather.user.user.service.impl;
|
||||
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@@ -14,7 +15,9 @@ import com.njcn.gather.user.pojo.constant.UserState;
|
||||
import com.njcn.gather.user.pojo.enums.UserResponseEnum;
|
||||
import com.njcn.gather.user.user.mapper.SysUserMapper;
|
||||
import com.njcn.gather.user.user.pojo.param.SysUserParam;
|
||||
import com.njcn.gather.user.user.pojo.po.SysRole;
|
||||
import com.njcn.gather.user.user.pojo.po.SysUser;
|
||||
import com.njcn.gather.user.user.service.ISysUserRoleService;
|
||||
import com.njcn.gather.user.user.service.ISysUserService;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -26,6 +29,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author caozehui
|
||||
@@ -36,6 +40,8 @@ import java.util.Objects;
|
||||
@RequiredArgsConstructor
|
||||
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
|
||||
|
||||
private final ISysUserRoleService sysUserRoleService;
|
||||
|
||||
@Override
|
||||
public Page<SysUser> listUser(SysUserParam.SysUserQueryParam queryParam) {
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
||||
@@ -52,7 +58,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
queryWrapper.orderByDesc("sys_user.update_time");
|
||||
}
|
||||
queryWrapper.ne("sys_user.state", UserState.DELETED);
|
||||
return this.baseMapper.selectPage(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), queryWrapper);
|
||||
Page<SysUser> page = this.baseMapper.selectPage(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), queryWrapper);
|
||||
page.getRecords().forEach(sysUser -> {
|
||||
List<String> roleIds = sysUserRoleService.listRoleByUserId(sysUser.getId()).stream().map(SysRole::getId).collect(Collectors.toList());
|
||||
sysUser.setRole(roleIds);
|
||||
});
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -109,9 +120,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
String secretkey = Sm4Utils.globalSecretKey;
|
||||
Sm4Utils sm4 = new Sm4Utils(secretkey);
|
||||
sysUser.setPassword(sm4.encryptData_ECB(sysUser.getPassword()));
|
||||
// todo 别忘记移除登录时间
|
||||
sysUser.setLoginTime(LocalDateTimeUtil.now());
|
||||
sysUser.setLoginErrorTimes(0);
|
||||
sysUser.setState(UserState.ENABLED);
|
||||
return this.save(sysUser);
|
||||
boolean result1 = this.save(sysUser);
|
||||
boolean result2 = sysUserRoleService.addUserRole(sysUser.getId(), addUserParam.getRoleIds());
|
||||
return result1 && result2;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -119,14 +134,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
checkRepeat(updateUserParam, true, updateUserParam.getId());
|
||||
SysUser sysUser = new SysUser();
|
||||
BeanUtils.copyProperties(updateUserParam, sysUser);
|
||||
return this.updateById(sysUser);
|
||||
boolean result1 = this.updateById(sysUser);
|
||||
boolean result2 = sysUserRoleService.updateUserRole(sysUser.getId(), updateUserParam.getRoleIds());
|
||||
return result1 && result2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteUser(List<String> ids) {
|
||||
UpdateWrapper<SysUser> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.set("sys_user.state", UserState.DELETED).in("sys_user.id", ids);
|
||||
return this.update(updateWrapper);
|
||||
return this.lambdaUpdate()
|
||||
.set(SysUser::getState, UserState.DELETED)
|
||||
.in(SysUser::getId, ids)
|
||||
.update();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user