添加登录后信息存redis的方法
This commit is contained in:
@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.AuthorityEntity;
|
||||
import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityEntity;
|
||||
import com.chinaunicom.mall.ebtp.cloud.userinfo.starter.service.UserInfoService;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
|
||||
@ -43,10 +44,12 @@ import java.util.UUID;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.chinaunicom.mall.ebtp.cloud.security.starter.common.Constants.REDIS_USER_KEY;
|
||||
|
||||
/**
|
||||
* 对数据表 base_user 操作的 serviceImpl
|
||||
* @author yss
|
||||
*
|
||||
* @author yss
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@ -66,10 +69,17 @@ public class BaseUserServiceImpl extends BaseServiceImpl<BaseUserMapper, SysUser
|
||||
@Resource
|
||||
private BaseUserTokenService baseUserTokenService;
|
||||
|
||||
@Autowired
|
||||
private UserInfoService userInfoService;
|
||||
|
||||
@Autowired(required = false)
|
||||
@Qualifier("cacheRedisTemplate")
|
||||
private RedisTemplate<String, Object> redisTemplate;
|
||||
|
||||
@Autowired(required = false)
|
||||
@Qualifier("userinfoRedisTemplate")
|
||||
private RedisTemplate<String, Object> userinfoRedisTemplate;
|
||||
|
||||
|
||||
@Override
|
||||
public BaseSelf idcardLogin(String account, String password) {
|
||||
@ -94,7 +104,19 @@ public class BaseUserServiceImpl extends BaseServiceImpl<BaseUserMapper, SysUser
|
||||
throw new RuntimeException("用户名或密码错误!");
|
||||
}
|
||||
|
||||
return userLogin(user);
|
||||
|
||||
BaseSelf baseSelf = userLogin(user);
|
||||
String token = baseSelf.getToken();
|
||||
|
||||
//缓存用户信息
|
||||
BaseCacheUser baseCacheUser = new BaseCacheUser();
|
||||
BeanUtils.copyProperties(user, baseCacheUser);
|
||||
//存入缓存redis
|
||||
userinfoRedisTemplate.opsForValue().set(REDIS_USER_KEY + token,
|
||||
baseCacheUser, Long.parseLong(valid_time_limit), TimeUnit.HOURS);
|
||||
|
||||
userInfoService.getUserInfo(token);
|
||||
return baseSelf;
|
||||
} catch (BadPaddingException e) {
|
||||
log.error("RSA解密异常", e);
|
||||
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA_OTHER_ERROR.customValidName("用户名或密码错误", true);
|
||||
@ -219,13 +241,15 @@ public class BaseUserServiceImpl extends BaseServiceImpl<BaseUserMapper, SysUser
|
||||
securityEntity.setStaffId(baseUser.getEmployeeNumber());
|
||||
securityEntity.setUsername(baseUser.getName());
|
||||
securityEntity.setStaffName(baseUser.getName());
|
||||
List<AuthorityEntity> authorityList =this.baseUserMapper.selectRoleByUserId(baseUser.getUserId());;
|
||||
List<AuthorityEntity> authorityList = this.baseUserMapper.selectRoleByUserId(baseUser.getUserId());
|
||||
;
|
||||
securityEntity.setAuthorityList(authorityList);
|
||||
return securityEntity;
|
||||
}
|
||||
|
||||
/**
|
||||
* 本地token换取用户信息
|
||||
*
|
||||
* @param token
|
||||
* @return
|
||||
*/
|
||||
|
Reference in New Issue
Block a user