Commit ed1d00ea authored by yanzg's avatar yanzg

修改公式和计算帮助类

parent 98504df5
......@@ -9,14 +9,21 @@ import com.yanzuoguang.util.log.Log;
import com.yanzuoguang.util.vo.LogVo;
import com.yanzuoguang.util.vo.ResponseResult;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.amqp.core.Message;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.nio.channels.Channel;
import java.util.ArrayList;
import java.util.List;
......@@ -259,8 +266,84 @@ public class BaseRequestAspect {
* @return
*/
protected String getMethodUrl(ProceedingJoinPoint joinPoint) {
String name = joinPoint.getSignature().getName();
return name;
String url = StringHelper.EMPTY;
Signature signature = joinPoint.getSignature();
Class declaringType = signature.getDeclaringType();
String name = signature.getName();
FeignClient feignClient = (FeignClient) declaringType.getAnnotation(FeignClient.class);
if (feignClient != null && signature instanceof MethodSignature) {
MethodSignature methodSignature = (MethodSignature) signature;
Method targetMethod = methodSignature.getMethod();
// 类路径
RequestMapping[] classRequests = (RequestMapping[]) declaringType.getAnnotationsByType(RequestMapping.class);
PostMapping[] classPosts = (PostMapping[]) declaringType.getAnnotationsByType(PostMapping.class);
GetMapping[] classGets = (GetMapping[]) declaringType.getAnnotationsByType(GetMapping.class);
// 方法路径
RequestMapping[] requests = targetMethod.getAnnotationsByType(RequestMapping.class);
PostMapping[] posts = targetMethod.getAnnotationsByType(PostMapping.class);
GetMapping[] gets = targetMethod.getAnnotationsByType(GetMapping.class);
url = getFeignUrl(feignClient, classRequests, classPosts, classGets, requests, posts, gets);
}
if (StringHelper.isEmpty(url)) {
url = String.format("%s.%s", declaringType.getSimpleName(), name);
}
return url;
}
/**
* 获取feign请求地址
*
* @param feignClient
* @param classRequests
* @param classPosts
* @param classGets
* @param requests
* @param posts
* @param gets
* @return
*/
private String getFeignUrl(FeignClient feignClient,
RequestMapping[] classRequests, PostMapping[] classPosts, GetMapping[] classGets,
RequestMapping[] requests, PostMapping[] posts, GetMapping[] gets) {
StringBuilder sb = new StringBuilder();
sb.append(feignClient.value());
if (classRequests != null) {
for (RequestMapping item : classRequests) {
sb.append(item.value()[0]);
}
}
if (classPosts != null) {
for (PostMapping item : classPosts) {
sb.append(item.value()[0]);
}
}
if (classGets != null) {
for (GetMapping item : classGets) {
sb.append(item.value()[0]);
}
}
if (requests != null) {
for (RequestMapping item : requests) {
sb.append(item.value()[0]);
}
}
if (posts != null) {
for (PostMapping item : posts) {
sb.append(item.value()[0]);
}
}
if (gets != null) {
for (GetMapping item : gets) {
sb.append(item.value()[0]);
}
}
return sb.toString();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment