This commit is contained in:
六如
2024-10-28 09:13:08 +08:00
parent d3b80f63b8
commit 08f708d8a4
9 changed files with 37 additions and 51 deletions

View File

@@ -6,7 +6,6 @@ import com.gitee.sop.gateway.service.ParamExecutorImpl;
import com.gitee.sop.gateway.service.RouteService;
import com.gitee.sop.gateway.service.RouteServiceImpl;
import com.gitee.sop.gateway.service.interceptor.internal.ResultRouteInterceptor;
import com.gitee.sop.gateway.service.interceptor.internal.ResultWrapperInterceptor;
import com.gitee.sop.gateway.service.manager.ApiManager;
import com.gitee.sop.gateway.service.manager.IsvApiPermissionManager;
import com.gitee.sop.gateway.service.manager.IsvManager;

View File

@@ -6,14 +6,13 @@ import org.springframework.context.support.MessageSourceAccessor;
import org.springframework.context.support.ResourceBundleMessageSource;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
/**
@@ -31,11 +30,9 @@ public final class ErrorFactory {
private static final String I18N_OPEN_ERROR = "i18n/open/error";
public static final String UNDERLINE = "_";
private static Set<String> noModuleCache = new HashSet<>();
private static final Set<String> NO_MODULE_CACHE = new HashSet<>();
private static Map<String, IError> errorCache = new HashMap<>(64);
private static List<Locale> localeList = Arrays.asList(Locale.ENGLISH, Locale.SIMPLIFIED_CHINESE);
private static final List<Locale> LOCALE_LIST = Arrays.asList(Locale.ENGLISH, Locale.SIMPLIFIED_CHINESE);
private ErrorFactory() {
}
@@ -81,7 +78,7 @@ public final class ErrorFactory {
if (localeStr.startsWith(ZH)) {
locale = Locale.SIMPLIFIED_CHINESE;
}
if (!localeList.contains(locale)) {
if (!LOCALE_LIST.contains(locale)) {
locale = Locale.ENGLISH;
}
String key = errorMeta.getModulePrefix() + errorMeta.getCode() + errorMeta.getSubCode() + locale.toString();
@@ -93,10 +90,10 @@ public final class ErrorFactory {
String subCode = errorMeta.getSubCode();
// open.error_20000_isp.unknown-error=Service is temporarily unavailable
String subMsg = getErrorMessage(modulePrefix + code + UNDERLINE + subCode, locale, params);
if (StringUtils.isEmpty(msg)) {
if (ObjectUtils.isEmpty(msg)) {
msg = SYS_ERR;
}
if (StringUtils.isEmpty(subMsg)) {
if (ObjectUtils.isEmpty(subMsg)) {
subMsg = SYS_ERR;
}
// solution暂未实现如果要实现可以这样配置
@@ -119,13 +116,13 @@ public final class ErrorFactory {
* @return 返回信息
*/
public static String getErrorMessage(String module, Locale locale, Object... params) {
if (noModuleCache.contains(module)) {
if (NO_MODULE_CACHE.contains(module)) {
return null;
}
try {
return errorMessageSourceAccessor.getMessage(module, params, locale);
} catch (Exception e) {
noModuleCache.add(module);
NO_MODULE_CACHE.add(module);
return null;
}
}

View File

@@ -79,34 +79,32 @@ public class ApiResponse extends BaseResponse {
public static ApiResponse error(ApiException e) {
ApiResponse apiResponse = new ApiResponse();
IError error = e.getError();
apiResponse.setCode(error.getCode());
apiResponse.setMsg(error.getMsg());
apiResponse.setSubCode(error.getSubCode());
apiResponse.setSubMsg(error.getSubMsg());
return apiResponse;
return error(error);
}
public static ApiResponse error(ErrorEnum errorEnum, Locale locale, String subMsg) {
ApiResponse apiResponse = new ApiResponse();
ErrorMeta errorMeta = errorEnum.getErrorMeta();
IError error = errorMeta.getError(locale);
apiResponse.setCode(error.getCode());
apiResponse.setMsg(error.getMsg());
apiResponse.setSubCode(error.getSubCode());
apiResponse.setSubMsg(subMsg);
return apiResponse;
return error(error, subMsg);
}
public static ApiResponse error(ErrorEnum errorEnum, Locale locale) {
ApiResponse apiResponse = new ApiResponse();
ErrorMeta errorMeta = errorEnum.getErrorMeta();
IError error = errorMeta.getError(locale);
apiResponse.setCode(error.getCode());
apiResponse.setMsg(error.getMsg());
return error(error);
}
public static ApiResponse error(IError error) {
return error(error, error.getSubMsg());
}
public static ApiResponse error(IError error, String subMsg) {
ApiResponse apiResponse = new ApiResponse();
apiResponse.setSubCode(error.getSubCode());
apiResponse.setSubMsg(error.getSubMsg());
apiResponse.setCode(error.getCode());
apiResponse.setMsg(subMsg);
return apiResponse;
}

View File

@@ -79,34 +79,32 @@ public class ApiResponseLower extends BaseResponse {
public static ApiResponseLower error(ApiException e) {
ApiResponseLower apiResponse = new ApiResponseLower();
IError error = e.getError();
apiResponse.setCode(error.getCode());
apiResponse.setMsg(error.getMsg());
apiResponse.setSub_code(error.getSubCode());
apiResponse.setSub_msg(error.getSubMsg());
return apiResponse;
return error(error);
}
public static ApiResponseLower error(ErrorEnum errorEnum, Locale locale, String subMsg) {
ApiResponseLower apiResponse = new ApiResponseLower();
ErrorMeta errorMeta = errorEnum.getErrorMeta();
IError error = errorMeta.getError(locale);
apiResponse.setCode(error.getCode());
apiResponse.setMsg(error.getMsg());
apiResponse.setSub_code(error.getSubCode());
apiResponse.setSub_msg(subMsg);
return apiResponse;
return error(error, subMsg);
}
public static ApiResponseLower error(ErrorEnum errorEnum, Locale locale) {
ApiResponseLower apiResponse = new ApiResponseLower();
ErrorMeta errorMeta = errorEnum.getErrorMeta();
IError error = errorMeta.getError(locale);
apiResponse.setCode(error.getCode());
apiResponse.setMsg(error.getMsg());
return error(error);
}
public static ApiResponseLower error(IError error) {
return error(error, error.getSubMsg());
}
public static ApiResponseLower error(IError error, String subMsg) {
ApiResponseLower apiResponse = new ApiResponseLower();
apiResponse.setSub_code(error.getSubCode());
apiResponse.setSub_msg(error.getSubMsg());
apiResponse.setCode(error.getCode());
apiResponse.setMsg(subMsg);
return apiResponse;
}

View File

@@ -44,6 +44,7 @@ public class GenericServiceInvoker implements InitializingBean {
return config;
}
@SuppressWarnings("uncheck")
public Object invoke(String interfaceName, String method, String[] parameterTypes, Object[] params) {
ReferenceConfig<GenericService> reference = new ReferenceConfig<>();
reference.setGeneric(TRUE);

View File

@@ -1,7 +1,6 @@
package com.gitee.sop.gateway.service;
import com.gitee.sop.gateway.request.ApiRequestContext;
import com.gitee.sop.gateway.response.ApiResponse;
import com.gitee.sop.gateway.response.Response;
import java.io.IOException;

View File

@@ -7,7 +7,6 @@ import com.gitee.sop.gateway.config.ApiConfig;
import com.gitee.sop.gateway.request.ApiRequest;
import com.gitee.sop.gateway.request.ApiRequestContext;
import com.gitee.sop.gateway.request.UploadContext;
import com.gitee.sop.gateway.response.ApiResponse;
import com.gitee.sop.gateway.response.Response;
import com.gitee.sop.gateway.util.RequestUtil;
import com.gitee.sop.gateway.util.ResponseUtil;
@@ -15,8 +14,8 @@ import com.gitee.sop.support.dto.FileData;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

View File

@@ -7,12 +7,8 @@ import com.gitee.sop.gateway.response.ApiResponse;
import com.gitee.sop.gateway.response.ApiResponseLower;
import com.gitee.sop.gateway.service.interceptor.RouteInterceptor;
import com.gitee.sop.gateway.service.interceptor.RouteInterceptorOrders;
import com.gitee.sop.support.dto.CommonFileData;
import com.gitee.sop.support.dto.FileData;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;