Commit b562e3e4 authored by 杨钧's avatar 杨钧

增加自定义异常处理

parent e0c8aec6
......@@ -2,7 +2,9 @@ package cn.quantgroup.customer.config.http.mvc.filter;
import cn.quantgroup.customer.config.container.UserThreadLocal;
import cn.quantgroup.customer.entity.OpUser;
import cn.quantgroup.customer.enums.ErrorCodeEnum;
import cn.quantgroup.customer.exception.BusinessException;
import cn.quantgroup.customer.exception.ValidTokenException;
import cn.quantgroup.customer.rest.vo.JsonResult;
import cn.quantgroup.customer.service.IOpSystemService;
import lombok.SneakyThrows;
......@@ -51,13 +53,13 @@ public class ValidOperatePermitFilter implements Filter {
String system = request.getHeader("x-auth-system");
if (StringUtils.isAnyBlank(token, system)) {
log.error("缺少token信息,拦截");
throw new BusinessException("缺少token信息,拦截请求");
throw new ValidTokenException(ErrorCodeEnum.NO_TOKEN);
}
JsonResult<OpUser> opUserResult = IOpSystemService.findUserByToken(token, system);
if (Objects.isNull(opUserResult) || !opUserResult.isSuccess()) {
log.error("根据token查询不到用户信息 token:{}", token);
throw new BusinessException("鉴权失败,拦截请求");
throw new ValidTokenException(ErrorCodeEnum.ILLEGAL_TOKEN);
} else {
OpUser opUser = opUserResult.getData();
UserThreadLocal.set(opUser);
......
......@@ -5,7 +5,9 @@ public enum ErrorCodeEnum {
NET_ERROR(6001L, "网络通讯异常"),
RETURN_ERROR(7001L, "返回值异常"),
PARAM_ERROR(7002L, "参数异常");
PARAM_ERROR(7002L, "参数异常"),
NO_TOKEN(8001L,"缺少token信息"),
ILLEGAL_TOKEN(8002L,"token信息有误");
public String getMessage() {
......
package cn.quantgroup.customer.exception;
import cn.quantgroup.customer.enums.ErrorCodeEnum;
import lombok.Getter;
/**
* @author Jony
* @Date 2020/4/20 15:07
* @Desc
* @Update
*/
@Getter
public class ValidTokenException extends RuntimeException{
private Long code;
private String message;
public ValidTokenException() {
}
public ValidTokenException(String message, Long code) {
super(message);
this.code = code;
}
public ValidTokenException(ErrorCodeEnum errorCodeEnum) {
this.code = errorCodeEnum.getCode();
this.message = errorCodeEnum.getMessage();
}
}
......@@ -2,6 +2,7 @@ package cn.quantgroup.customer.rest;
import cn.quantgroup.customer.constant.Constant;
import cn.quantgroup.customer.exception.BusinessException;
import cn.quantgroup.customer.exception.ValidTokenException;
import cn.quantgroup.customer.rest.vo.JsonResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
......@@ -31,4 +32,13 @@ public class AdviceRest {
}
@ExceptionHandler({ValidTokenException.class})
@ResponseBody
@ResponseStatus(HttpStatus.OK)
public JsonResult handleTokenException(ValidTokenException ex) {
log.info(ex.getMessage());
return JsonResult.buildErrorStateResult(ex.getMessage(), ex.getCode());
}
}
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