patch: 权限板块日志补丁
This commit is contained in:
parent
9f82efd772
commit
377261e938
@ -20,6 +20,8 @@ public class RedisConstant {
|
|||||||
public static final String TYPE_EMAIL = "mail:";
|
public static final String TYPE_EMAIL = "mail:";
|
||||||
// 登陆相关
|
// 登陆相关
|
||||||
public static final String TYPE_AUTH = "auth:";
|
public static final String TYPE_AUTH = "auth:";
|
||||||
|
// 权限相关
|
||||||
|
public static final String TYPE_PERMISSION = "permission:";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 表分类
|
* 表分类
|
||||||
@ -30,4 +32,6 @@ public class RedisConstant {
|
|||||||
public static final String TABLE_TOKEN = "token:";
|
public static final String TABLE_TOKEN = "token:";
|
||||||
// 用户相关
|
// 用户相关
|
||||||
public static final String TABLE_USER = "user:";
|
public static final String TABLE_USER = "user:";
|
||||||
|
// 角色相关
|
||||||
|
public static final String TABLE_ROLE = "role:";
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,18 @@ import java.util.List;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h1>Redis工具类</h1>
|
||||||
|
* <hr/>
|
||||||
|
* 用于操作Redis
|
||||||
|
*
|
||||||
|
* @param <R> 泛型
|
||||||
|
* @since v1.1.0
|
||||||
|
* @version v1.1.0
|
||||||
|
* @see RedisConfiguration
|
||||||
|
* @see com.jsl.oa.common.constant.RedisConstant
|
||||||
|
* @author xiao_lfeng
|
||||||
|
*/
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public abstract class RedisOperating<R> {
|
public abstract class RedisOperating<R> {
|
||||||
protected final RedisTemplate<String, R> redisTemplate;
|
protected final RedisTemplate<String, R> redisTemplate;
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
package com.jsl.oa.dao;
|
package com.jsl.oa.dao;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
import com.jsl.oa.common.constant.BusinessConstants;
|
||||||
import com.jsl.oa.mapper.PermissionMapper;
|
import com.jsl.oa.mapper.PermissionMapper;
|
||||||
import com.jsl.oa.model.doData.PermissionDO;
|
import com.jsl.oa.model.doData.PermissionDO;
|
||||||
|
import com.jsl.oa.utils.redis.PermissionRedisUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -23,32 +28,60 @@ import java.util.List;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PermissionDAO {
|
public class PermissionDAO {
|
||||||
private final PermissionMapper permissionMapper;
|
private final PermissionMapper permissionMapper;
|
||||||
|
private final PermissionRedisUtil<String> permissionRedisUtil;
|
||||||
|
private final Gson gson;
|
||||||
|
|
||||||
public List<String> getPermission(Long uid) {
|
/**
|
||||||
|
* <h2>获取用户权限信息</h2>
|
||||||
|
* <hr/>
|
||||||
|
* 通过用户 ID 获取用户权限信息
|
||||||
|
*
|
||||||
|
* @param uid 用户ID
|
||||||
|
* @return {@link List<String>}
|
||||||
|
*/
|
||||||
|
public List<String> getPermission(@NotNull Long uid) {
|
||||||
log.info("\t> 执行 DAO 层 PermissionDAO.getPermission 方法");
|
log.info("\t> 执行 DAO 层 PermissionDAO.getPermission 方法");
|
||||||
List<PermissionDO> permissionList = permissionMapper.permissionUserPid(uid);
|
List<String> getPermissionForString;
|
||||||
List<String> getPermissionForString = new ArrayList<>();
|
String permissionRedisString = permissionRedisUtil.getData(BusinessConstants.NONE, uid.toString());
|
||||||
for (PermissionDO permission : permissionList) {
|
if (permissionRedisString == null) {
|
||||||
// 寻找是否存在父亲
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
StringBuilder permissionString = new StringBuilder();
|
List<PermissionDO> permissionList = permissionMapper.permissionUserPid(uid);
|
||||||
if (permission.getPid() != null) {
|
getPermissionForString = new ArrayList<>();
|
||||||
// 存在父亲
|
for (PermissionDO permission : permissionList) {
|
||||||
this.getFatherPermission(permissionString, permission.getPid());
|
// 寻找是否存在父亲
|
||||||
// 寻找子类
|
StringBuilder permissionString = new StringBuilder();
|
||||||
this.getChildPermission(permissionString, permission.getId(), getPermissionForString);
|
if (permission.getPid() != null) {
|
||||||
getPermissionForString.add(permissionString.toString());
|
// 存在父亲
|
||||||
} else {
|
this.getFatherPermission(permissionString, permission.getPid());
|
||||||
// 不存在父亲
|
// 寻找子类
|
||||||
permissionString.append(permission.getName());
|
this.getChildPermission(permissionString, permission.getId(), getPermissionForString);
|
||||||
this.getChildPermission(permissionString, permission.getId(), getPermissionForString);
|
getPermissionForString.add(permissionString.toString());
|
||||||
getPermissionForString.add(permissionString.toString());
|
} else {
|
||||||
|
// 不存在父亲
|
||||||
|
permissionString.append(permission.getName());
|
||||||
|
this.getChildPermission(permissionString, permission.getId(), getPermissionForString);
|
||||||
|
getPermissionForString.add(permissionString.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
// 存入 Redis
|
||||||
|
permissionRedisUtil.setData(BusinessConstants.NONE, uid.toString(), gson.toJson(getPermissionForString), 1440);
|
||||||
|
} else {
|
||||||
|
log.info("\t\t> 从 Redis 获取数据");
|
||||||
|
getPermissionForString = gson.fromJson(permissionRedisString, new TypeToken<List<String>>() {}.getType());
|
||||||
}
|
}
|
||||||
// 存入 Redis
|
|
||||||
|
|
||||||
return getPermissionForString;
|
return getPermissionForString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取子类权限信息</h2>
|
||||||
|
* <hr/>
|
||||||
|
* 通过父类 ID 获取子类权限信息<br/>
|
||||||
|
* 递归调用
|
||||||
|
*
|
||||||
|
* @param permissionString 父类权限信息
|
||||||
|
* @param id 父类 ID
|
||||||
|
* @param getPermissionForString 存储权限信息
|
||||||
|
*/
|
||||||
private void getChildPermission(StringBuilder permissionString, Long id, List<String> getPermissionForString) {
|
private void getChildPermission(StringBuilder permissionString, Long id, List<String> getPermissionForString) {
|
||||||
// 获取子类权限信息
|
// 获取子类权限信息
|
||||||
List<PermissionDO> permissionList = permissionMapper.getChildPermission(id);
|
List<PermissionDO> permissionList = permissionMapper.getChildPermission(id);
|
||||||
@ -73,6 +106,15 @@ public class PermissionDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取父类权限信息</h2>
|
||||||
|
* <hr/>
|
||||||
|
* 通过子类 ID 获取父类权限信息<br/>
|
||||||
|
* 递归调用
|
||||||
|
*
|
||||||
|
* @param permissionString 父类权限信息
|
||||||
|
* @param pid 父类 ID
|
||||||
|
*/
|
||||||
public void getFatherPermission(StringBuilder permissionString, Long pid) {
|
public void getFatherPermission(StringBuilder permissionString, Long pid) {
|
||||||
// 获取权限信息
|
// 获取权限信息
|
||||||
PermissionDO permissionDO = permissionMapper.getPermissionById(pid);
|
PermissionDO permissionDO = permissionMapper.getPermissionById(pid);
|
||||||
|
@ -4,6 +4,7 @@ import com.jsl.oa.common.constant.BusinessConstants;
|
|||||||
import com.jsl.oa.common.constant.RedisConstant;
|
import com.jsl.oa.common.constant.RedisConstant;
|
||||||
import com.jsl.oa.config.redis.RedisConfiguration;
|
import com.jsl.oa.config.redis.RedisConfiguration;
|
||||||
import com.jsl.oa.config.redis.RedisOperating;
|
import com.jsl.oa.config.redis.RedisOperating;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
@ -22,6 +23,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
* @see com.jsl.oa.common.constant.RedisConstant
|
* @see com.jsl.oa.common.constant.RedisConstant
|
||||||
* @since v1.1.0
|
* @since v1.1.0
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class EmailRedisUtil<R> extends RedisOperating<R> {
|
public class EmailRedisUtil<R> extends RedisOperating<R> {
|
||||||
|
|
||||||
@ -41,6 +43,7 @@ public class EmailRedisUtil<R> extends RedisOperating<R> {
|
|||||||
@Override
|
@Override
|
||||||
public Long getExpiredAt(@NotNull BusinessConstants businessConstants, String email) {
|
public Long getExpiredAt(@NotNull BusinessConstants businessConstants, String email) {
|
||||||
String key = RedisConstant.TYPE_EMAIL + RedisConstant.TABLE_EMAIL + businessConstants.getValue() + email;
|
String key = RedisConstant.TYPE_EMAIL + RedisConstant.TABLE_EMAIL + businessConstants.getValue() + email;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的过期时间", key);
|
||||||
return redisTemplate.getExpire(key);
|
return redisTemplate.getExpire(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,6 +59,7 @@ public class EmailRedisUtil<R> extends RedisOperating<R> {
|
|||||||
@Override
|
@Override
|
||||||
public Boolean delData(@NotNull BusinessConstants businessConstants, String email) {
|
public Boolean delData(@NotNull BusinessConstants businessConstants, String email) {
|
||||||
String key = RedisConstant.TYPE_EMAIL + RedisConstant.TABLE_EMAIL + businessConstants.getValue() + email;
|
String key = RedisConstant.TYPE_EMAIL + RedisConstant.TABLE_EMAIL + businessConstants.getValue() + email;
|
||||||
|
log.info("\t\t> 删除 Redis 键为 {} 的数据", key);
|
||||||
return redisTemplate.delete(key);
|
return redisTemplate.delete(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,6 +75,7 @@ public class EmailRedisUtil<R> extends RedisOperating<R> {
|
|||||||
@Override
|
@Override
|
||||||
public R getData(@NotNull BusinessConstants businessConstants, String email) {
|
public R getData(@NotNull BusinessConstants businessConstants, String email) {
|
||||||
String key = RedisConstant.TYPE_EMAIL + RedisConstant.TABLE_EMAIL + businessConstants.getValue() + email;
|
String key = RedisConstant.TYPE_EMAIL + RedisConstant.TABLE_EMAIL + businessConstants.getValue() + email;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的数据", key);
|
||||||
return redisTemplate.opsForValue().get(key);
|
return redisTemplate.opsForValue().get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,6 +93,7 @@ public class EmailRedisUtil<R> extends RedisOperating<R> {
|
|||||||
public Boolean setData(@NotNull BusinessConstants businessConstants, String email, R value, Integer time) {
|
public Boolean setData(@NotNull BusinessConstants businessConstants, String email, R value, Integer time) {
|
||||||
// 处理数据
|
// 处理数据
|
||||||
String key = RedisConstant.TYPE_EMAIL + RedisConstant.TABLE_EMAIL + businessConstants.getValue() + email;
|
String key = RedisConstant.TYPE_EMAIL + RedisConstant.TABLE_EMAIL + businessConstants.getValue() + email;
|
||||||
|
log.info("\t\t> 设置 Redis 键为 {} 的数据", key);
|
||||||
redisTemplate.opsForValue().set(key, value);
|
redisTemplate.opsForValue().set(key, value);
|
||||||
redisTemplate.expire(key, time, TimeUnit.MINUTES);
|
redisTemplate.expire(key, time, TimeUnit.MINUTES);
|
||||||
return true;
|
return true;
|
||||||
|
@ -0,0 +1,61 @@
|
|||||||
|
package com.jsl.oa.utils.redis;
|
||||||
|
|
||||||
|
import com.jsl.oa.common.constant.BusinessConstants;
|
||||||
|
import com.jsl.oa.common.constant.RedisConstant;
|
||||||
|
import com.jsl.oa.config.redis.RedisOperating;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h1>权限Redis工具类</h1>
|
||||||
|
* <hr/>
|
||||||
|
* 权限Redis工具类
|
||||||
|
*
|
||||||
|
* @param <R> 泛型
|
||||||
|
* @since v1.1.0
|
||||||
|
* @version v1.1.0
|
||||||
|
* @see com.jsl.oa.common.constant.RedisConstant
|
||||||
|
* @author xiaofeng
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class PermissionRedisUtil<R> extends RedisOperating<R> {
|
||||||
|
public PermissionRedisUtil(RedisTemplate<String, R> redisTemplate, StringRedisTemplate stringRedisTemplate) {
|
||||||
|
super(redisTemplate, stringRedisTemplate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long getExpiredAt(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
|
String key = RedisConstant.TYPE_PERMISSION + RedisConstant.TABLE_ROLE + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的过期时间", key);
|
||||||
|
return redisTemplate.getExpire(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean delData(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
|
String key = RedisConstant.TYPE_PERMISSION + RedisConstant.TABLE_ROLE + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 删除 Redis 键为 {} 的数据", key);
|
||||||
|
return redisTemplate.delete(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R getData(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
|
String key = RedisConstant.TYPE_PERMISSION + RedisConstant.TABLE_ROLE + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的数据", key);
|
||||||
|
return redisTemplate.opsForValue().get(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean setData(@NotNull BusinessConstants businessConstants, String field, R value, Integer time) {
|
||||||
|
String key = RedisConstant.TYPE_PERMISSION + RedisConstant.TABLE_ROLE + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 写入 Redis 键为 {} 的数据", key);
|
||||||
|
redisTemplate.opsForValue().set(key, value);
|
||||||
|
redisTemplate.expire(key, time, TimeUnit.MINUTES);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,7 @@ package com.jsl.oa.utils.redis;
|
|||||||
import com.jsl.oa.common.constant.BusinessConstants;
|
import com.jsl.oa.common.constant.BusinessConstants;
|
||||||
import com.jsl.oa.common.constant.RedisConstant;
|
import com.jsl.oa.common.constant.RedisConstant;
|
||||||
import com.jsl.oa.config.redis.RedisOperating;
|
import com.jsl.oa.config.redis.RedisOperating;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
@ -11,6 +12,20 @@ import org.springframework.stereotype.Component;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h1>Token Redis 工具类</h1>
|
||||||
|
* <hr/>
|
||||||
|
* 用于 Token 的 Redis 操作
|
||||||
|
*
|
||||||
|
* @param <R> 泛型
|
||||||
|
* @version v1.1.0
|
||||||
|
* @since v1.1.0
|
||||||
|
* @see RedisOperating
|
||||||
|
* @see RedisTemplate
|
||||||
|
* @see StringRedisTemplate
|
||||||
|
* @author xiao_lfeng
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class TokenRedisUtil<R> extends RedisOperating<R> {
|
public class TokenRedisUtil<R> extends RedisOperating<R> {
|
||||||
public TokenRedisUtil(RedisTemplate<String, R> redisTemplate, StringRedisTemplate stringRedisTemplate) {
|
public TokenRedisUtil(RedisTemplate<String, R> redisTemplate, StringRedisTemplate stringRedisTemplate) {
|
||||||
@ -20,18 +35,21 @@ public class TokenRedisUtil<R> extends RedisOperating<R> {
|
|||||||
@Override
|
@Override
|
||||||
public Long getExpiredAt(@NotNull BusinessConstants businessConstants, String field) {
|
public Long getExpiredAt(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + field;
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的过期时间", key);
|
||||||
return redisTemplate.getExpire(key);
|
return redisTemplate.getExpire(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean delData(@NotNull BusinessConstants businessConstants, String field) {
|
public Boolean delData(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + field;
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 删除 Redis 键为 {} 的数据", key);
|
||||||
return redisTemplate.delete(key);
|
return redisTemplate.delete(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R getData(@NotNull BusinessConstants businessConstants, String field) {
|
public R getData(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + field;
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的数据", key);
|
||||||
return redisTemplate.opsForValue().get(key);
|
return redisTemplate.opsForValue().get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,6 +57,7 @@ public class TokenRedisUtil<R> extends RedisOperating<R> {
|
|||||||
public Boolean setData(@NotNull BusinessConstants businessConstants, String field, R value, Integer time) {
|
public Boolean setData(@NotNull BusinessConstants businessConstants, String field, R value, Integer time) {
|
||||||
// 处理数据
|
// 处理数据
|
||||||
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + field;
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 写入 Redis 键为 {} 的数据", key);
|
||||||
redisTemplate.opsForValue().set(key, value);
|
redisTemplate.opsForValue().set(key, value);
|
||||||
redisTemplate.expire(key, time, TimeUnit.MINUTES);
|
redisTemplate.expire(key, time, TimeUnit.MINUTES);
|
||||||
return true;
|
return true;
|
||||||
@ -46,6 +65,7 @@ public class TokenRedisUtil<R> extends RedisOperating<R> {
|
|||||||
|
|
||||||
public List<R> getList(@NotNull BusinessConstants businessConstants) {
|
public List<R> getList(@NotNull BusinessConstants businessConstants) {
|
||||||
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + "*";
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_TOKEN + businessConstants.getValue() + "*";
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的数据", key);
|
||||||
return this.getList(key);
|
return this.getList(key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package com.jsl.oa.utils.redis;
|
|||||||
import com.jsl.oa.common.constant.BusinessConstants;
|
import com.jsl.oa.common.constant.BusinessConstants;
|
||||||
import com.jsl.oa.common.constant.RedisConstant;
|
import com.jsl.oa.common.constant.RedisConstant;
|
||||||
import com.jsl.oa.config.redis.RedisOperating;
|
import com.jsl.oa.config.redis.RedisOperating;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
@ -20,6 +21,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
* @version v1.1.0
|
* @version v1.1.0
|
||||||
* @author xiao_lfeng
|
* @author xiao_lfeng
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class UserRedisUtil<R> extends RedisOperating<R> {
|
public class UserRedisUtil<R> extends RedisOperating<R> {
|
||||||
public UserRedisUtil(RedisTemplate<String, R> redisTemplate, StringRedisTemplate stringRedisTemplate) {
|
public UserRedisUtil(RedisTemplate<String, R> redisTemplate, StringRedisTemplate stringRedisTemplate) {
|
||||||
@ -29,18 +31,21 @@ public class UserRedisUtil<R> extends RedisOperating<R> {
|
|||||||
@Override
|
@Override
|
||||||
public Long getExpiredAt(@NotNull BusinessConstants businessConstants, String field) {
|
public Long getExpiredAt(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_USER + businessConstants.getValue() + field;
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_USER + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的过期时间", key);
|
||||||
return redisTemplate.getExpire(key);
|
return redisTemplate.getExpire(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean delData(@NotNull BusinessConstants businessConstants, String field) {
|
public Boolean delData(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_USER + businessConstants.getValue() + field;
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_USER + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 删除 Redis 键为 {} 的数据", key);
|
||||||
return redisTemplate.delete(key);
|
return redisTemplate.delete(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R getData(@NotNull BusinessConstants businessConstants, String field) {
|
public R getData(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_USER + businessConstants.getValue() + field;
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_USER + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的数据", key);
|
||||||
return redisTemplate.opsForValue().get(key);
|
return redisTemplate.opsForValue().get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,6 +53,7 @@ public class UserRedisUtil<R> extends RedisOperating<R> {
|
|||||||
public Boolean setData(@NotNull BusinessConstants businessConstants, String field, R value, Integer time) {
|
public Boolean setData(@NotNull BusinessConstants businessConstants, String field, R value, Integer time) {
|
||||||
// 处理数据
|
// 处理数据
|
||||||
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_USER + businessConstants.getValue() + field;
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_USER + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 写入 Redis 键为 {} 的数据", key);
|
||||||
redisTemplate.opsForValue().set(key, value);
|
redisTemplate.opsForValue().set(key, value);
|
||||||
redisTemplate.expire(key, time, TimeUnit.MINUTES);
|
redisTemplate.expire(key, time, TimeUnit.MINUTES);
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user