Commit abb505cc authored by zhouqian's avatar zhouqian

好多东西

parent c5b69cf5
......@@ -44,4 +44,5 @@ public interface Constants {
long JR58 = 175; // 58金融
String LKB_CODE = "0002"; // 量化派channnel_code
}
}
package cn.quantgroup.xyqb.config.data;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.CacheManager;
......@@ -126,6 +127,7 @@ public class RedisConfig {
template.setValueSerializer(jdkSerializationRedisSerializer);
template.setDefaultSerializer(jdkSerializationRedisSerializer);
template.setConnectionFactory(factory);
XyqbSessionContextHolder.redisTemplate = template;
return template;
}
......
package cn.quantgroup.xyqb.controller;
import cn.quantgroup.xyqb.Constants;
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.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
......@@ -17,9 +20,16 @@ public interface IBaseController {
return null;
}
default SessionStruct getSessionStruct() {
String token = StringUtils.defaultString(getRequest().getHeader("x-auth-token"), "");
ApplicationContextHolder.getBean("stringRedisTemplate");
}
default HttpSession getSession() {
HttpSession session = null;
try {
HttpServletRequest request;
request.getRequestedSessionId()
session = getRequest().getSession();
} catch (Exception e) {
e.getStackTrace();
......@@ -65,7 +75,7 @@ public interface IBaseController {
default HttpServletRequest getRequest() {
ServletRequestAttributes attrs = (ServletRequestAttributes) RequestContextHolder
.getRequestAttributes();
.getRequestAttributes().setAttribute();
return attrs.getRequest();
}
......
......@@ -10,6 +10,7 @@ import java.io.Serializable;
@Data
@NoArgsConstructor
public class SessionStruct implements Serializable {
private static final long serialVersionUID = -1L;
private String sid;
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