|  | @ -0,0 +1,60 @@
 | 
												
													
														
															|  | 
 |  | package com.yihu.jw.healthyhouse.interceptor;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | import com.yihu.jw.healthyhouse.service.user.UserService;
 | 
												
													
														
															|  | 
 |  | import org.aspectj.lang.JoinPoint;
 | 
												
													
														
															|  | 
 |  | import org.aspectj.lang.annotation.Aspect;
 | 
												
													
														
															|  | 
 |  | import org.aspectj.lang.annotation.Before;
 | 
												
													
														
															|  | 
 |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
												
													
														
															|  | 
 |  | import org.springframework.web.method.HandlerMethod;
 | 
												
													
														
															|  | 
 |  | import org.springframework.web.servlet.HandlerInterceptor;
 | 
												
													
														
															|  | 
 |  | import org.springframework.web.servlet.ModelAndView;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | import javax.servlet.http.HttpServletRequest;
 | 
												
													
														
															|  | 
 |  | import javax.servlet.http.HttpServletResponse;
 | 
												
													
														
															|  | 
 |  | import java.lang.reflect.Field;
 | 
												
													
														
															|  | 
 |  | import java.lang.reflect.Method;
 | 
												
													
														
															|  | 
 |  | import java.util.HashMap;
 | 
												
													
														
															|  | 
 |  | import java.util.Map;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | /**
 | 
												
													
														
															|  | 
 |  |  *  用户激活状态验证拦截器
 | 
												
													
														
															|  | 
 |  |  * @author HZY
 | 
												
													
														
															|  | 
 |  |  * @created 2018/10/9 9:19
 | 
												
													
														
															|  | 
 |  |  */
 | 
												
													
														
															|  | 
 |  | @Aspect
 | 
												
													
														
															|  | 
 |  | public class ActivatedInterceptor  {
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     @Autowired
 | 
												
													
														
															|  | 
 |  |     private UserService userService;
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     @Before("execution(com.yihu.jw.healthyhouse.controller)")// 拦截被TestAnnotation注解的方法;如果你需要拦截指定package指定规则名称的方法,可以使用表达式execution(...),具体百度一下资料一大堆
 | 
												
													
														
															|  | 
 |  |     public void beforeTest(JoinPoint point) throws Throwable {
 | 
												
													
														
															|  | 
 |  |         System.out.println("beforeTest:" + point.getArgs());
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     public static Map<String, Object> getKeyAndValue(Object obj) {
 | 
												
													
														
															|  | 
 |  |         Map<String, Object> map = new HashMap<>();
 | 
												
													
														
															|  | 
 |  |         // 得到类对象
 | 
												
													
														
															|  | 
 |  |         Class userCla = (Class) obj.getClass();
 | 
												
													
														
															|  | 
 |  |  /* 得到类中的所有属性集合 */
 | 
												
													
														
															|  | 
 |  |         Field[] fs = userCla.getDeclaredFields();
 | 
												
													
														
															|  | 
 |  |         for (int i = 0; i < fs.length; i++) {
 | 
												
													
														
															|  | 
 |  |             Field f = fs[i];
 | 
												
													
														
															|  | 
 |  |             f.setAccessible(true); // 设置些属性是可以访问的
 | 
												
													
														
															|  | 
 |  |             Object val = new Object();
 | 
												
													
														
															|  | 
 |  |             try {
 | 
												
													
														
															|  | 
 |  |                 val = f.get(obj);
 | 
												
													
														
															|  | 
 |  |                 map.put(f.getName(), val);// 设置键
 | 
												
													
														
															|  | 
 |  |             } catch (IllegalAccessException e) {
 | 
												
													
														
															|  | 
 |  |                 e.printStackTrace();
 | 
												
													
														
															|  | 
 |  |             }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         return map;
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | }
 |