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