diff --git a/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/exception/CommonException.java b/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/exception/CommonException.java new file mode 100644 index 00000000..ad188d3e --- /dev/null +++ b/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/exception/CommonException.java @@ -0,0 +1,34 @@ +package com.cloud.kicc.common.core.exception; + +import lombok.NoArgsConstructor; + +/** + *
+ * 通用前端提示自定义异常信息 + *
+ * + * @Author: entfrm开发团队-王翔 + * @Date: 2022/2/18 + */ +@NoArgsConstructor +public class CommonException extends RuntimeException { + + private static final long serialVersionUID = 1L; + + public CommonException(String message) { + super(message); + } + + public CommonException(Throwable cause) { + super(cause); + } + + public CommonException(String message, Throwable cause) { + super(message, cause); + } + + public CommonException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + +} diff --git a/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/sentinel/handle/GlobalBizExceptionHandler.java b/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/sentinel/handle/GlobalBizExceptionHandler.java index bcdafee3..6c187ba3 100644 --- a/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/sentinel/handle/GlobalBizExceptionHandler.java +++ b/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/sentinel/handle/GlobalBizExceptionHandler.java @@ -2,6 +2,7 @@ package com.cloud.kicc.common.feign.sentinel.handle; import com.alibaba.csp.sentinel.Tracer; import com.cloud.kicc.common.core.api.R; +import com.cloud.kicc.common.core.exception.CommonException; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.http.HttpStatus; @@ -46,6 +47,21 @@ public class GlobalBizExceptionHandler { return R.error(e.getLocalizedMessage()); } + /** + * 通用前端错误提示自定义全局异常 + * @param e the e + * @return R + */ + @ExceptionHandler(CommonException.class) + @ResponseStatus(HttpStatus.NETWORK_AUTHENTICATION_REQUIRED) + public R handleGlobalCommonException(CommonException e) { + log.error("自定义异常信息 ex={}", e.getMessage(), e); + + // 业务异常交由 sentinel 记录 + Tracer.trace(e); + return R.error(e.getLocalizedMessage()); + } + /** * 处理业务校验过程中碰到的非法参数异常 该异常基本由{@link org.springframework.util.Assert}抛出 * @see Assert#hasLength(String, String) diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java index 8038649c..65d7e4b1 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.cloud.kicc.common.core.constant.SecurityConstants; import com.cloud.kicc.common.core.exception.CheckedException; +import com.cloud.kicc.common.core.exception.CommonException; import com.cloud.kicc.system.api.entity.Dept; import com.cloud.kicc.system.api.entity.Role; import com.cloud.kicc.system.api.entity.User; @@ -93,7 +94,7 @@ public class UserServiceImpl extends ServiceImpl