[测评系统]--测评系统核心代码库
zhijie
2022-09-19 e3f8089c830d5c6e7477090cf447bed65e80be9f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.ots.common.utils;
import com.ots.common.enums.LangTypeEnum;
import com.ots.common.utils.spring.SpringUtils;
import com.ots.project.system.dict.domain.DictData;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import java.util.Locale;
import java.util.Objects;
 
public class MessageUtils {
    
    public static String message(String code, Object... args) {
        MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
        return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
    }
    
    public static String messageByDefineLangType(DictData dictDatum, String langType, Object... args) {
        MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
        Locale messageType = Locale.CHINA;
        if (Objects.equals(langType, LangTypeEnum.Chinese.getCode())) {
            if (StringUtils.isNotBlank(dictDatum.getChinese())) {
                return dictDatum.getChinese();
            }
            messageType = new Locale("zh", "CN", "CN");
        } else if (Objects.equals(langType, LangTypeEnum.English.getCode())) {
            if (StringUtils.isNotBlank(dictDatum.getEnglish())) {
                return dictDatum.getEnglish();
            }
            messageType = new Locale("en", "US", "US");
        } else if (Objects.equals(langType, LangTypeEnum.Thai.getCode())) {
            if (StringUtils.isNotBlank(dictDatum.getThai())) {
                return dictDatum.getThai();
            }
            messageType = new Locale("th", "TH", "TH");
        }
        String code = dictDatum.getInternationalCode();
        if (StringUtils.isNotBlank(code)) {
            return messageSource.getMessage(code, args, messageType);
        }
        return dictDatum.getDictLabel();
    }
}