|
@ -1,37 +0,0 @@
|
|
|
package com.yihu.jw.base.aop;
|
|
|
|
|
|
import org.aspectj.lang.ProceedingJoinPoint;
|
|
|
import org.aspectj.lang.annotation.Around;
|
|
|
import org.aspectj.lang.annotation.Aspect;
|
|
|
import org.aspectj.lang.reflect.MethodSignature;
|
|
|
import org.springframework.core.annotation.Order;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
import java.lang.reflect.Method;
|
|
|
|
|
|
/**
|
|
|
* Created by wsy on 2021/9/7.
|
|
|
*/
|
|
|
@Order(5)
|
|
|
@Aspect
|
|
|
@Component
|
|
|
public class ClientSearchRequestAspect {
|
|
|
|
|
|
private static final String REQ_LIMIT = "req_limit";
|
|
|
public static int RESPONSE_STATUS_CODE = 1000;
|
|
|
@Around("execution(* com.yihu.jw.base.endpoint.searchClient.ClientSearchEndpoint.saveBaseSearchNoveltyRepeat(..))"
|
|
|
+"&& @annotation(com.yihu.jw.base.aop.ClientSearchRequestLimit)")
|
|
|
public Object method(ProceedingJoinPoint pjp) throws Throwable{
|
|
|
MethodSignature signature = (MethodSignature) pjp.getSignature();
|
|
|
Method method = signature.getMethod();//获取被拦截的方法
|
|
|
ClientSearchRequestLimit limit = method.getAnnotation(ClientSearchRequestLimit.class);
|
|
|
if ( limit == null ){
|
|
|
return pjp.proceed();
|
|
|
}
|
|
|
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
|
|
return requestAttributes;
|
|
|
}
|
|
|
|
|
|
}
|