target异常
package tech.foolfish.cpc.ccpbs.exception;
import java.util.Objects;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* APP充电接口异常枚举值
*
* @author xuej
*
*/
@Getter
@AllArgsConstructor
public enum AppChargeApiExceptionEnum {
SYSTEM_FOOLFISH_API_EXCEPTION("501001","接口异常"),
SYSTEM_FOOLFISH_TOKEN_EXCEPTION("501002","Token异常"),
;
/**
* 异常码
*/
private final String code;
/**
* 异常信息
*/
private final String message;
/**
* 解析异常码
*
* @param code
* @return
*/
public static AppChargeApiExceptionEnum parse(String code) {
AppChargeApiExceptionEnum e = resolve(code);
if (e == null) {
throw new IllegalArgumentException("当前异常码不存在 [" + code + "]");
}
return e;
}
/**
* 转化异常码
*
* @param code
* @return
*/
private static AppChargeApiExceptionEnum resolve(String code) {
for (AppChargeApiExceptionEnum e : values()) {
if (Objects.equals(e.code, code)) {
return e;
}
}
return null;
}
}
source异常
package tech.foolfish.cpc.ccpbs.exception;
import java.util.Objects;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
/**
* 充电异常枚举值
*
* @author xuej
*
*/
@Slf4j
@Getter
@AllArgsConstructor
public enum FoolfishChargeExceptionEnum {
UNKNOWN_API_ERROR_CODE("Unknown_Api_Error_Code","未知的错误码"),
B_SYSTEM_TOKEN_EXPIRE("B_System_TokenExpire","token过期"),
;
/**
* 异常码
*/
private final String code;
/**
* 异常信息
*/
private final String message;
/**
* 解析异常码
*
* @param code
* @return
*/
public static FoolfishChargeExceptionEnum parse(String code) {
FoolfishChargeExceptionEnum e = resolve(code);
if (e == null) {
log.warn("未知的错误码,当前异常码不存在 [{}]", code);
return UNKNOWN_API_ERROR_CODE;
}
return e;
}
/**
* 转化异常码
*
* @param code
* @return
*/
private static FoolfishChargeExceptionEnum resolve(String code) {
for (FoolfishChargeExceptionEnum e : values()) {
if (Objects.equals(e.code, code)) {
return e;
}
}
return null;
}
}
异常映射器
package tech.foolfish.cpc.ccpbs.exception;
import org.mapstruct.Mapper;
import org.mapstruct.ValueMapping;
import org.mapstruct.factory.Mappers;
/**
* 异常映射器
*
* @author xuej
*
*/
@Mapper
public interface AppChargeExceptionMapper {
AppChargeExceptionMapper INSTANCE = Mappers.getMapper(AppChargeExceptionMapper.class);
@ValueMapping(target = "SYSTEM_FOOLFISH_API_EXCEPTION", source = "UNKNOWN_API_ERROR_CODE")
@ValueMapping(target = "SYSTEM_FOOLFISH_TOKEN_EXCEPTION", source = "B_SYSTEM_TOKEN_EXPIRE")
AppChargeApiExceptionEnum toAppChargeApiExceptionEnum(FoolfishChargeExceptionEnum foolfishChargeExceptionEnum);
}