From 6e9c3733135fa96360c8c76e76b431efa5d7f52d Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Sat, 09 Jun 2018 11:28:32 +0800 Subject: [PATCH] test --- src/main/java/com/moral/common/aop/ControllerAOP.java | 35 +++++++++++++++++------------------ 1 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/moral/common/aop/ControllerAOP.java b/src/main/java/com/moral/common/aop/ControllerAOP.java index a30d404..1b6072d 100644 --- a/src/main/java/com/moral/common/aop/ControllerAOP.java +++ b/src/main/java/com/moral/common/aop/ControllerAOP.java @@ -13,6 +13,7 @@ import org.aspectj.lang.reflect.MethodSignature; import org.springframework.stereotype.Component; +import com.moral.common.bean.AppData; import com.moral.common.bean.ResultBean; import com.moral.common.exception.BusinessException; import com.moral.common.exception.ValidateException; @@ -51,29 +52,27 @@ Object target = pjp.getTarget(); Method currentMethod = target.getClass().getMethod(msig.getName(), msig.getParameterTypes()); Type type = currentMethod.getGenericReturnType(); - String message = ""; + String message = e.getMessage(); if (e instanceof BusinessException) { - message = e.getLocalizedMessage(); } else if (e instanceof ValidateException) { - message = e.getLocalizedMessage(); } else { - log.error(pjp.getSignature() + " error ", e); - message = e.toString(); + log.error(pjp.getSignature() + " error: " + e.toString(), e); } - if (type instanceof ParameterizedType) { - Type rawType = ((ParameterizedType) type).getRawType(); - if (rawType == ResultBean.class) { - ResultBean<?> resultBean = new ResultBean(ResultBean.FAIL); - resultBean.setMessage(message); - return resultBean; - } else if (rawType == Map.class) { - Map<String, Object> result = new HashMap<String, Object>(); - result.put("msg",message); - return result; - } + type = ((ParameterizedType) type).getRawType(); } - return null; - + if (type == AppData.class) { + return new AppData(message, AppData.FAIL); + } else if (type == ResultBean.class) { + return new ResultBean(e); + } else if (type == Map.class) { + Map<String, Object> resultMap = new HashMap<String, Object>(); + resultMap.put("msg", message); + return resultMap; + } else if (type == Void.TYPE) { + return null; + } else { + return type.getClass().newInstance(); + } } } -- Gitblit v1.8.0