|
|
|
@@ -1,8 +1,10 @@ |
|
|
|
package com.iformall.service.impl; |
|
|
|
|
|
|
|
import com.iformall.domain.po.base.BaseCUserEntity; |
|
|
|
import com.iformall.enums.EnumAppPlat; |
|
|
|
import com.iformall.mapper.WxCUserMapper; |
|
|
|
import com.iformall.service.CUserTokenService; |
|
|
|
import com.iformall.service.cuser.CUserServiceFactory; |
|
|
|
import com.iformall.utils.Constant; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
@@ -25,10 +27,13 @@ public class CUserTokenServiceImpl implements CUserTokenService { |
|
|
|
@Qualifier("baseCUserTokenRedisTemplate") |
|
|
|
RedisTemplate<String, BaseCUserEntity> baseCUserTokenRedisTemplate; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
CUserServiceFactory cuserFactory; |
|
|
|
|
|
|
|
@Override |
|
|
|
public BaseCUserEntity getByToken(String token) { |
|
|
|
|
|
|
|
BaseCUserEntity user = null; |
|
|
|
BaseCUserEntity baseUser = null; |
|
|
|
|
|
|
|
logger.info("获取用户信息start ..." + token); |
|
|
|
String key = Constant.tokenPrev + token; |
|
|
|
@@ -38,19 +43,19 @@ public class CUserTokenServiceImpl implements CUserTokenService { |
|
|
|
boolean hasKey = baseCUserTokenRedisTemplate.hasKey(key); |
|
|
|
if(hasKey) { |
|
|
|
// 从缓存获取用户信息 |
|
|
|
user = operations.get(key); |
|
|
|
baseUser = operations.get(key); |
|
|
|
logger.info("缓存中获取用户信息End-" + token); |
|
|
|
return user; |
|
|
|
return baseUser; |
|
|
|
} |
|
|
|
if(token.endsWith(Constant.TOKEN_WXC_END)){ |
|
|
|
user = wxCUserMapper.findByToken(token); |
|
|
|
baseUser = cuserFactory.getCUserService(EnumAppPlat.WX).getToken(token); |
|
|
|
} |
|
|
|
// 插入缓存 |
|
|
|
operations.set(key, user, 7, TimeUnit.DAYS); |
|
|
|
logger.info("DB中获取用户信息End-" + token); |
|
|
|
return user; |
|
|
|
if (null != baseUser) { |
|
|
|
operations.set(key, baseUser, 3600*24*3, TimeUnit.SECONDS); |
|
|
|
} |
|
|
|
//operations.set(key, user, 3600, TimeUnit.SECONDS); |
|
|
|
//logger.info("DB中获取用户信息End-" + token); |
|
|
|
return baseUser; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|