지대한
8 months ago
11 changed files with 321 additions and 262 deletions
@ -1,5 +1,22 @@
|
||||
TEST001=\uD14C\uC2A4\uD2B8001 |
||||
TEST002=\uD14C\uC2A4\uD2B8002 |
||||
TEST003=\uD14C\uC2A4\uD2B8003 |
||||
TEST004=\uD14C\uC2A4\uD2B8004 |
||||
TEST005=\uD14C\uC2A4\uD2B8005 |
||||
CM001=\uC131\uACF5\uC785\uB2C8\uB2E4. |
||||
CM900=\uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uC785\uB2C8\uB2E4. |
||||
CM999=\uC2E4\uD328\uC785\uB2C8\uB2E4. |
||||
CM002=\uC694\uCCAD\uD558\uC2E0 \uB0B4\uC6A9\uC774 \uCC98\uB9AC \uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
||||
CM003=\uC785\uCD9C\uB825 \uC624\uB958\uC785\uB2C8\uB2E4. |
||||
CM100=\uB85C\uADF8\uC778\uC744 \uB2E4\uC2DC \uD574\uC8FC\uC138\uC694. |
||||
CM101=\uC774\uBBF8 \uB85C\uADF8\uC778\uD55C \uC0AC\uC6A9\uC790\uC785\uB2C8\uB2E4. |
||||
CM102=\uB85C\uADF8\uC778 \uC2DC\uB3C4\uAC00 \uC815\uD574\uC9C4 \uD69F\uC218\uB97C \uCD08\uACFC\uD558\uC600\uC2B5\uB2C8\uB2E4. |
||||
CM110=SNS \uB85C\uADF8\uC778\uC744 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
||||
CM111=\uC774\uBBF8 \uAC00\uC785\uB41C SNS \uACC4\uC815\uC785\uB2C8\uB2E4. |
||||
CM120=\uD1A0\uD070\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
||||
CM121=\uC798\uBABB\uB41C \uD1A0\uD070\uC785\uB2C8\uB2E4. |
||||
CM130=\uC0AC\uC6A9\uC790\uC758 \uACC4\uC815\uC774 \uC815\uC9C0\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
||||
CM131=\uC0AC\uC6A9\uC790\uC758 \uACC4\uC815\uC774 \uD734\uBA74\uC0C1\uD0DC\uC785\uB2C8\uB2E4. |
||||
CM200=\uCE90\uC2DC \uB85C\uB529\uC5D0 \uC2E4\uD328\uD558\uC600\uC2B5\uB2C8\uB2E4. |
||||
CM201=\uCE90\uC2DC \uB9AC\uB85C\uB529\uC5D0 \uC2E4\uD328\uD558\uC600\uC2B5\uB2C8\uB2E4. |
||||
CM401=\uC0AC\uC6A9\uC790\uC758 \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. |
||||
WB400=\uD30C\uB77C\uBBF8\uD130\uB97C \uB2E4\uC2DC \uD655\uC778 \uD6C4 \uC694\uCCAD\uD574\uC8FC\uC138\uC694. |
||||
WB500=\uC678\uBD80 \uC5F0\uB3D9 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD558\uC600\uC2B5\uB2C8\uB2E4. |
||||
WB404=\uC694\uCCAD\uD558\uC2E0 URL\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
||||
DT001=\uC774\uBBF8 \uB4F1\uB85D\uB41C \uB370\uC774\uD130 \uC785\uB2C8\uB2E4. |
||||
DT002=\uC694\uCCAD\uD55C \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. |
@ -1,5 +1,22 @@
|
||||
TEST001=TEST001 |
||||
TEST002=TEST002 |
||||
TEST003=TEST003 |
||||
TEST004=TEST004 |
||||
TEST005=TEST005 |
||||
CM001=It's a success. |
||||
CM900=Unknown error. |
||||
CM999=It's a failure. |
||||
CM002=Your request has not been processed. |
||||
CM003=Input/output error. |
||||
CM100=Please log in again. |
||||
CM101=This is a user who has already logged in. |
||||
CM102=The login attempt exceeded the specified number of times. |
||||
CM110=I can't log in to SNS. |
||||
CM111=This is an SNS account that has already been subscribed. |
||||
CM120=The token has expired. |
||||
CM121=Invalid token. |
||||
CM130=Your account has been suspended. |
||||
CM131=Your account is dormant. |
||||
CM200=Cache loading failed. |
||||
CM201=Cache reloading failed. |
||||
CM401=You do not have permissions. |
||||
WB400=Please check the parameters again and request them. |
||||
WB500=External interlocking error occurred. |
||||
WB404=The URL you requested does not exist. |
||||
DT001=Data already registered. |
||||
DT002=No data requested. |
@ -1,136 +0,0 @@
|
||||
package kr.co.palnet.kac.core.exception; |
||||
|
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.context.MessageSource; |
||||
|
||||
import java.util.Locale; |
||||
|
||||
@Slf4j |
||||
public class AppException extends RuntimeException { |
||||
|
||||
|
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
private final Level level; |
||||
|
||||
private final Source source; |
||||
|
||||
private final BaseErrorCode errorCode; |
||||
|
||||
|
||||
private final Object[] paramArray; |
||||
|
||||
private String sourceErrorCode; |
||||
|
||||
private String sourceErrorMessage; |
||||
|
||||
public AppException(Throwable th, Level level, Source source, BaseErrorCode errorCode, Object... paramArray) { |
||||
super(th != null ? th.getMessage() : errorCode.message(), th); |
||||
this.level = level; |
||||
this.errorCode = errorCode; |
||||
this.source = source; |
||||
this.paramArray = paramArray; |
||||
this.sourceErrorCode = errorCode.code(); |
||||
this.sourceErrorMessage = errorCode.message(); |
||||
} |
||||
|
||||
public AppException(Throwable th, Level level, BaseErrorCode errorCode, Object... paramArray) { |
||||
this(th, level, Source.INTERNAL, errorCode, paramArray); |
||||
} |
||||
|
||||
public AppException(Throwable th, Source source, BaseErrorCode errorCode, Object... paramArray) { |
||||
this(th, Level.WARN, source, errorCode, paramArray); |
||||
} |
||||
|
||||
public AppException(Throwable th, BaseErrorCode errorCode, Object... paramArray) { |
||||
this(th, Level.WARN, Source.INTERNAL, errorCode, paramArray); |
||||
} |
||||
|
||||
public AppException(Level level, Source source, String errorCode, Object... paramArray) { |
||||
this(null, level, source, errorCode, paramArray); |
||||
} |
||||
|
||||
public AppException(Level level, String errorCode, Object... paramArray) { |
||||
this(null, level, Source.INTERNAL, errorCode, paramArray); |
||||
} |
||||
|
||||
public AppException(Source source, String errorCode, Object... paramArray) { |
||||
this(null, Level.WARN, source, errorCode, paramArray); |
||||
} |
||||
|
||||
public AppException(BaseErrorCode errorCode, Object... paramArray) { |
||||
this(null, Level.WARN, Source.INTERNAL, errorCode, paramArray); |
||||
} |
||||
// public BaseException(String errorCode) {
|
||||
// this(errorCode, new Object());
|
||||
// }
|
||||
|
||||
public AppException(Throwable th, BaseErrorCode erorCode, String sourceErrorMessage) { |
||||
this(th, Level.WARN, BaseErrorCode.INTERNAL_SERVER_ERROR, (Object[])null); |
||||
this.sourceErrorCode = erorCode.code(); |
||||
this.sourceErrorMessage = errorCode.message(); |
||||
} |
||||
|
||||
public AppException(BaseErrorCode sourceErrorCode, String sourceErrorMessage) { |
||||
this(null, sourceErrorCode, sourceErrorMessage); |
||||
} |
||||
|
||||
@Deprecated |
||||
public AppException(Throwable th, Level level, BaseErrorCode errorCode, Source source, Object... paramArray) { |
||||
this(th, level, source, errorCode, paramArray); |
||||
} |
||||
|
||||
@Deprecated |
||||
public AppException(Level level, BaseErrorCode errorCode, Source source, Object... paramArray) { |
||||
this(null, level, source, errorCode, paramArray); |
||||
} |
||||
|
||||
public String getCode() { |
||||
return errorCode.code(); |
||||
} |
||||
|
||||
public BaseErrorCode getErrorCode(){ |
||||
return errorCode; |
||||
} |
||||
|
||||
public Object[] getParamArray() { |
||||
return paramArray; |
||||
} |
||||
|
||||
public Level getLevel() { |
||||
return level; |
||||
} |
||||
|
||||
public Source getSource() { |
||||
return source; |
||||
} |
||||
|
||||
public String getErrorMessage(MessageSource ms) { |
||||
if (ms == null) { |
||||
return BaseErrorCode.INTERNAL_SERVER_ERROR.message(); |
||||
} |
||||
log.debug("############ getErrorMessage : {}",ms); |
||||
log.debug("############ getErrorCode : {}",getCode()); |
||||
log.debug("############ getParamArray : {}",getParamArray()); |
||||
log.debug("############ ErrorCode.NOT_REGIST_ERROR_CODE.message() : {}", BaseErrorCode.NOT_REGIST_ERROR_CODE.message()); |
||||
log.debug("############ Locale.getDefault() : {}",Locale.getDefault()); |
||||
return ms.getMessage(getCode(), getParamArray(), BaseErrorCode.NOT_REGIST_ERROR_CODE.message(), Locale.getDefault()); |
||||
} |
||||
|
||||
public String getSourceErrorCode() { |
||||
return sourceErrorCode; |
||||
} |
||||
|
||||
public void setSourceErrorCode(String sourceErrorCode) { |
||||
this.sourceErrorCode = sourceErrorCode; |
||||
} |
||||
|
||||
public String getSourceErrorMessage() { |
||||
return sourceErrorMessage; |
||||
} |
||||
|
||||
public void setSourceErrorMessage(String sourceErrorMessage) { |
||||
this.sourceErrorMessage = sourceErrorMessage; |
||||
} |
||||
|
||||
} |
@ -1,63 +1,54 @@
|
||||
package kr.co.palnet.kac.core.exception; |
||||
|
||||
|
||||
public enum BaseErrorCode { |
||||
SUCCESS("1", 200, "성공"), |
||||
FAIL("-1" , 500, "실패"), |
||||
|
||||
CREATE_SUCCESS("HC201", 201, "성공"), |
||||
|
||||
NON_VALID_PARAMETER("VP001", 400, "파라미터가 유효하지 않습니다."), |
||||
INTERNAL_SERVER_ERROR("ER500", 500, "내부 시스템 오류"), |
||||
|
||||
NOT_REGIST_ERROR_CODE("ER501", 500, "등록되지 않은 오류 코드"), |
||||
|
||||
DATA_NOTFIND("DT001", 204,"데이터 를 찾을수 없습니다."), |
||||
DATA_DUPLICATE("DT002", 500, "중복 데이터가 존재합니다."), |
||||
DATA_NO("DT003", 500, "데이터 미존재"), |
||||
|
||||
ALREADY_CERT("CT001", 200, "이미 인증 되어있는 값 입니다."), |
||||
|
||||
DB_ERROR("DB001", 500, "디비 처리중 오류"), |
||||
|
||||
NOT_FOUND_RESOURCE("N001", 404, "정의되지 않은 요청입니다."), |
||||
|
||||
TIME_OUT("T001", 400, "인증 시간 초과"), |
||||
|
||||
FILE_ERROR("F001", 500, "파일 읽어오기 오류"), |
||||
FILE_PARSING_ERROR("F002", 500, "파일 파싱중 오류"), |
||||
import org.springframework.http.HttpStatus; |
||||
|
||||
NOT_AUTHENTICATION_USER("P001", 400, "인증실패"), |
||||
NOT_AUTHORIZED_USER("P002", 401, "인가되지 않은 사용자"), |
||||
NOT_PERMISSION("P003", 403, "권한이 없는 사용자"), |
||||
|
||||
|
||||
EXTERNAL_API_ERROR("EA500", 500, "외부서버 호출에 실패하였습니다.") |
||||
; |
||||
|
||||
|
||||
|
||||
private final String code; |
||||
|
||||
private final int status; |
||||
|
||||
private final String message; |
||||
|
||||
private BaseErrorCode(String code, int status, String message) { |
||||
this.code = code; |
||||
this.status = status; |
||||
this.message = message; |
||||
} |
||||
|
||||
public String code() { |
||||
return this.code; |
||||
} |
||||
|
||||
public String message() { |
||||
return this.message; |
||||
} |
||||
|
||||
public int status(){ |
||||
return this.status; |
||||
} |
||||
public enum BaseErrorCode { |
||||
SUCCESS("CM001", HttpStatus.OK, "성공"), |
||||
FAILED("CM900", HttpStatus.INTERNAL_SERVER_ERROR, "실패"), |
||||
UNKNOWN("CM999", HttpStatus.INTERNAL_SERVER_ERROR, "실패(사용자 정의 없는 에러)"), |
||||
NOT_PROCESS("CM002", HttpStatus.INTERNAL_SERVER_ERROR, "처리되지 않음"), |
||||
IO_ERROR("CM003", HttpStatus.INTERNAL_SERVER_ERROR, "IO 에러"), |
||||
LOGIN_FAILED("CM100", HttpStatus.INTERNAL_SERVER_ERROR, "로그인 실패"), |
||||
LOGIN_DUPLICATED("CM101", HttpStatus.INTERNAL_SERVER_ERROR, "중복 로그인"), |
||||
LOGIN_ATTEMPT_COUNT("CM102", HttpStatus.INTERNAL_SERVER_ERROR, "로그인 실패 횟수 초과"), |
||||
LOGIN_SNS_FAILED("CM110", HttpStatus.INTERNAL_SERVER_ERROR, "SNS 로그인 실패"), |
||||
LOGIN_SNS_DUPLICATED("CM111", HttpStatus.INTERNAL_SERVER_ERROR, "SNS 가입 중복"), |
||||
TOKEN_EXPIRED("CM120", HttpStatus.INTERNAL_SERVER_ERROR, "토큰 만료"), |
||||
TOKEN_INVALID("CM121", HttpStatus.INTERNAL_SERVER_ERROR, "잘못된 토큰"), |
||||
ACCOUNT_LOCK("CM130", HttpStatus.INTERNAL_SERVER_ERROR, "계정 잠김"), |
||||
ACCOUNT_DORMANT("CM131", HttpStatus.INTERNAL_SERVER_ERROR, "휴면 계정"), |
||||
CACHE_LOAD_FAILED("CM200", HttpStatus.INTERNAL_SERVER_ERROR, "캐시 로딩 실패"), |
||||
CACHE_RELOAD_FAILED("CM201", HttpStatus.INTERNAL_SERVER_ERROR, "캐시 리로딩 실패"), |
||||
AUTH_EMPTY("CM401", HttpStatus.UNAUTHORIZED, "권한 없음"), |
||||
WEB_PARAM_INVALID("WB400", HttpStatus.INTERNAL_SERVER_ERROR, "잘못된 파라미터"), |
||||
WEB_NOT_FOUND("WB404", HttpStatus.INTERNAL_SERVER_ERROR, "찾을수 없는 페이지"), |
||||
WEB_API_ERROR("WB500", HttpStatus.INTERNAL_SERVER_ERROR, "외부 연동 에러"), |
||||
DATA_ALREADY_EXISTS("DT001", HttpStatus.INTERNAL_SERVER_ERROR, "이미 등록된 데이터"), |
||||
DATA_EMPTY("DT002", HttpStatus.INTERNAL_SERVER_ERROR, "데이터 없음"); |
||||
|
||||
|
||||
private final String code; |
||||
|
||||
private final HttpStatus status; |
||||
|
||||
private final String message; |
||||
|
||||
private BaseErrorCode(String code, HttpStatus status, String message) { |
||||
this.code = code; |
||||
this.status = status; |
||||
this.message = message; |
||||
} |
||||
|
||||
public String code() { |
||||
return this.code; |
||||
} |
||||
|
||||
public String message() { |
||||
return this.message; |
||||
} |
||||
|
||||
public HttpStatus status() { |
||||
return this.status; |
||||
} |
||||
} |
||||
|
@ -0,0 +1,138 @@
|
||||
package kr.co.palnet.kac.core.exception; |
||||
|
||||
import lombok.Getter; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.context.MessageSource; |
||||
|
||||
import java.util.Locale; |
||||
|
||||
@Getter |
||||
@Slf4j |
||||
public class BaseException extends RuntimeException { |
||||
|
||||
|
||||
private final BaseErrorCode errorCode; |
||||
|
||||
private final String logMessage; |
||||
|
||||
private final Level level; |
||||
|
||||
private final Object[] paramArray; |
||||
|
||||
public BaseException() { |
||||
this(BaseErrorCode.FAILED, null, Level.WARN, null); |
||||
} |
||||
|
||||
public BaseException(Object[] paramArray) { |
||||
this(BaseErrorCode.FAILED, null, Level.WARN, paramArray); |
||||
} |
||||
|
||||
public BaseException(Level level) { |
||||
this(BaseErrorCode.FAILED, null, level, null); |
||||
} |
||||
|
||||
public BaseException(Level level, Object[] paramArray) { |
||||
this(BaseErrorCode.FAILED, null, level, paramArray); |
||||
} |
||||
|
||||
public BaseException(String logMessage) { |
||||
this(BaseErrorCode.FAILED, logMessage, Level.WARN, null); |
||||
} |
||||
|
||||
public BaseException(String logMessage, Object[] paramArray) { |
||||
this(BaseErrorCode.FAILED, logMessage, Level.WARN, paramArray); |
||||
} |
||||
|
||||
public BaseException(String logMessage, Level level) { |
||||
this(BaseErrorCode.FAILED, logMessage, level, null); |
||||
} |
||||
|
||||
public BaseException(String logMessage, Level level, Object[] paramArray) { |
||||
this(BaseErrorCode.FAILED, logMessage, level, paramArray); |
||||
} |
||||
|
||||
public BaseException(BaseErrorCode errorCode) { |
||||
this(errorCode, null, Level.WARN, null); |
||||
} |
||||
|
||||
public BaseException(BaseErrorCode errorCode, Object[] paramArray) { |
||||
this(errorCode, null, Level.WARN, paramArray); |
||||
} |
||||
|
||||
public BaseException(BaseErrorCode errorCode, Level level) { |
||||
this(errorCode, null, level, null); |
||||
} |
||||
|
||||
public BaseException(BaseErrorCode errorCode, Level level, Object[] paramArray) { |
||||
this(errorCode, null, level, paramArray); |
||||
} |
||||
|
||||
public BaseException(BaseErrorCode errorCode, String logMessage) { |
||||
this(errorCode, logMessage, Level.WARN, null); |
||||
} |
||||
|
||||
public BaseException(BaseErrorCode errorCode, String logMessage, Object[] paramArray) { |
||||
this(errorCode, logMessage, Level.WARN, paramArray); |
||||
} |
||||
|
||||
public BaseException(BaseErrorCode errorCode, String logMessage, Level level) { |
||||
this(errorCode, logMessage, level, null); |
||||
} |
||||
|
||||
public BaseException(BaseErrorCode errorCode, String logMessage, Level level, Object[] paramArray) { |
||||
this.errorCode = errorCode; |
||||
this.logMessage = logMessage; |
||||
this.level = level; |
||||
this.paramArray = paramArray; |
||||
} |
||||
|
||||
public BaseException(String message, BaseErrorCode errorCode, String logMessage, Level level, Object[] paramArray) { |
||||
super(message); |
||||
this.errorCode = errorCode; |
||||
this.logMessage = logMessage; |
||||
this.level = level; |
||||
this.paramArray = paramArray; |
||||
} |
||||
|
||||
public BaseException(String message, Throwable cause, BaseErrorCode errorCode, String logMessage, Level level, Object[] paramArray) { |
||||
super(message, cause); |
||||
this.errorCode = errorCode; |
||||
this.logMessage = logMessage; |
||||
this.level = level; |
||||
this.paramArray = paramArray; |
||||
} |
||||
|
||||
public BaseException(Throwable cause, BaseErrorCode errorCode, String logMessage, Level level, Object[] paramArray) { |
||||
super(cause); |
||||
this.errorCode = errorCode; |
||||
this.logMessage = logMessage; |
||||
this.level = level; |
||||
this.paramArray = paramArray; |
||||
} |
||||
|
||||
public BaseException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace, BaseErrorCode errorCode, String logMessage, Level level, Object[] paramArray) { |
||||
super(message, cause, enableSuppression, writableStackTrace); |
||||
this.errorCode = errorCode; |
||||
this.logMessage = logMessage; |
||||
this.level = level; |
||||
this.paramArray = paramArray; |
||||
} |
||||
|
||||
public String getCode() { |
||||
return errorCode.code(); |
||||
} |
||||
|
||||
public String getErrorMessage(MessageSource ms) { |
||||
if (ms == null) { |
||||
return BaseErrorCode.UNKNOWN.message(); |
||||
} |
||||
log.debug("############ getErrorMessage : {}", ms); |
||||
log.debug("############ getErrorCode : {}", getCode()); |
||||
log.debug("############ getParamArray : {}", getParamArray()); |
||||
log.debug("############ ErrorCode.NOT_REGIST_ERROR_CODE.message() : {}", BaseErrorCode.UNKNOWN.message()); |
||||
log.debug("############ Locale.getDefault() : {}", Locale.getDefault()); |
||||
return ms.getMessage(getCode(), getParamArray(), BaseErrorCode.UNKNOWN.message(), Locale.getDefault()); |
||||
} |
||||
|
||||
|
||||
} |
@ -1,24 +1,9 @@
|
||||
package kr.co.palnet.kac.core.exception; |
||||
|
||||
public enum Level { |
||||
INFO(0), |
||||
WARN(1), |
||||
RETRY(2), |
||||
DROP(3), |
||||
RECYCLE(4), |
||||
CRITICAL(5); |
||||
|
||||
private int code; |
||||
|
||||
Level(int code) { |
||||
setLevel(code); |
||||
} |
||||
|
||||
public int getLevel() { |
||||
return code; |
||||
} |
||||
|
||||
public void setLevel(int code) { |
||||
this.code = code; |
||||
} |
||||
TRACE, |
||||
DEBUG, |
||||
INFO, |
||||
WARN, |
||||
ERROR |
||||
} |
||||
|
@ -1,6 +0,0 @@
|
||||
package kr.co.palnet.kac.core.exception; |
||||
|
||||
public enum Source { |
||||
SERVER, |
||||
INTERNAL |
||||
} |
Loading…
Reference in new issue