package com.ltkj.framework.config; import com.alibaba.fastjson.JSON; import com.google.gson.Gson; import com.ltkj.common.db.DataSourceContextHolder; import com.ltkj.hosp.domain.Wxuser; import org.springframework.core.annotation.Order; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @Order(1) public class DBChangeInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { String token = request.getHeader("token"); boolean verifyToken = JwtUtils.verifyToken(token); if (!verifyToken) { response.setStatus(401); return false; } Wxuser wxuser = new Gson().fromJson(JSON.toJSONString(JwtUtils.getClaims(token).get("wxuser")),Wxuser.class); UserHoder.set(wxuser); return true; } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { DataSourceContextHolder.setDataSourceKey("default"); HandlerInterceptor.super.afterCompletion(request, response, handler, ex); } }