直接上代码
AOP切面
@Component
@Aspect
public class DefaultConvertAOP {
private List<String> exclude = new ArrayList<>(Arrays.asList("void"));
@Pointcut("execution(* org.muyuan.slaughter.workshop.convertApi.service..*(..))")
public void convert(){
}
@Around("convert()")
public Object convert(ProceedingJoinPoint point) throws Throwable {
MethodSignature methodSignature = (MethodSignature) point.getSignature();
Method method = methodSignature.getMethod();
Class<?> returnType = method.getReturnType();
Object result = point.proceed();
String returnTypeName = returnType.getName();
if(exclude.contains(returnTypeName)) return result;
if(returnTypeName.contains("org.muyuan.slaughter.workshop.convertApi.vo")){
Class<?> clz = result.getClass();
Field[] fields = cl