lzy 2 тижнів тому
батько
коміт
609d1cd824

+ 208 - 208
src/main/java/com/futu/course/common/config/IntercepterConfig.java

@@ -1,217 +1,217 @@
-//package com.futu.course.common.config;
-//
-//import com.fasterxml.jackson.annotation.JsonInclude;
-//import com.fasterxml.jackson.core.JsonGenerator;
-//import com.fasterxml.jackson.core.JsonParser;
-//import com.fasterxml.jackson.databind.DeserializationFeature;
-//import com.fasterxml.jackson.databind.JsonSerializer;
-//import com.fasterxml.jackson.databind.ObjectMapper;
-//import com.fasterxml.jackson.databind.SerializerProvider;
-//
-//import com.futu.course.common.handle.CurrentUserHandler;
-//import com.futu.course.common.intercepter.AuthIntercepter;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//import org.springframework.context.annotation.Primary;
-//import org.springframework.data.redis.core.RedisTemplate;
-//import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
-//import org.springframework.web.filter.HttpPutFormContentFilter;
-//import org.springframework.web.method.support.HandlerMethodArgumentResolver;
-//import org.springframework.web.servlet.config.annotation.CorsRegistry;
-//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-//import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-//import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
-//
-//import java.io.IOException;
-//import java.util.List;
-//
-//@Configuration
-//@Slf4j
-////@EnableWebMvc
-//public class IntercepterConfig extends WebMvcConfigurationSupport {
-//
-//    @Override
-//    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
-//        log.info("IntercepterConfig--------------------");
-//        resolvers.add(new CurrentUserHandler());
-//    }
-//    @Autowired
-//    AuthIntercepter authIntercepter;
-//    @Autowired
-//    protected RedisTemplate redisTemplate;
-//
-//    @Override
-//    public void addInterceptors(InterceptorRegistry registry) {
-//        // 拦截所有请求,通过判断是否有 @LoginRequired 注解 决定是否需要登录
-//        registry.addInterceptor(authenticationInterceptor()).excludePathPatterns("**.html").excludePathPatterns("**.txt")
-//                .excludePathPatterns("/webjars/**")
-//                .excludePathPatterns("/api/goods-detail")
-//                .excludePathPatterns("/api/home")
-//                .excludePathPatterns("/api/cate")
-//                .excludePathPatterns("/api/goods")
-//                .excludePathPatterns("/api/boss/home")
-//                .excludePathPatterns("/api/boss/team-detail")
-//                .excludePathPatterns("/api/boss/home-detail")
-//                .excludePathPatterns("/api/boss/supplier")
-//                .excludePathPatterns("/api/boss/lottery")
-//                .excludePathPatterns("/api/boss/lottery-detail")
-//                .excludePathPatterns("/api/team-buy")
-//                .excludePathPatterns("/api/cart")
-//                .excludePathPatterns("/api/order")
-//                .excludePathPatterns("/api/keywords")
-//                .excludePathPatterns("/api/share-detail")
-//                .excludePathPatterns("/dashboard/list")
-//                .excludePathPatterns("/swagger-ui.html")
-//                .excludePathPatterns("/swagger-resources/**").excludePathPatterns("/error").addPathPatterns("/**");
-//        super.addInterceptors(registry);
-//    }
-//
-//
-//    @Override
-//    public void addResourceHandlers(ResourceHandlerRegistry registry) {
-//        super.addResourceHandlers(registry);
-//        registry.addResourceHandler("/**")
-//                .addResourceLocations("classpath:/static/")
-//                .addResourceLocations("classpath:/templates/")
-//                .addResourceLocations("classpath:/resources/");
-////        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
-////        registry.addResourceHandler("swagger-ui.html")
-////                .addResourceLocations("classpath:/resources/");
-////        registry.addResourceHandler("resources/**.html")
-////                .addResourceLocations("classpath:/META-INF/resources/");
-////
-////        registry.addResourceHandler("doc.html")
-////                .addResourceLocations("classpath:resources/");
-////
-////        registry.addResourceHandler("/webjars/**")
-////                .addResourceLocations("classpath:resources/webjars/");
+package com.futu.course.common.config;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+import com.futu.course.common.handle.CurrentUserHandler;
+import com.futu.course.common.intercepter.AuthIntercepter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
+import org.springframework.web.filter.HttpPutFormContentFilter;
+import org.springframework.web.method.support.HandlerMethodArgumentResolver;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+
+import java.io.IOException;
+import java.util.List;
+
+@Configuration
+@Slf4j
+//@EnableWebMvc
+public class IntercepterConfig extends WebMvcConfigurationSupport {
+
+    @Override
+    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
+        log.info("IntercepterConfig--------------------");
+        resolvers.add(new CurrentUserHandler());
+    }
+    @Autowired
+    AuthIntercepter authIntercepter;
+    @Autowired
+    protected RedisTemplate redisTemplate;
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        // 拦截所有请求,通过判断是否有 @LoginRequired 注解 决定是否需要登录
+        registry.addInterceptor(authenticationInterceptor()).excludePathPatterns("**.html").excludePathPatterns("**.txt")
+                .excludePathPatterns("/webjars/**")
+                .excludePathPatterns("/api/goods-detail")
+                .excludePathPatterns("/api/home")
+                .excludePathPatterns("/api/cate")
+                .excludePathPatterns("/api/goods")
+                .excludePathPatterns("/api/boss/home")
+                .excludePathPatterns("/api/boss/team-detail")
+                .excludePathPatterns("/api/boss/home-detail")
+                .excludePathPatterns("/api/boss/supplier")
+                .excludePathPatterns("/api/boss/lottery")
+                .excludePathPatterns("/api/boss/lottery-detail")
+                .excludePathPatterns("/api/team-buy")
+                .excludePathPatterns("/api/cart")
+                .excludePathPatterns("/api/order")
+                .excludePathPatterns("/api/keywords")
+                .excludePathPatterns("/api/share-detail")
+                .excludePathPatterns("/dashboard/list")
+                .excludePathPatterns("/swagger-ui.html")
+                .excludePathPatterns("/swagger-resources/**").excludePathPatterns("/error").addPathPatterns("/**");
+        super.addInterceptors(registry);
+    }
+
+
+    @Override
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        super.addResourceHandlers(registry);
+        registry.addResourceHandler("/**")
+                .addResourceLocations("classpath:/static/")
+                .addResourceLocations("classpath:/templates/")
+                .addResourceLocations("classpath:/resources/");
+//        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
 //        registry.addResourceHandler("swagger-ui.html")
