|
|
@@ -7,6 +7,7 @@ import com.alibaba.fastjson2.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -15,6 +16,7 @@ import com.yingyangfly.common.exception.ServiceException;
|
|
|
import com.yingyangfly.common.utils.DateUtils;
|
|
|
import com.yingyangfly.core.domain.*;
|
|
|
import com.yingyangfly.core.dto.LoginDto;
|
|
|
+import com.yingyangfly.core.enums.RedisStatusEnums;
|
|
|
import com.yingyangfly.core.enums.StatusEnums;
|
|
|
import com.yingyangfly.core.mapper.SysRoleMapper;
|
|
|
import com.yingyangfly.core.mapper.SysUserMapper;
|
|
|
@@ -25,6 +27,7 @@ import com.yingyangfly.core.service.impl.SysDictDataService;
|
|
|
import com.yingyangfly.core.service.impl.SysMenuService;
|
|
|
import com.yingyangfly.core.service.impl.SysOrgService;
|
|
|
import com.yingyangfly.core.util.Sm4Util;
|
|
|
+import com.yingyangfly.redis.client.RedisClient;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.authentication.BadCredentialsException;
|
|
|
@@ -33,6 +36,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -61,6 +65,9 @@ public class SysUserService extends ServiceImpl<SysUserMapper,SysUser> {
|
|
|
CacheUserService cacheUserService;
|
|
|
@Autowired
|
|
|
SysDictDataService sysDictDataService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private RedisClient redisClient;
|
|
|
/**
|
|
|
* 登录
|
|
|
* @param dto
|
|
|
@@ -72,7 +79,15 @@ public class SysUserService extends ServiceImpl<SysUserMapper,SysUser> {
|
|
|
throw new BadCredentialsException("密码不正确");
|
|
|
}
|
|
|
tokenUtil.setAuthentication(userDetails);
|
|
|
- return tokenUtil.generateToken(userDetails,dto.getRememberMe());
|
|
|
+ String token = tokenUtil.generateToken(userDetails, dto.getRememberMe());
|
|
|
+ // 判断是否存在旧的token,存在删除
|
|
|
+ String oldToken = redisClient.get(dto.getLoginName(), "");
|
|
|
+ if (ObjectUtils.isNotNull(oldToken)){
|
|
|
+ redisClient.del(dto.getLoginName());
|
|
|
+ }
|
|
|
+ // 将生成的token 存储到redis中并设置过期时间
|
|
|
+ redisClient.set(dto.getLoginName(),token, RedisStatusEnums.REDIS_EXPIRATION_TIME_1.getCode());
|
|
|
+ return token;
|
|
|
}
|
|
|
|
|
|
/**
|