update 优化 翻译组件 支持返回值泛型 支持多种类型数据翻译(例如: 根据主键翻译成对象)
已修改7个文件
29 ■■■■ 文件已修改
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/config/TranslationConfig.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/TranslationInterface.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/handler/TranslationHandler.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/DeptNameTranslationImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/DictTypeTranslationImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/OssUrlTranslationImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/UserNameTranslationImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/config/TranslationConfig.java
@@ -24,15 +24,15 @@
public class TranslationConfig {
    @Autowired
    private List<TranslationInterface> list;
    private List<TranslationInterface<?>> list;
    @Autowired
    private ObjectMapper objectMapper;
    @PostConstruct
    public void init() {
        Map<String, TranslationInterface> map = new HashMap<>(list.size());
        for (TranslationInterface trans : list) {
        Map<String, TranslationInterface<?>> map = new HashMap<>(list.size());
        for (TranslationInterface<?> trans : list) {
            if (trans.getClass().isAnnotationPresent(TranslationType.class)) {
                TranslationType annotation = trans.getClass().getAnnotation(TranslationType.class);
                map.put(annotation.type(), trans);
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/TranslationInterface.java
@@ -5,13 +5,14 @@
 *
 * @author Lion Li
 */
public interface TranslationInterface {
public interface TranslationInterface<T> {
    /**
     * 翻译
     *
     * @param key 需要被翻译的键(不为空)
     * @param key   需要被翻译的键(不为空)
     * @param other 其他参数
     * @return 返回键对应的值
     */
    String translation(Object key, String other);
    T translation(Object key, String other);
}
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/handler/TranslationHandler.java
@@ -29,13 +29,13 @@
    /**
     * 全局翻译实现类映射器
     */
    public static final Map<String, TranslationInterface> TRANSLATION_MAPPER = new ConcurrentHashMap<>();
    public static final Map<String, TranslationInterface<?>> TRANSLATION_MAPPER = new ConcurrentHashMap<>();
    private Translation translation;
    @Override
    public void serialize(Object value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
        TranslationInterface trans = TRANSLATION_MAPPER.get(translation.type());
        TranslationInterface<?> trans = TRANSLATION_MAPPER.get(translation.type());
        if (ObjectUtil.isNotNull(trans)) {
            // 如果映射字段不为空 则取映射字段的值
            if (StringUtils.isNotBlank(translation.mapper())) {
@@ -46,8 +46,8 @@
                gen.writeNull();
                return;
            }
            String result = trans.translation(value, translation.other());
            gen.writeString(result);
            Object result = trans.translation(value, translation.other());
            gen.writeObject(result);
        } else {
            gen.writeObject(value);
        }
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/DeptNameTranslationImpl.java
@@ -15,7 +15,7 @@
@Component
@AllArgsConstructor
@TranslationType(type = TransConstant.DEPT_ID_TO_NAME)
public class DeptNameTranslationImpl implements TranslationInterface {
public class DeptNameTranslationImpl implements TranslationInterface<String> {
    private final DeptService deptService;
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/DictTypeTranslationImpl.java
@@ -16,7 +16,7 @@
@Component
@AllArgsConstructor
@TranslationType(type = TransConstant.DICT_TYPE_TO_LABEL)
public class DictTypeTranslationImpl implements TranslationInterface {
public class DictTypeTranslationImpl implements TranslationInterface<String> {
    private final DictService dictService;
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/OssUrlTranslationImpl.java
@@ -15,7 +15,7 @@
@Component
@AllArgsConstructor
@TranslationType(type = TransConstant.OSS_ID_TO_URL)
public class OssUrlTranslationImpl implements TranslationInterface {
public class OssUrlTranslationImpl implements TranslationInterface<String> {
    private final OssService ossService;
ruoyi-common/ruoyi-common-translation/src/main/java/com/ruoyi/common/translation/core/impl/UserNameTranslationImpl.java
@@ -15,7 +15,7 @@
@Component
@AllArgsConstructor
@TranslationType(type = TransConstant.USER_ID_TO_NAME)
public class UserNameTranslationImpl implements TranslationInterface {
public class UserNameTranslationImpl implements TranslationInterface<String> {
    private final UserService userService;