Commit abb505cc authored by zhouqian's avatar zhouqian

好多东西

parent c5b69cf5
...@@ -44,4 +44,5 @@ public interface Constants { ...@@ -44,4 +44,5 @@ public interface Constants {
long JR58 = 175; // 58金融 long JR58 = 175; // 58金融
String LKB_CODE = "0002"; // 量化派channnel_code String LKB_CODE = "0002"; // 量化派channnel_code
} }
} }
package cn.quantgroup.xyqb.config.data; package cn.quantgroup.xyqb.config.data;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
...@@ -126,6 +127,7 @@ public class RedisConfig { ...@@ -126,6 +127,7 @@ public class RedisConfig {
template.setValueSerializer(jdkSerializationRedisSerializer); template.setValueSerializer(jdkSerializationRedisSerializer);
template.setDefaultSerializer(jdkSerializationRedisSerializer); template.setDefaultSerializer(jdkSerializationRedisSerializer);
template.setConnectionFactory(factory); template.setConnectionFactory(factory);
XyqbSessionContextHolder.redisTemplate = template;
return template; return template;
} }
......
package cn.quantgroup.xyqb.controller; package cn.quantgroup.xyqb.controller;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.util.ApplicationContextHolder;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
...@@ -17,9 +20,16 @@ public interface IBaseController { ...@@ -17,9 +20,16 @@ public interface IBaseController {
return null; return null;
} }
default SessionStruct getSessionStruct() {
String token = StringUtils.defaultString(getRequest().getHeader("x-auth-token"), "");
ApplicationContextHolder.getBean("stringRedisTemplate");
}
default HttpSession getSession() { default HttpSession getSession() {
HttpSession session = null; HttpSession session = null;
try { try {
HttpServletRequest request;
request.getRequestedSessionId()
session = getRequest().getSession(); session = getRequest().getSession();
} catch (Exception e) { } catch (Exception e) {
e.getStackTrace(); e.getStackTrace();
...@@ -65,7 +75,7 @@ public interface IBaseController { ...@@ -65,7 +75,7 @@ public interface IBaseController {
default HttpServletRequest getRequest() { default HttpServletRequest getRequest() {
ServletRequestAttributes attrs = (ServletRequestAttributes) RequestContextHolder ServletRequestAttributes attrs = (ServletRequestAttributes) RequestContextHolder
.getRequestAttributes(); .getRequestAttributes().setAttribute();
return attrs.getRequest(); return attrs.getRequest();
} }
......
...@@ -10,6 +10,7 @@ import java.io.Serializable; ...@@ -10,6 +10,7 @@ import java.io.Serializable;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
public class SessionStruct implements Serializable { public class SessionStruct implements Serializable {
private static final long serialVersionUID = -1L;
private String sid; private String sid;
private SessionValue values; private SessionValue values;
......
package cn.quantgroup.xyqb.session;
import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.util.ApplicationContextHolder;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* Created by Miraculous on 2016/12/29.
*/
public class XyqbSessionContextHolder {
private static final ThreadLocal<SessionStruct> threadSession = new ThreadLocal<>();
public static volatile RedisTemplate<String, String> redisTemplate = null;
public static SessionStruct getSession() {
if (threadSession.get() != null) {
return threadSession.get();
}
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("x-auth-token");
if (token == null || token.length() != 36) {
return null;
}
redisTemplate.opsForValue().get(Constants.Session)
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment