| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.uas.eis.exception;
- import com.uas.eis.entity.ErrorMessage;
- import com.uas.eis.sdk.entity.ApiResult;
- import com.uas.eis.sdk.entity.WMSApiResult;
- 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;
- import org.springframework.web.bind.annotation.ResponseStatus;
- import javax.servlet.http.HttpServletRequest;
- @ControllerAdvice
- public class ExceptionHandlerAdvice {
- private final static Logger logger = Logger.getLogger(ExceptionHandlerAdvice.class);
-
- /**
- * 处理未被发现处理的运行时抛出异常
- *
- * @param ex
- * @return
- */
- @ExceptionHandler(RuntimeException.class)
- @ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
- @ResponseBody
- public ModelMap handleUnexpectedServerError(RuntimeException ex, HttpServletRequest request) {
- ModelMap map = new ModelMap();
- //logger.error(ex);
- ex.printStackTrace();
- map.put("flag", "failure");
- 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;
- }
- /**
- * 处理通过BaseUtil.showError抛出的异常
- *
- * @param ex
- * @return
- */
- @ExceptionHandler(SystemException.class)
- @ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
- @ResponseBody
- public ModelMap handleSystemError(SystemException ex, HttpServletRequest request) {
- ModelMap map = new ModelMap();
- ApiResult apiResult = ex.getApiResult();
- map.put("flag", "failure");
- map.put("code", apiResult.getCode());
- map.put("message",apiResult.getMessage());
- // map.put("requestId",apiResult.getRequestId());
- // map.put("data",apiResult.getData());
- return map;
- }
-
- /**
- * 处理通过Api接口抛出的异常
- *
- * @param ex
- * @return
- */
- @ExceptionHandler(ApiSystemException.class)
- @ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
- @ResponseBody
- public ModelMap handleApiSystemError(ApiSystemException ex, HttpServletRequest request) {
- ModelMap map = new ModelMap();
- ApiResult apiResult = ex.getApiResult();
- if(apiResult!=null) {
- map.put("code", apiResult.getCode());
- map.put("message", apiResult.getMessage());
- map.put("requestId",apiResult.getRequestId());
- map.put("data",apiResult.getData());
- }
- WMSApiResult wmsApiResult = ex.getWmsApiResult();
- if(wmsApiResult!=null){
- map.put("response", wmsApiResult);
- }
- return map;
- }
- }
|