Forráskód Böngészése

【异常提示标准化】

wuyx 4 éve
szülő
commit
750018ec7f

+ 12 - 11
src/main/java/com/uas/eis/entity/ErrorMessage.java

@@ -7,26 +7,27 @@ import java.util.Objects;
  * 异常处理返回信息
  */
 public enum ErrorMessage {
-
-    TIMESTAMP_ILLEGAL(1001,"请求时间戳不合法"),
-    ACCESSKEY_ILLEGAL(1002,"加密KEY不合法"),
-    TIMEOUT_ILLEGAL(1003,"请求超时"),
-    REQUESTID_ILLEGAL(1004,"随机字符串不合法"),
-    SIGNATURE_ILLEGAL(1005,"签名错误");
-
-    private int code;
+    SYS_ILLEGAL("0001","请求异常"),
+    TIMESTAMP_ILLEGAL("1001","请求时间戳不合法"),
+    ACCESSKEY_ILLEGAL("1002","加密KEY不合法"),
+    TIMEOUT_ILLEGAL("1003","请求超时"),
+    REQUESTID_ILLEGAL("1004","随机字符串不合法"),
+    SIGNATURE_ILLEGAL("1005","签名错误"),
+    BUSINESS_ILLEGAL("2001","业务异常");
+
+    private String code;
     private String message;
 
-    ErrorMessage(int  code,String message){
+    ErrorMessage(String  code,String message){
         this.code = code;
         this.message = message;
     }
 
-    public int getCode() {
+    public String getCode() {
         return code;
     }
 
-    public void setCode(int code) {
+    public void setCode(String code) {
         this.code = code;
     }
 

+ 11 - 10
src/main/java/com/uas/eis/exception/ExceptionHandlerAdvice.java

@@ -1,10 +1,11 @@
 package com.uas.eis.exception;
 
-import com.uas.eis.entity.ErrorMsg;
+import com.uas.eis.entity.ErrorMessage;
 import com.uas.eis.sdk.entity.ApiResult;
 import org.apache.log4j.Logger;
 import org.springframework.http.HttpStatus;
 import org.springframework.ui.ModelMap;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -31,9 +32,10 @@ public class ExceptionHandlerAdvice {
 		ModelMap map = new ModelMap();
 		//logger.error(ex);
 		ex.printStackTrace();
-		map.put("errCode", -1);
-		map.put("errMsg", "server error");
-		map.put("errDesc",ex.getMessage());
+		map.put("code", ErrorMessage.SYS_ILLEGAL.getCode());
+		map.put("message", StringUtils.isEmpty(ex.getMessage())?ErrorMessage.SYS_ILLEGAL.getMessage():ex.getMessage());
+		map.put("requestId",request.getHeader("RequestId"));
+		map.put("data",null);
 		return map;
 	}
 
@@ -49,10 +51,11 @@ public class ExceptionHandlerAdvice {
 	@ResponseBody
 	public ModelMap handleSystemError(SystemException ex, HttpServletRequest request) {
 		ModelMap map = new ModelMap();
-		ErrorMsg errorMsg = ex.getErrorMsg();
-		map.put("errCode", errorMsg.getErrCode());
-		map.put("errMsg", errorMsg.getErrMsg());
-		map.put("errDesc",errorMsg.getErrDesc());
+		ApiResult apiResult = ex.getApiResult();
+		map.put("code", apiResult.getCode());
+		map.put("message",apiResult.getMessage());
+		map.put("requestId",apiResult.getRequestId());
+		map.put("data",apiResult.getData());
 		return map;
 	}
 	
@@ -75,6 +78,4 @@ public class ExceptionHandlerAdvice {
 		return map;
 	}
 
-
-	
 }

+ 19 - 2
src/main/java/com/uas/eis/exception/SystemException.java

@@ -1,6 +1,7 @@
 package com.uas.eis.exception;
 
 import com.uas.eis.entity.ErrorMsg;
+import com.uas.eis.sdk.entity.ApiResult;
 
 /**
  * 系统程序执行异常
@@ -17,6 +18,8 @@ public class SystemException extends RuntimeException {
 	
 	private ErrorMsg errorMsg;
 
+	private ApiResult apiResult;
+
 	public SystemException() {
 	}
 
@@ -28,12 +31,18 @@ public class SystemException extends RuntimeException {
 		super(errorMsg.getErrDesc());
 		this.errorMsg = errorMsg;
 	}
-
 	public SystemException(ErrorMsg errorMsg, Throwable paramThrowable) {
 		super(errorMsg.getErrDesc(), paramThrowable);
 		this.errorMsg = errorMsg;
 	}
-
+	public SystemException(ApiResult apiResult) {
+		super(apiResult.getMessage());
+		this.apiResult = apiResult;
+	}
+	public SystemException(ApiResult apiResult, Throwable paramThrowable) {
+		super(apiResult.getMessage(), paramThrowable);
+		this.apiResult = apiResult;
+	}
 	public SystemException(Throwable paramThrowable) {
 		super(paramThrowable);
 	}
@@ -45,4 +54,12 @@ public class SystemException extends RuntimeException {
 	public void setErrorMsg(ErrorMsg errorMsg) {
 		this.errorMsg = errorMsg;
 	}
+
+	public ApiResult getApiResult() {
+		return apiResult;
+	}
+
+	public void setApiResult(ApiResult apiResult) {
+		this.apiResult = apiResult;
+	}
 }

+ 3 - 3
src/main/java/com/uas/eis/sdk/entity/ApiResult.java

@@ -10,7 +10,7 @@ public class ApiResult<T> {
     /**
      * 自定义业务码
      */
-    private int code;
+    private String code;
 
     /**
      * 自定义业务提示说明
@@ -25,11 +25,11 @@ public class ApiResult<T> {
      */
     private T data;
 
-    public int getCode() {
+    public String getCode() {
         return code;
     }
 
-    public ApiResult<T> setCode(int code) {
+    public ApiResult<T> setCode(String code) {
         this.code = code;
         return this;
     }

+ 6 - 6
src/main/java/com/uas/eis/sdk/resp/ApiResponse.java

@@ -17,7 +17,7 @@ public class ApiResponse {
         return new ApiResult<T>().setRequestId(requestId);
     }
 
-    public static <T> ApiResult<T> successRsp(int code, String msg) {
+    public static <T> ApiResult<T> successRsp(String code, String msg) {
         return new ApiResult<T>().setCode(code).setMessage(msg);
     }
 
@@ -25,27 +25,27 @@ public class ApiResponse {
         return new ApiResult<T>().setRequestId(requestId).setData(data);
     }
 
-    public static <T> ApiResult<T> successRsp(int code,String requestId,T data) {
+    public static <T> ApiResult<T> successRsp(String code,String requestId,T data) {
         return new ApiResult<T>().setRequestId(requestId).setData(data).setCode(code);
     }
 
-    public static <T> ApiResult<T> successRsp(int code, String msg,String requestId,T data) {
+    public static <T> ApiResult<T> successRsp(String code, String msg,String requestId,T data) {
         return new ApiResult<T>().setCode(code).setMessage(msg).setRequestId(requestId).setData(data);
     }
 
 
-    public static <T> ApiResult<T> failRsp(int code, String msg) {
+    public static <T> ApiResult<T> failRsp(String code, String msg) {
         return new ApiResult<T>().setCode(code).setMessage(msg);
     }
 
-    public static <T> ApiResult<T> failRsp(int code, String msg, T data) {
+    public static <T> ApiResult<T> failRsp(String code, String msg, T data) {
         return new ApiResult<T>().setCode(code).setMessage(msg).setData(data);
     }
     public static <T> ApiResult<T> failRsp(String requestId,T data) {
         return new ApiResult<T>().setRequestId(requestId).setData(data);
     }
 
-    public static <T> ApiResult<T> failRsp(int code, String msg,String requestId,T data) {
+    public static <T> ApiResult<T> failRsp(String code, String msg,String requestId,T data) {
         return new ApiResult<T>().setCode(code).setMessage(msg).setRequestId(requestId).setData(data);
     }
 }