-//                .addResourceLocations("classpath:/META-INF/resources/");
-//        registry.addResourceHandler("/webjars/**")
-//                .addResourceLocations("classpath:/META-INF/resources/webjars/");
-//        registry.addResourceHandler("SFLMPwcUTv.txt")
 //                .addResourceLocations("classpath:/resources/");
+//        registry.addResourceHandler("resources/**.html")
+//                .addResourceLocations("classpath:/META-INF/resources/");
 //
-//    }
-//    @Override
-//    public void addCorsMappings(CorsRegistry registry) {
-//        super.addCorsMappings(registry);
-//        registry
-//                .addMapping("/**")
-//                .allowedHeaders("*")
-//                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
-//                .allowedOrigins("*");
-//    }
+//        registry.addResourceHandler("doc.html")
+//                .addResourceLocations("classpath:resources/");
 //
+//        registry.addResourceHandler("/webjars/**")
+//                .addResourceLocations("classpath:resources/webjars/");
+        registry.addResourceHandler("swagger-ui.html")
+                .addResourceLocations("classpath:/META-INF/resources/");
+        registry.addResourceHandler("/webjars/**")
+                .addResourceLocations("classpath:/META-INF/resources/webjars/");
+        registry.addResourceHandler("SFLMPwcUTv.txt")
+                .addResourceLocations("classpath:/resources/");
+
+    }
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        super.addCorsMappings(registry);
+        registry
+                .addMapping("/**")
+                .allowedHeaders("*")
+                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
+                .allowedOrigins("*");
+    }
+
+    @Bean
+    public AuthIntercepter authenticationInterceptor() {
+        return new AuthIntercepter(redisTemplate);
+    }
+
 //    @Bean
-//    public AuthIntercepter authenticationInterceptor() {
-//        return new AuthIntercepter(redisTemplate);
+//    public CurrentUserMethodArgumentResolver currentUserMethodArgumentResolver() {
+//        return new CurrentUserMethodArgumentResolver();
 //    }
-//
-////    @Bean
-////    public CurrentUserMethodArgumentResolver currentUserMethodArgumentResolver() {
-////        return new CurrentUserMethodArgumentResolver();
+//    @Override
+////    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
+////        argumentResolvers.add(currentUserMethodArgumentResolver());
+////        super.addArgumentResolvers(argumentResolvers);
 ////    }
