彭雪彬
2025-07-14 c1d20b425b10e8ba59f102dd1ab413055883eed0
oying-common/src/main/java/com/oying/exception/handler/GlobalExceptionHandler.java
@@ -1,10 +1,12 @@
package com.oying.exception.handler;
import com.oying.exception.BadRequestException;
import com.oying.exception.EntityExistException;
import com.oying.exception.EntityNotFoundException;
import lombok.extern.slf4j.Slf4j;
import com.oying.exception.BadRequestException;
import com.oying.utils.DuplicateKeyExceptionUtil;
import com.oying.utils.ThrowableUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.validation.FieldError;
@@ -89,6 +91,16 @@
    }
    /**
     * 处理 DuplicateKeyException
     */
    @ExceptionHandler(value = DuplicateKeyException.class)
    public ResponseEntity<ApiError> handleDuplicateKeyException(DuplicateKeyException e) {
        // 打印堆栈信息
        log.error(ThrowableUtil.getStackTrace(e));
        return buildResponseEntity(ApiError.error(BAD_REQUEST.value(), DuplicateKeyExceptionUtil.getDisplayMessage(e)));
    }
    /**
     * 统一返回
     */
    private ResponseEntity<ApiError> buildResponseEntity(ApiError apiError) {