Commit 8dfe8ea4 by giaogiao

多语言国际化,根据http上下文, 取得heard中的language语言属性,实现不用在业务代码中传递语言字段

parent 2ce8e534
...@@ -18,11 +18,13 @@ package io.geekidea.springbootplus.framework.common.api; ...@@ -18,11 +18,13 @@ package io.geekidea.springbootplus.framework.common.api;
import io.geekidea.springbootplus.framework.config.il8n.I18nMessageUtil; import io.geekidea.springbootplus.framework.config.il8n.I18nMessageUtil;
import io.geekidea.springbootplus.framework.config.il8n.LanguageEnum; import io.geekidea.springbootplus.framework.config.il8n.LanguageEnum;
import io.geekidea.springbootplus.framework.util.HttpServletRequestUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;
...@@ -82,6 +84,13 @@ public class ApiResult<T> implements Serializable { ...@@ -82,6 +84,13 @@ public class ApiResult<T> implements Serializable {
return fail(); return fail();
} }
public static ApiResult<Boolean> result(boolean flag, String language) {
if (flag) {
return ok(null, language);
}
return fail(language);
}
public static ApiResult<Boolean> result(ApiCode apiCode) { public static ApiResult<Boolean> result(ApiCode apiCode) {
return result(apiCode, null); return result(apiCode, null);
} }
...@@ -101,6 +110,10 @@ public class ApiResult<T> implements Serializable { ...@@ -101,6 +110,10 @@ public class ApiResult<T> implements Serializable {
// success = true; // success = true;
// } // }
// 多语言国际化,根据http上下文, 取得heard中的language语言属性,实现不用在业务代码中传递语言字段
HttpServletRequest request = HttpServletRequestUtil.getRequest();
language = request.getHeader("language");
String success = "SUCCESS"; String success = "SUCCESS";
try { try {
message = I18nMessageUtil.getMessage(LanguageEnum.getLanguageType(language), apiCode.getMessage(), success); message = I18nMessageUtil.getMessage(LanguageEnum.getLanguageType(language), apiCode.getMessage(), success);
...@@ -158,7 +171,13 @@ public class ApiResult<T> implements Serializable { ...@@ -158,7 +171,13 @@ public class ApiResult<T> implements Serializable {
throw new RuntimeException("失败结果状态码不能为" + ApiCode.SUCCESS.getCode()); throw new RuntimeException("失败结果状态码不能为" + ApiCode.SUCCESS.getCode());
} }
return result(apiCode, data); return result(apiCode, data);
}
public static <T> ApiResult<T> fail(ApiCode apiCode, T data, String language) {
if (ApiCode.SUCCESS == apiCode) {
throw new RuntimeException("失败结果状态码不能为" + ApiCode.SUCCESS.getCode());
}
return result(apiCode, data, language);
} }
public static ApiResult<String> fail(Integer errorCode, String message) { public static ApiResult<String> fail(Integer errorCode, String message) {
...@@ -177,4 +196,8 @@ public class ApiResult<T> implements Serializable { ...@@ -177,4 +196,8 @@ public class ApiResult<T> implements Serializable {
public static ApiResult<Boolean> fail() { public static ApiResult<Boolean> fail() {
return fail(ApiCode.FAIL); return fail(ApiCode.FAIL);
} }
public static ApiResult<Boolean> fail(String language) {
return fail(ApiCode.FAIL, language);
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment