|
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.zanxiang.common.enums.ExpireTimeEnum;
|
|
|
import com.zanxiang.common.exception.BaseException;
|
|
|
-import com.zanxiang.common.redis.utils.RedisUtils;
|
|
|
+import com.zanxiang.sdk.utils.RedisUtils;
|
|
|
import com.zanxiang.common.text.UUID;
|
|
|
import com.zanxiang.common.utils.bean.BeanUtils;
|
|
|
import com.zanxiang.sdk.constant.RedisKeyConstant;
|
|
@@ -33,6 +33,37 @@ public class UserTokenServiceImpl extends ServiceImpl<UserTokenMapper, UserToken
|
|
|
@Autowired
|
|
|
private RedisUtils<UserToken> redisUtils;
|
|
|
|
|
|
+ /**
|
|
|
+ * 通过token设备获取token详情
|
|
|
+ *
|
|
|
+ * @param token : 用户token
|
|
|
+ * @param deviceType : 设备类型
|
|
|
+ * @return : 返回用户token详情
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public UserTokenDTO getTokenInfoByTokenDevice(String token, String deviceType) {
|
|
|
+ //查询缓存信息
|
|
|
+ String tokenInfoKey = this.getTokenInfoKey(token, deviceType);
|
|
|
+ UserToken userToken = redisUtils.getCache(tokenInfoKey);
|
|
|
+ if (userToken != null) {
|
|
|
+ return BeanUtils.copy(userToken, UserTokenDTO.class);
|
|
|
+ }
|
|
|
+ //缓存不存在, 查询数据库
|
|
|
+ userToken = super.getOne(new LambdaQueryWrapper<UserToken>()
|
|
|
+ .eq(UserToken::getToken, token)
|
|
|
+ .eq(UserToken::getDeviceType, deviceType));
|
|
|
+ if (userToken == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ //设置token详情缓存
|
|
|
+ redisUtils.setCache(tokenInfoKey, userToken, ExpireTimeEnum.ONE_DAY.getTime());
|
|
|
+ //设置用户缓存
|
|
|
+ String userTokenKey = this.getUserTokenKey(userToken.getUserId(), deviceType);
|
|
|
+ redisUtils.setCache(userTokenKey, userToken, ExpireTimeEnum.ONE_DAY.getTime());
|
|
|
+ //返回数据
|
|
|
+ return BeanUtils.copy(userToken, UserTokenDTO.class);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 通过用户设备获取token详情
|
|
|
*
|
|
@@ -43,8 +74,8 @@ public class UserTokenServiceImpl extends ServiceImpl<UserTokenMapper, UserToken
|
|
|
@Override
|
|
|
public UserTokenDTO getTokenInfoByUserDevice(Long userId, String deviceType) {
|
|
|
//查询缓存信息
|
|
|
- String key = this.getUserTokenKey(userId, deviceType);
|
|
|
- UserToken userToken = redisUtils.getCache(key);
|
|
|
+ String userTokenKey = this.getUserTokenKey(userId, deviceType);
|
|
|
+ UserToken userToken = redisUtils.getCache(userTokenKey);
|
|
|
if (userToken != null) {
|
|
|
return BeanUtils.copy(userToken, UserTokenDTO.class);
|
|
|
}
|
|
@@ -55,6 +86,12 @@ public class UserTokenServiceImpl extends ServiceImpl<UserTokenMapper, UserToken
|
|
|
if (userToken == null) {
|
|
|
return null;
|
|
|
}
|
|
|
+ //设置token详情缓存
|
|
|
+ String tokenInfoKey = this.getTokenInfoKey(userToken.getToken(), deviceType);
|
|
|
+ redisUtils.setCache(tokenInfoKey, userToken, ExpireTimeEnum.ONE_DAY.getTime());
|
|
|
+ //设置用户缓存
|
|
|
+ redisUtils.setCache(userTokenKey, userToken, ExpireTimeEnum.ONE_DAY.getTime());
|
|
|
+ //返回数据
|
|
|
return BeanUtils.copy(userToken, UserTokenDTO.class);
|
|
|
}
|
|
|
|
|
@@ -84,10 +121,10 @@ public class UserTokenServiceImpl extends ServiceImpl<UserTokenMapper, UserToken
|
|
|
}
|
|
|
//设置用户缓存
|
|
|
String userTokenKey = this.getUserTokenKey(userId, deviceType);
|
|
|
- redisUtils.setCache(userTokenKey, userToken, ExpireTimeEnum.ONE_WEEK.getTime());
|
|
|
+ redisUtils.setCache(userTokenKey, userToken, ExpireTimeEnum.ONE_DAY.getTime());
|
|
|
//设置token详情缓存
|
|
|
String tokenInfoKey = this.getTokenInfoKey(token, deviceType);
|
|
|
- redisUtils.setCache(tokenInfoKey, userToken, ExpireTimeEnum.ONE_WEEK.getTime());
|
|
|
+ redisUtils.setCache(tokenInfoKey, userToken, ExpireTimeEnum.ONE_DAY.getTime());
|
|
|
//返回token
|
|
|
return token;
|
|
|
}
|