-////    @Override
-//////    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
-//////        argumentResolvers.add(currentUserMethodArgumentResolver());
-//////        super.addArgumentResolvers(argumentResolvers);
-//////    }
-//
-//    /**
-//     * @Description 解决使用put请求   服务器接收不到参数
-//     * @author DengKaiTao
-//     * @date 2018/12/4 16:35
-//     * @return org.springframework.web.filter.HttpPutFormContentFilter
-//     * @version v1.0
-//     **/
-//    @Bean
-//    public HttpPutFormContentFilter httpPutFormContentFilter() {
-//        return new HttpPutFormContentFilter();
-//    }
-//
-////    @Override
-////    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
+
+    /**
+     * @Description 解决使用put请求   服务器接收不到参数
+     * @author DengKaiTao
+     * @date 2018/12/4 16:35
+     * @return org.springframework.web.filter.HttpPutFormContentFilter
+     * @version v1.0
+     **/
+    @Bean
+    public HttpPutFormContentFilter httpPutFormContentFilter() {
+        return new HttpPutFormContentFilter();
+    }
+
+//    @Override
+//    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
+//
+////        FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
+////        FastJsonConfig config = new FastJsonConfig();
+////        config.setSerializerFeatures(
+////                //保留map空的字段
+////                SerializerFeature.WriteMapNullValue,
+////                // 将String类型的NULL转化为""
+////                SerializerFeature.WriteNullStringAsEmpty,
+////                // 将Number类型的NULL转化为0
+////                SerializerFeature.WriteNullNumberAsZero,
+////                // 将List类型的NULL转成[]
+////                SerializerFeature.WriteNullListAsEmpty,
+////                // 将Boolean类型的NULL转化为false
+////                SerializerFeature.WriteNullBooleanAsFalse,
+////                SerializerFeature.PrettyFormat,
+////                // 避免循环引用
+////                SerializerFeature.DisableCircularReferenceDetect);
 ////
-//////        FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
-//////        FastJsonConfig config = new FastJsonConfig();
-//////        config.setSerializerFeatures(
-//////                //保留map空的字段
-//////                SerializerFeature.WriteMapNullValue,
-//////                // 将String类型的NULL转化为""
-//////                SerializerFeature.WriteNullStringAsEmpty,
-//////                // 将Number类型的NULL转化为0
-//////                SerializerFeature.WriteNullNumberAsZero,
-//////                // 将List类型的NULL转成[]
-//////                SerializerFeature.WriteNullListAsEmpty,
-//////                // 将Boolean类型的NULL转化为false
-//////                SerializerFeature.WriteNullBooleanAsFalse,
-//////                SerializerFeature.PrettyFormat,
-//////                // 避免循环引用
-//////                SerializerFeature.DisableCircularReferenceDetect);
-//////
-//////        converter.setFastJsonConfig(config);
-//////        converter.setDefaultCharset(Charset.forName("UTF-8"));
-//////
-//////        List<MediaType> mediaTypeList = new ArrayList<>();
-//////        // 解决中文乱码问题,相当于在Controller上的@RequestMapping中加了个属性produces = "application/json"
-//////        mediaTypeList.add(MediaType.APPLICATION_JSON);
-//////        converter.setSupportedMediaTypes(mediaTypeList);
-//////        converters.add(converter);
-////        //定义Json转换器
-////        MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
-////        ObjectMapper objectMapper = new ObjectMapper();
-////        //定义对象模型
-////        SimpleModule simpleModule = new SimpleModule();
-////        //添加对长整型的转换关系
-////        simpleModule.addSerializer(BigInteger.class, ToStringSerializer.instance);
-//////        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
-//////        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
-//////        simpleModule.addSerializer(Date.class,ToStringSerializer.instance);
-////        //将对象模型添加至对象映射器
-////        objectMapper.registerModule(simpleModule);
-////        jackson2HttpMessageConverter.setObjectMapper(objectMapper);
-////        //在转换器列表中添加自定义的Json转换器
-////        converters.add(jackson2HttpMessageConverter);
-////        //添加utf-8的默认String转换器
-////        converters.add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
-////    }
-//
-//    @Bean
-//    @Primary
-//    @ConditionalOnMissingBean(ObjectMapper.class)
-//    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder)
-//    {
-//        ObjectMapper objectMapper = builder.createXmlMapper(false).build();
-//
-//        // 通过该方法对mapper对象进行设置,所有序列化的对象都将按改规则进行系列化
-//        // Include.Include.ALWAYS 默认
-//        // Include.NON_DEFAULT 属性为默认值不序列化
-//        // Include.NON_EMPTY 属性为 空("") 或者为 NULL 都不序列化,则返回的json是没有这个字段的。这样对移动端会更省流量
-//        // Include.NON_NULL 属性为NULL 不序列化
-//        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
-//        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-//        // 允许出现特殊字符和转义符
-//        objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
-//        // 允许出现单引号
-//        objectMapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
-//        // 字段保留,将null值转为""
-//        objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>()
-//        {
-//            @Override
-//            public void serialize(Object o, JsonGenerator jsonGenerator,
-//                                  SerializerProvider serializerProvider)
-//                    throws IOException
-//            {
-//                jsonGenerator.writeString("");
-//            }
-//        });
-//        return objectMapper;
+////        converter.setFastJsonConfig(config);
+////        converter.setDefaultCharset(Charset.forName("UTF-8"));
+////
+////        List<MediaType> mediaTypeList = new ArrayList<>();
+////        // 解决中文乱码问题,相当于在Controller上的@RequestMapping中加了个属性produces = "application/json"
+////        mediaTypeList.add(MediaType.APPLICATION_JSON);
+////        converter.setSupportedMediaTypes(mediaTypeList);
+////        converters.add(converter);
+//        //定义Json转换器
+//        MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
+//        ObjectMapper objectMapper = new ObjectMapper();
+//        //定义对象模型
+//        SimpleModule simpleModule = new SimpleModule();
+//        //添加对长整型的转换关系
+//        simpleModule.addSerializer(BigInteger.class, ToStringSerializer.instance);
+////        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
+////        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
+////        simpleModule.addSerializer(Date.class,ToStringSerializer.instance);
+//        //将对象模型添加至对象映射器
+//        objectMapper.registerModule(simpleModule);
+//        jackson2HttpMessageConverter.setObjectMapper(objectMapper);
+//        //在转换器列表中添加自定义的Json转换器
+//        converters.add(jackson2HttpMessageConverter);
+//        //添加utf-8的默认String转换器
+//        converters.add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
 //    }
