use of com.zy.usercenteradmin.entity.User in project usercenteradmin by caijiya.
the class LoginServiceImpl method userInfo.
@Override
public UserPermissionDTO userInfo() {
UserPermissionDTO userPermissionDTO = new UserPermissionDTO();
User user = UserInfoHelper.get();
userPermissionDTO.setUser(user);
Integer deptId = user.getDeptId();
if (deptId != null) {
userPermissionDTO.setDept(deptMapper.selectById(deptId));
}
userPermissionDTO.setMenus(menuService.menuTree());
QueryWrapper<Role> queryWrapper = new QueryWrapper<Role>().inSql("id", String.format("select role_id from role_user_rel where user_id = %s", user.getId()));
List<Role> roles = roleMapper.selectList(queryWrapper);
if (CollUtil.isNotEmpty(roles)) {
userPermissionDTO.setRoleList(roles);
}
return userPermissionDTO;
}
use of com.zy.usercenteradmin.entity.User in project usercenteradmin by caijiya.
the class LoginServiceImpl method login.
@Override
public String login(LoginDTO loginDTO, String captchaKey) {
String captchaCode = stringRedisTemplate.opsForValue().get(Constants.REDIS_KEY_CAPTCHA + captchaKey);
if (StrUtil.isBlank(captchaCode) || !loginDTO.getCaptchaCode().equals(captchaCode)) {
log.warn("验证码校验失败");
throw new BaseException(ResultCodeEnum.CAPTCHA_ERROR);
}
String username = loginDTO.getUsername();
User user = userMapper.selectOne(new LambdaQueryWrapper<User>().eq(User::getUsername, username));
if (user == null) {
throw new BaseException(ResultCodeEnum.USERNAME_PASSWORD_ERROR);
}
String salt = user.getSalt();
if (!DigestUtil.md5Hex(salt + loginDTO.getPassword()).equals(user.getPassword())) {
throw new BaseException(ResultCodeEnum.USERNAME_PASSWORD_ERROR);
}
// 将用户信息、权限信息缓存到redis todo 暂时只存基本信息
String ticket = UUID.randomUUID().toString();
// 存储token与id的映射
redisTemplate.opsForValue().set(Constants.TOKEN_PREFIX + ticket, user.getId(), 30, TimeUnit.MINUTES);
// 存储用户信息
redisTemplate.opsForValue().set(Constants.REDIS_KEY_USER_PREFIX + user.getId(), user, 30, TimeUnit.MINUTES);
return ticket;
}
use of com.zy.usercenteradmin.entity.User in project usercenteradmin by caijiya.
the class LoginInterceptor method preHandle.
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String tokenHeader = request.getHeader(Constants.TOKEN_HEADER);
if (StrUtil.isBlank(tokenHeader)) {
throw new BaseException(ResultCodeEnum.LOGIN_EXPIRATION);
}
String userId = stringRedisTemplate.opsForValue().get(Constants.TOKEN_PREFIX + tokenHeader);
if (StrUtil.isBlank(userId)) {
throw new BaseException(ResultCodeEnum.LOGIN_EXPIRATION);
}
User user = (User) redisTemplate.opsForValue().get(Constants.REDIS_KEY_USER_PREFIX + userId);
if (user == null) {
throw new BaseException(ResultCodeEnum.LOGIN_EXPIRATION);
}
UserInfoHelper.add(user);
return true;
}
use of com.zy.usercenteradmin.entity.User in project usercenteradmin by caijiya.
the class UserServiceImpl method resetPassword.
@Override
public void resetPassword(String userId) {
User user = this.getById(userId);
String password = DigestUtil.md5Hex(user.getSalt() + DEFAULT_PASSWORD);
user.setPassword(password);
this.updateById(user);
}
Aggregations