提交 cf4e5280 authored 作者: zhoushaopan's avatar zhoushaopan

feat(根据ticket获取token的接口): 新增接口

新增提供根据token获取当前人员信息
上级 feb6da22
...@@ -65,6 +65,18 @@ ...@@ -65,6 +65,18 @@
<artifactId>dom4j</artifactId> <artifactId>dom4j</artifactId>
<version>1.5</version> <version>1.5</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package com.tykj.zlbapp.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author zsp
* @version 1.0
* @date 2022/9/2 13:58
*/
@Slf4j
@Component
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("MyInterceptor1 -> preHandle执行了");
//true表示继续执行
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("MyInterceptor1 -> postHandle 执行了");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("MyInterceptor1 -> afterCompletion 执行了");
}
}
package com.tykj.zlbapp.config; package com.tykj.zlbapp.config;
import com.sun.imageio.plugins.common.ImageUtil;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import sun.font.FontDesignMetrics;
import java.awt.*;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/** /**
* @author zsp * @author zsp
...@@ -26,7 +36,44 @@ public class WebMvcConfig { ...@@ -26,7 +36,44 @@ public class WebMvcConfig {
.allowedMethods("GET", "POST", "DELETE", "PUT", "PATCH") .allowedMethods("GET", "POST", "DELETE", "PUT", "PATCH")
.maxAge(3600); .maxAge(3600);
} }
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor())
// /**代表拦截所有路径
.addPathPatterns("/**")
// 忽略的路径
.excludePathPatterns("/zlbAppUser/test2");
// .addPathPatterns("/zlbAppUser/test2");
}
}; };
}
public static String ascii2native(String ascii){
List<String> ascii_s = new ArrayList<String>();
String zhengz= "\\\\u[0-9,a-f,A-F]{4}";
Pattern p = Pattern.compile(zhengz);
Matcher m=p.matcher(ascii);
while (m.find()){
ascii_s.add(m.group());
}
System.out.println(ascii_s);
for (int i = 0, j = 2; i < ascii_s.size(); i++) {
String code = ascii_s.get(i).substring(j, j + 4);
char ch = (char) Integer.parseInt(code, 16);
ascii = ascii.replace(ascii_s.get(i),String.valueOf(ch));
}
return ascii;
}
} }
} }
package com.tykj.zlbapp.subject.controller; package com.tykj.zlbapp.subject.controller;
import com.tykj.zlbapp.demo.Limit;
import com.tykj.zlbapp.subject.service.ZlbAppAuthService; import com.tykj.zlbapp.subject.service.ZlbAppAuthService;
import com.tykj.zlbapp.subject.vo.TokenVO; import com.tykj.zlbapp.subject.vo.TokenVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -11,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -11,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.concurrent.TimeUnit;
/** /**
* @author zsp * @author zsp
...@@ -39,7 +41,7 @@ public class ZlbAppController { ...@@ -39,7 +41,7 @@ public class ZlbAppController {
//// //4. 缓存用户信息 //// //4. 缓存用户信息
//// session.setAttribute(USER_INFO_KEY, userInfo); //// session.setAttribute(USER_INFO_KEY, userInfo);
// log.info("session:{}",session); // log.info("session:{}",session);
return ResponseEntity.ok( zlbAppAuthService.getTokenByTicket(ticketId)); return ResponseEntity.ok(zlbAppAuthService.getTokenByTicket(ticketId));
} }
@GetMapping("/getAppUserInfoByToken") @GetMapping("/getAppUserInfoByToken")
...@@ -49,4 +51,13 @@ public class ZlbAppController { ...@@ -49,4 +51,13 @@ public class ZlbAppController {
return ResponseEntity.ok(zlbAppAuthService.getUserInfoByToken(token)); return ResponseEntity.ok(zlbAppAuthService.getUserInfoByToken(token));
} }
@GetMapping("/test2")
@ApiOperation(value = "测试熔断", notes = "测试熔断")
@Limit(key = "limit2", permitsPerSecond = 1, timeout = 500, timeunit = TimeUnit.MILLISECONDS,msg = "当前排队人数较多,请稍后再试!")
public String limit2() {
log.info("令牌桶limit2获取令牌成功");
return "ok";
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论