-//
-//
-//
-//}
+
+    @Bean
+    @Primary
+    @ConditionalOnMissingBean(ObjectMapper.class)
+    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder)
+    {
+        ObjectMapper objectMapper = builder.createXmlMapper(false).build();
+
+        // 通过该方法对mapper对象进行设置,所有序列化的对象都将按改规则进行系列化
+        // Include.Include.ALWAYS 默认
+        // Include.NON_DEFAULT 属性为默认值不序列化
+        // Include.NON_EMPTY 属性为 空("") 或者为 NULL 都不序列化,则返回的json是没有这个字段的。这样对移动端会更省流量
+        // Include.NON_NULL 属性为NULL 不序列化
+        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
+        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        // 允许出现特殊字符和转义符
+        objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
+        // 允许出现单引号
+        objectMapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
+        // 字段保留,将null值转为""
+        objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>()
+        {
+            @Override
+            public void serialize(Object o, JsonGenerator jsonGenerator,
+                                  SerializerProvider serializerProvider)
+                    throws IOException
+            {
+                jsonGenerator.writeString("");
+            }
+        });
+        return objectMapper;
+    }
+
+
+
+}

+ 107 - 107
src/main/java/com/futu/course/common/intercepter/AuthIntercepter.java

@@ -1,108 +1,108 @@
-//package com.futu.course.common.intercepter;
-//
-//
-//import com.alibaba.fastjson.JSON;
-//import com.alibaba.fastjson.JSONObject;
-//import com.futu.course.common.annotation.NonLoginRequired;
-//import com.futu.course.common.exception.RRException;
-//import com.futu.course.common.utils.RedisUtil;
-//import com.futu.course.common.utils.StringUtils;
-//import com.futu.course.common.utils.TokenUtils;
-//
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.data.redis.core.RedisTemplate;
-//import org.springframework.stereotype.Component;
-//import org.springframework.web.method.HandlerMethod;
-//import org.springframework.web.servlet.HandlerInterceptor;
-//
-//import javax.servlet.http.HttpServletRequest;
-//import javax.servlet.http.HttpServletResponse;
-//import java.lang.reflect.Method;
-//
-//@Component
-//@Slf4j
-//public class AuthIntercepter implements HandlerInterceptor {
-//
-//    @Autowired
-//    protected RedisTemplate redisTemplate;
-//
-//    @Autowired
-//    private RedisUtil redisUtil;
-//
-//    public final static String ACCESSTOKEN = "token";
-//
-//    public AuthIntercepter() {
-//
-//    }
-//
-//    public AuthIntercepter(RedisTemplate redisTemplate) {
-//        this.redisTemplate = redisTemplate;
-//    }
-//
-//    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
-//            throws Exception {
-//        //System.out.println("preHandle");
-//        String deviceId = request.getHeader("deviceId");
-//        String token = request.getHeader(ACCESSTOKEN);
-////        String time = request.getHeader("time");
-//        log.info(request.getRequestURI());
-//        //log.info("deviceId={},token={},time={}",deviceId,token,time);
-//        try {
-//
-//            if (!(handler instanceof HandlerMethod)) {
-//                return true;
+package com.futu.course.common.intercepter;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.futu.course.common.annotation.NonLoginRequired;
+import com.futu.course.common.exception.RRException;
+import com.futu.course.common.utils.RedisUtil;
+import com.futu.course.common.utils.StringUtils;
+import com.futu.course.common.utils.TokenUtils;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.lang.reflect.Method;
+
+@Component
+@Slf4j
+public class AuthIntercepter implements HandlerInterceptor {
+
+    @Autowired
+    protected RedisTemplate redisTemplate;
+
+    @Autowired
+    private RedisUtil redisUtil;
+
+    public final static String ACCESSTOKEN = "token";
+
+    public AuthIntercepter() {
+
+    }
+
+    public AuthIntercepter(RedisTemplate redisTemplate) {
+        this.redisTemplate = redisTemplate;
+    }
+
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
+            throws Exception {
+        //System.out.println("preHandle");
+        String deviceId = request.getHeader("deviceId");
+        String token = request.getHeader(ACCESSTOKEN);
+//        String time = request.getHeader("time");
+        log.info(request.getRequestURI());
+        //log.info("deviceId={},token={},time={}",deviceId,token,time);
+        try {
+
+            if (!(handler instanceof HandlerMethod)) {
+                return true;
+            }
+
+            HandlerMethod handlerMethod = (HandlerMethod) handler;
+
+            Method method = handlerMethod.getMethod();
+
+            NonLoginRequired loginRequired = method.getAnnotation(NonLoginRequired.class);
+            //有@LoginRequired注解,需要认证
+            if (loginRequired != null) {
+
+                return true;
+            }
+
+            log.info("---interceptertoken");
+            log.info(token);
+            if (StringUtils.isEmpty(deviceId)) {
+
+                //response.getWriter().print("");
+                log.info("*********************》deviceId错误");
+                throw new RRException("deviceId错误", 102);
+                //return false;
+            }
+            if (StringUtils.isEmpty(token)) {
+                log.info("*********************》token为空");
+                throw new RRException("token错误,请重新登录", 101);
+            }
+//            if (StringUtils.isEmpty(time)) {
+//                throw new RRException("时间错误", 103);
 //            }
-//
-//            HandlerMethod handlerMethod = (HandlerMethod) handler;
-//
-//            Method method = handlerMethod.getMethod();
-//
-//            NonLoginRequired loginRequired = method.getAnnotation(NonLoginRequired.class);
-//            //有@LoginRequired注解,需要认证
-//            if (loginRequired != null) {
-//
-//                return true;
-//            }
-//
-//            log.info("---interceptertoken");
-//            log.info(token);
-//            if (StringUtils.isEmpty(deviceId)) {
-//
-//                //response.getWriter().print("");
-//                log.info("*********************》deviceId错误");
-//                throw new RRException("deviceId错误", 102);
-//                //return false;
-//            }
-//            if (StringUtils.isEmpty(token)) {
-//                log.info("*********************》token为空");
-//                throw new RRException("token错误,请重新登录", 101);
-//            }
-////            if (StringUtils.isEmpty(time)) {
-////                throw new RRException("时间错误", 103);
-////            }
-//
-//            log.info("调用token**********************》");
-//            log.info(token);
-//            log.info("************************************》");
-//            Long userId = TokenUtils.getUserId(token);
-//            log.info("userId={}",userId);
-//            Object obj = redisTemplate.opsForValue().get(Long.toString(userId));
-//            if (obj == null) {
-//                log.info("************************用户token不存在");
-//                throw new RRException("token过期", 101);
-//            }
-//
-//
-//
-//        } catch (RRException e) {
-//            log.info("调用了异常通知" + e.getMessage());
-//
-//            throw e;
-//        }
-//
-//        return true;
-//    }
-//
-//
-//}
+
+            log.info("调用token**********************》");
+            log.info(token);
+            log.info("************************************》");
+            Long userId = TokenUtils.getUserId(token);
+            log.info("userId={}",userId);
+            Object obj = redisTemplate.opsForValue().get(Long.toString(userId));
+            if (obj == null) {
+                log.info("************************用户token不存在");
+                throw new RRException("token过期", 101);
+            }
+
+
+
+        } catch (RRException e) {
+            log.info("调用了异常通知" + e.getMessage());
+
+            throw e;
+        }
+
+        return true;
+    }
+
+
+}