Jelajahi Sumber

临时提交

huangzhiyong 6 tahun lalu
induk
melakukan
939ed809a5

+ 34 - 0
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/config/WebMvcConfigurer.java

@ -0,0 +1,34 @@
package com.yihu.jw.healthyhouse.config;
import com.yihu.jw.healthyhouse.interceptor.ActivatedInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import java.util.List;
/**
 * @author HZY
 * @created 2018/10/9 9:24
 */
//@Configuration
public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
//    @Override
//    public void addInterceptors(InterceptorRegistry registry) {
//        // 拦截所有请求,通过判断是否有 @LoginRequired 注解 决定是否需要登录
//        registry.addInterceptor(authenticationInterceptor()).addPathPatterns("/**");
//        super.addInterceptors(registry);
//    }
    @Bean
    public ActivatedInterceptor authenticationInterceptor() {
        return new ActivatedInterceptor();
    }
}

+ 2 - 2
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/user/UserController.java

@ -173,7 +173,7 @@ public class UserController extends EnvelopRestEndpoint {
        try {
            User user = userService.findByTelephoneAndUserType(newPhone, LoginInfo.USER_TYPE_PATIENT);
            if (user == null) {
            if (user != null) {
                return failed("手机号:" + newPhone + "已被绑定,可更换新手机号或直接登录!");
            }
            //验证码
@ -198,7 +198,7 @@ public class UserController extends EnvelopRestEndpoint {
        try {
            User user = userService.findByTelephoneAndUserType(newPhone, LoginInfo.USER_TYPE_SUPER_AdminManager);
            if (user == null) {
            if (user != null) {
                return failed("手机号:" + newPhone + "已被绑定,可更换新手机号或直接登录!");
            }
            //验证码

+ 60 - 0
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/interceptor/ActivatedInterceptor.java

@ -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;
    }
}