|
|
@ -3,6 +3,7 @@ package com.example.demo.controller.coin; |
|
|
import com.example.demo.config.interfac.Log; |
|
|
import com.example.demo.config.interfac.Log; |
|
|
import com.example.demo.domain.entity.Market; |
|
|
import com.example.demo.domain.entity.Market; |
|
|
import com.example.demo.domain.vo.cash.AreaPayTypeTreeVO; |
|
|
import com.example.demo.domain.vo.cash.AreaPayTypeTreeVO; |
|
|
|
|
|
import com.example.demo.domain.vo.cash.PayTypeVO; |
|
|
import com.example.demo.domain.vo.coin.Result; |
|
|
import com.example.demo.domain.vo.coin.Result; |
|
|
import com.example.demo.service.coin.MarketService; |
|
|
import com.example.demo.service.coin.MarketService; |
|
|
import com.example.demo.Util.LanguageTranslationUtil; |
|
|
import com.example.demo.Util.LanguageTranslationUtil; |
|
|
@ -49,18 +50,28 @@ public class MarketController { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//获取市场-支付方式树形结构 |
|
|
|
|
|
|
|
|
//获取市场 - 支付方式树形结构 |
|
|
@RequestMapping("/getAreaPayTypeTree") |
|
|
@RequestMapping("/getAreaPayTypeTree") |
|
|
public Result getAreaPayTypeTree(@RequestHeader(defaultValue = "zh_CN") String lang) { |
|
|
public Result getAreaPayTypeTree(@RequestHeader(defaultValue = "zh_CN") String lang) { |
|
|
try { |
|
|
try { |
|
|
|
|
|
// 解析语言代码 |
|
|
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
|
List<AreaPayTypeTreeVO> marketsTree = marketService.getAreaPayTypeTree(); |
|
|
List<AreaPayTypeTreeVO> marketsTree = marketService.getAreaPayTypeTree(); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不是中文环境,先将翻译后的名称转换为中文简体进行处理 |
|
|
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
|
|
convertTranslatedAreaPayTypeTreeToChinese(marketsTree, languageCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 对地区名称和支付方式名称进行多语言转换 |
|
|
|
|
|
translateAreaPayTypeTree(marketsTree, lang); |
|
|
|
|
|
|
|
|
return Result.success(marketsTree); |
|
|
return Result.success(marketsTree); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.error("获取市场列表失败", e); |
|
|
log.error("获取市场列表失败", e); |
|
|
return Result.error("获取市场列表失败"); |
|
|
|
|
|
|
|
|
String errorMsg = languageTranslationUtil.translate("获取市场列表失败", lang); |
|
|
|
|
|
return Result.error(errorMsg); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -82,6 +93,56 @@ public class MarketController { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
/** |
|
|
/** |
|
|
|
|
|
* 转换地区支付方式树的多语言字段 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void translateAreaPayTypeTree(List<AreaPayTypeTreeVO> treeList, String lang) { |
|
|
|
|
|
if (treeList != null) { |
|
|
|
|
|
for (AreaPayTypeTreeVO node : treeList) { |
|
|
|
|
|
// 翻译地区名称 |
|
|
|
|
|
if (node.getName() != null) { |
|
|
|
|
|
node.setName(languageTranslationUtil.translate(node.getName(), lang)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 翻译支付方式名称 |
|
|
|
|
|
if (node.getChildren() != null) { |
|
|
|
|
|
for (PayTypeVO payType : node.getChildren()) { |
|
|
|
|
|
if (payType.getName() != null) { |
|
|
|
|
|
payType.setName(languageTranslationUtil.translate(payType.getName(), lang)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 将翻译后的地区支付方式树名称转换为中文简体 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void convertTranslatedAreaPayTypeTreeToChinese(List<AreaPayTypeTreeVO> treeList, String languageCode) { |
|
|
|
|
|
if (treeList != null) { |
|
|
|
|
|
for (AreaPayTypeTreeVO node : treeList) { |
|
|
|
|
|
// 转换地区名称 |
|
|
|
|
|
if (node.getName() != null && !node.getName().isEmpty()) { |
|
|
|
|
|
String chineseName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
node.getName(), languageCode); |
|
|
|
|
|
node.setName(chineseName); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 转换支付方式名称 |
|
|
|
|
|
if (node.getChildren() != null) { |
|
|
|
|
|
for (PayTypeVO payType : node.getChildren()) { |
|
|
|
|
|
if (payType.getName() != null && !payType.getName().isEmpty()) { |
|
|
|
|
|
String chineseName = translationService.findChineseSimplifiedByTranslation( |
|
|
|
|
|
payType.getName(), languageCode); |
|
|
|
|
|
payType.setName(chineseName); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
* 解析语言代码 |
|
|
* 解析语言代码 |
|
|
*/ |
|
|
*/ |
|
|
private String parseLanguageCode(String langHeader) { |
|
|
private String parseLanguageCode(String langHeader) { |
|
|
|