Commit 2fae346c by chamberone

fix: 替换序列化

1 parent f6bbc580
...@@ -107,6 +107,11 @@ ...@@ -107,6 +107,11 @@
<version>2.5.1</version> <version>2.5.1</version>
</dependency> </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -15,16 +15,16 @@ import com.fasterxml.jackson.databind.ObjectMapper; ...@@ -15,16 +15,16 @@ import com.fasterxml.jackson.databind.ObjectMapper;
public class RedisConfig { public class RedisConfig {
@Bean @Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) { public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory connectionFactory) {
ObjectMapper objectMapper = new ObjectMapper(); // ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); // objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
objectMapper.activateDefaultTyping(objectMapper.getPolymorphicTypeValidator(), // objectMapper.activateDefaultTyping(objectMapper.getPolymorphicTypeValidator(),
ObjectMapper.DefaultTyping.EVERYTHING, JsonTypeInfo.As.PROPERTY); // ObjectMapper.DefaultTyping.EVERYTHING, JsonTypeInfo.As.PROPERTY);
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); RedisTemplate<String, String> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory); redisTemplate.setConnectionFactory(connectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer(objectMapper)); redisTemplate.setValueSerializer(new StringRedisSerializer());
return redisTemplate; return redisTemplate;
} }
......
...@@ -13,13 +13,12 @@ import java.util.concurrent.TimeUnit; ...@@ -13,13 +13,12 @@ import java.util.concurrent.TimeUnit;
/** /**
* redis服务 * redis服务
* *
* @author dk
*/ */
@Component @Component
public class RedisService { public class RedisService {
@Autowired @Autowired
private RedisTemplate redisTemplate; private RedisTemplate<String, String> redisTemplate;
/** /**
* 写入缓存 * 写入缓存
...@@ -28,10 +27,10 @@ public class RedisService { ...@@ -28,10 +27,10 @@ public class RedisService {
* @param value * @param value
* @return * @return
*/ */
public boolean set(final String key, Object value) { public boolean set(final String key, String value) {
boolean result = false; boolean result = false;
try { try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); ValueOperations<String, String> operations = redisTemplate.opsForValue();
operations.set(key, value); operations.set(key, value);
result = true; result = true;
} catch (Exception e) { } catch (Exception e) {
...@@ -47,10 +46,10 @@ public class RedisService { ...@@ -47,10 +46,10 @@ public class RedisService {
* @param value * @param value
* @return * @return
*/ */
public boolean set(final String key, Object value, Long expireTime) { public boolean set(final String key, String value, Long expireTime) {
boolean result = false; boolean result = false;
try { try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); ValueOperations<String, String> operations = redisTemplate.opsForValue();
operations.set(key, value); operations.set(key, value);
redisTemplate.expire(key, expireTime, TimeUnit.SECONDS); redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
result = true; result = true;
...@@ -61,166 +60,16 @@ public class RedisService { ...@@ -61,166 +60,16 @@ public class RedisService {
} }
/** /**
* 设置过期时间<br>
* 原始key
*
* @param key
* @param expriedDate
*/
public boolean setExpriedDate(String key, Date expriedDate) {
return redisTemplate.expireAt(key, expriedDate);
}
/**
* 批量删除对应的value
*
* @param keys
*/
public void remove(final String... keys) {
for (String key : keys) {
remove(key);
}
}
/**
* 批量删除key
*
* @param pattern
*/
public void removePattern(final String pattern) {
Set<Serializable> keys = redisTemplate.keys(pattern);
if (keys.size() > 0) {
redisTemplate.delete(keys);
}
}
/**
* 删除对应的value
*
* @param key
*/
public void remove(final String key) {
if (exists(key)) {
redisTemplate.delete(key);
}
}
/**
* 判断缓存中是否有对应的value
*
* @param key
* @return
*/
public boolean exists(final String key) {
return redisTemplate.hasKey(key);
}
/**
* 读取缓存 * 读取缓存
* *
* @param key * @param key
* @return * @return
*/ */
public Object get(final String key) { public String get(final String key) {
Object result = null; String result = null;
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); ValueOperations<String, String> operations = redisTemplate.opsForValue();
result = operations.get(key); result = operations.get(key);
return result; return result;
} }
/**
* 哈希 添加
*
* @param key
* @param hashKey
* @param value
*/
public void hmSet(String key, Object hashKey, Object value) {
HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
hash.put(key, hashKey, value);
}
/**
* 哈希获取数据
*
* @param key
* @param hashKey
* @return
*/
public Object hmGet(String key, Object hashKey) {
HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
return hash.get(key, hashKey);
}
/**
* 列表添加
*
* @param k
* @param v
*/
public void lPush(String k, Object v) {
ListOperations<String, Object> list = redisTemplate.opsForList();
list.rightPush(k, v);
}
/**
* 列表获取
*
* @param k
* @param l
* @param l1
* @return
*/
public List<Object> lRange(String k, long l, long l1) {
ListOperations<String, Object> list = redisTemplate.opsForList();
return list.range(k, l, l1);
}
/**
* 集合添加
*
* @param key
* @param value
*/
public void add(String key, Object value) {
SetOperations<String, Object> set = redisTemplate.opsForSet();
set.add(key, value);
}
/**
* 集合获取
*
* @param key
* @return
*/
public Set<Object> setMembers(String key) {
SetOperations<String, Object> set = redisTemplate.opsForSet();
return set.members(key);
}
/**
* 有序集合添加
*
* @param key
* @param value
* @param scoure
*/
public void zAdd(String key, Object value, double scoure) {
ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
zset.add(key, value, scoure);
}
/**
* 有序集合获取
*
* @param key
* @param scoure
* @param scoure1
* @return
*/
public Set<Object> rangeByScore(String key, double scoure, double scoure1) {
ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
return zset.rangeByScore(key, scoure, scoure1);
}
} }
...@@ -31,9 +31,6 @@ public class UserController implements IUser { ...@@ -31,9 +31,6 @@ public class UserController implements IUser {
@Autowired @Autowired
private UserService userService; private UserService userService;
@Autowired
private RedisService redisService;
@Override @Override
public Result<?> userLogin(UserLoginParam user) { public Result<?> userLogin(UserLoginParam user) {
return userService.userLogin(user.getAccount(), user.getPassword()); return userService.userLogin(user.getAccount(), user.getPassword());
...@@ -46,21 +43,7 @@ public class UserController implements IUser { ...@@ -46,21 +43,7 @@ public class UserController implements IUser {
@Override @Override
public WebResult<UserInfo> getCurrentUserInfo(String userToken, Boolean needTeamInfo) { public WebResult<UserInfo> getCurrentUserInfo(String userToken, Boolean needTeamInfo) {
UserAuthInfo userInfoCache = getUserAuthInfoFromToken(userToken); return null;
String userId = userInfoCache.getUserId();
UserInfo userInfo = userService.queryUserById(userId);
return WebResult.ok(userInfo);
}
/**
* 获取用户认证信息
*
* @param userToken
* @return
*/
private UserAuthInfo getUserAuthInfoFromToken(String userToken) {
UserAuthInfo userAuthInfo = (UserAuthInfo) redisService.get(RedisKeyGroup.authToken.toString() + ":" + userToken);
return userAuthInfo;
} }
@Override @Override
......
...@@ -45,6 +45,7 @@ import com.dituhui.pea.user.factory.ThirdStrategy; ...@@ -45,6 +45,7 @@ import com.dituhui.pea.user.factory.ThirdStrategy;
import com.dituhui.pea.user.factory.ThirdStrategyFactory; import com.dituhui.pea.user.factory.ThirdStrategyFactory;
import com.dituhui.pea.user.utils.TextHelper; import com.dituhui.pea.user.utils.TextHelper;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.gson.Gson;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
...@@ -66,6 +67,7 @@ public class UserService { ...@@ -66,6 +67,7 @@ public class UserService {
* 失效时间ms * 失效时间ms
*/ */
private static final int LIVE_TIME_MILLIS = 7200000; private static final int LIVE_TIME_MILLIS = 7200000;
private static final Gson gson = new Gson();
@Autowired @Autowired
UserDao userDao; UserDao userDao;
...@@ -101,12 +103,12 @@ public class UserService { ...@@ -101,12 +103,12 @@ public class UserService {
String token = IdUtil.simpleUUID(); String token = IdUtil.simpleUUID();
userDTO.setToken(token); userDTO.setToken(token);
long timestamp = System.currentTimeMillis() + LIVE_TIME_MILLIS; long timestamp = System.currentTimeMillis() + LIVE_TIME_MILLIS;
redisService.set(RedisKeyGroup.authToken + ":" + token, userDTO, timestamp / 1000); redisService.set(RedisKeyGroup.authToken + ":" + token, gson.toJson(userDTO), timestamp / 1000);
log.info("test begin"); log.info("test begin");
UserLoginDTO userDTO2 = (UserLoginDTO)redisService.get(RedisKeyGroup.authToken + ":" + token); String value = redisService.get(RedisKeyGroup.authToken + ":" + token);
log.info("test {}",userDTO2); UserLoginDTO userDTO2 = gson.fromJson(value, UserLoginDTO.class);
log.info("test {}", userDTO2);
return Result.success(userDTO); return Result.success(userDTO);
} else { } else {
...@@ -164,7 +166,7 @@ public class UserService { ...@@ -164,7 +166,7 @@ public class UserService {
} }
return orgs; return orgs;
}).flatMap(a -> a.stream()).collect(Collectors.toList()); }).flatMap(a -> a.stream()).collect(Collectors.toList());
//userDTO.setAuths(allOrgs); // userDTO.setAuths(allOrgs);
} }
} }
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!