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();
|
}
|
}
|