diff --git a/src/main/java/com/example/demo/controller/coin/ConsumeController.java b/src/main/java/com/example/demo/controller/coin/ConsumeController.java index 63a42ab..a2b8ca7 100644 --- a/src/main/java/com/example/demo/controller/coin/ConsumeController.java +++ b/src/main/java/com/example/demo/controller/coin/ConsumeController.java @@ -43,7 +43,6 @@ public class ConsumeController { @Autowired private ConsumeService consumeService; - // 注入多语言转换工具类 @Autowired private LanguageTranslationUtil languageTranslationUtil; @@ -213,24 +212,41 @@ public class ConsumeController { // } // } - public Result select(@RequestBody Page page) { + public Result select(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) { try { //页码校验 if (ObjectUtils.isEmpty(page.getPageNum())) { - return Result.error("页码数为空!"); + String errorMsg = languageTranslationUtil.translate("页码数为空!", lang); + return Result.error(errorMsg); } //页面大小校验 if (ObjectUtils.isEmpty(page.getPageSize())) { - return Result.error("页大小为空!"); + String errorMsg = languageTranslationUtil.translate("页大小为空!", lang); + return Result.error(errorMsg); } else { + // 解析语言参数,提取语言代码 + String languageCode = parseLanguageCode(lang); + + // 如果不是中文,则尝试将查询条件中的翻译文本转换为中文简体 + if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { + convertTranslatedFieldsToChinese(page.getConsumeUser(), languageCode); + } - return Result.success(consumeService.selectBy(page.getPageNum(), page.getPageSize(), page.getConsumeUser())); + Result result = Result.success(consumeService.selectBy(page.getPageNum(), page.getPageSize(), page.getConsumeUser())); + + // 对返回结果进行多语言转换 + if (result.getCode() == 200 && result.getData() instanceof PageInfo) { + PageInfo pageInfo = (PageInfo) result.getData(); + translateConsumeUsers(pageInfo, lang); + } + + return result; } } catch (Exception e) { e.printStackTrace(); - return Result.error("请检查筛选数据的格式"); + String errorMsg = languageTranslationUtil.translate("请检查筛选数据的格式", lang); + return Result.error(errorMsg); } - } /** @@ -247,10 +263,6 @@ public class ConsumeController { if (user.getGoodsName() != null) { user.setGoodsName(languageTranslationUtil.translate(user.getGoodsName(), lang)); } -// // 翻译支付平台 -// if (user.getPayPlatform() != null) { -// user.setPayPlatform(languageTranslationUtil.translate(user.getPayPlatform(), lang)); -// } // 翻译退款状态 if (user.getIsRefund() != null) { if (user.getIsRefund() == 1) { @@ -299,14 +311,6 @@ public class ConsumeController { consumeUser.getMarket(), languageCode); consumeUser.setMarket(chineseMarket); } - -// // 转换支付平台 -// if (consumeUser.getPayPlatform() != null && !consumeUser.getPayPlatform().isEmpty()) { -// String chinesePlatform = translationService.findChineseSimplifiedByTranslation( -// consumeUser.getPayPlatform(), languageCode); -// consumeUser.setPayPlatform(chinesePlatform); -// } } } - } diff --git a/src/main/java/com/example/demo/controller/coin/ExportController.java b/src/main/java/com/example/demo/controller/coin/ExportController.java index 1598214..74257a4 100644 --- a/src/main/java/com/example/demo/controller/coin/ExportController.java +++ b/src/main/java/com/example/demo/controller/coin/ExportController.java @@ -87,7 +87,8 @@ public class ExportController { try { // 尝试获取锁 if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { - throw new BusinessException("操作太频繁,请稍后重试"); + String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); + throw new BusinessException(errorMsg); } // 执行业务逻辑 return exportService.addExportRecharge(dto); @@ -117,7 +118,8 @@ public class ExportController { try { // 尝试获取锁 if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { - throw new BusinessException("操作太频繁,请稍后重试"); + String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); + throw new BusinessException(errorMsg); } // 执行业务逻辑 return exportService.addExportRefund(dto); @@ -153,14 +155,15 @@ public class ExportController { } @PostMapping("/exportLive") - public Result export(@Valid @RequestBody LiveDTO dto) { + public Result export(@Valid @RequestBody LiveDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) { String lockKey = "export:lock:" + dto.getToken(); String requestId = UUID.randomUUID().toString(); long expireTime = 5000; try { // 尝试获取锁 if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { - throw new BusinessException("操作太频繁,请稍后重试"); + String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); + throw new BusinessException(errorMsg); } // 执行业务逻辑 return exportService.addExportLive(dto); @@ -171,14 +174,15 @@ public class ExportController { } @PostMapping("/exportFan") - public Result export(@Valid @RequestBody FanDTO dto){ + public Result export(@Valid @RequestBody FanDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang){ String lockKey = "export:lock:" + dto.getToken(); String requestId = UUID.randomUUID().toString(); long expireTime = 5000; try { // 尝试获取锁 if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { - throw new BusinessException("操作太频繁,请稍后重试"); + String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); + throw new BusinessException(errorMsg); } // 执行业务逻辑 return exportService.addExportFan(dto); @@ -189,14 +193,15 @@ public class ExportController { } @PostMapping("/exportArticle") - public Result export(@Valid @RequestBody ArticleDTO dto){ + public Result export(@Valid @RequestBody ArticleDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang){ String lockKey = "export:lock:" + dto.getToken(); String requestId = UUID.randomUUID().toString(); long expireTime = 5000; try { // 尝试获取锁 if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { - throw new BusinessException("操作太频繁,请稍后重试"); + String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); + throw new BusinessException(errorMsg); } // 执行业务逻辑 return exportService.addExportArticle(dto); @@ -207,14 +212,15 @@ public class ExportController { } @PostMapping("/exportBean") - public Result export(@Valid @RequestBody BeanRechargeDTO dto){ + public Result export(@Valid @RequestBody BeanRechargeDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang){ String lockKey = "export:lock:" + dto.getToken(); String requestId = UUID.randomUUID().toString(); long expireTime = 5000; try { // 尝试获取锁 if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { - throw new BusinessException("操作太频繁,请稍后重试"); + String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); + throw new BusinessException(errorMsg); } // 执行业务逻辑 return exportService.addExportBean(dto); @@ -225,14 +231,15 @@ public class ExportController { } @PostMapping("/exportol") - public Result exportol(@Valid @RequestBody OnlineDTO dto) throws Exception { + public Result exportol(@Valid @RequestBody OnlineDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) throws Exception { String lockKey = "export:lock:" + dto.getToken(); String requestId = UUID.randomUUID().toString(); long expireTime = 5000; try { // 尝试获取锁 if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { - throw new BusinessException("操作太频繁,请稍后重试"); + String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); + throw new BusinessException(errorMsg); } // 执行业务逻辑 return exportService.addExportOnline(dto); @@ -246,14 +253,15 @@ public class ExportController { * 负责人退款导出 */ @PostMapping("/exportFinance") - public Result exportFinance(@Valid @RequestBody FinanceDTO dto) { + public Result exportFinance(@Valid @RequestBody FinanceDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) { String lockKey = "export:lock:" + dto.getToken(); String requestId = UUID.randomUUID().toString(); long expireTime = 5000; try { // 尝试获取锁 if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { - throw new BusinessException("操作太频繁,请稍后重试"); + String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); + throw new BusinessException(errorMsg); } // 执行业务逻辑 return exportService.addExportFinance(dto); @@ -264,14 +272,15 @@ public class ExportController { } @PostMapping("/exportCash") - public Result exportCash(@Valid @RequestBody CashDTO dto) { + public Result exportCash(@Valid @RequestBody CashDTO dto, @RequestHeader(defaultValue = "zh_CN") String lang) { String lockKey = "export:lock:" + dto.getToken(); String requestId = UUID.randomUUID().toString(); long expireTime = 5000; try { // 尝试获取锁 if (!redisLockUtil.tryLock(lockKey, requestId, expireTime)) { - throw new BusinessException("操作太频繁,请稍后重试"); + String errorMsg = languageTranslationUtil.translate("操作太频繁,请稍后重试", lang); + throw new BusinessException(errorMsg); } // 执行业务逻辑 return exportService.addExportCash(dto); diff --git a/src/main/java/com/example/demo/controller/coin/GoldDetailController.java b/src/main/java/com/example/demo/controller/coin/GoldDetailController.java index 5a597fc..cf7bfdf 100644 --- a/src/main/java/com/example/demo/controller/coin/GoldDetailController.java +++ b/src/main/java/com/example/demo/controller/coin/GoldDetailController.java @@ -50,11 +50,8 @@ import java.util.UUID; public class GoldDetailController { @Autowired private GoldDetailService goldDetailService; - - // 注入多语言转换工具类 @Autowired private LanguageTranslationUtil languageTranslationUtil; - @Autowired private RedisLockUtil redisLockUtil; @Autowired @@ -303,31 +300,66 @@ public class GoldDetailController { } } @PostMapping("/exportqqq") - public Result ExcelGoldDetail(@RequestBody Page page) throws Exception { + public Result ExcelGoldDetail(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) throws Exception { + // 解析语言代码 + String languageCode = parseLanguageCode(lang); + + // 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 + if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { + convertGoldDetailTranslatedFieldsToChinese(page.getGoldDetail(), languageCode); + } if(ObjectUtils.isEmpty(page.getPageNum())){ - return Result.error("页码数为空!"); + String errorMsg = languageTranslationUtil.translate("页码数为空!", lang); + return Result.error(errorMsg); } if(ObjectUtils.isEmpty(page.getPageSize())){ - return Result.error("页大小为空!"); + String errorMsg = languageTranslationUtil.translate("页大小为空!", lang); + return Result.error(errorMsg); } else{ + Result result = Result.success(goldDetailService.getGoldDetail(page.getPageNum(), page.getPageSize(), page.getGoldDetail())); - return Result.success(goldDetailService.getGoldDetail(page.getPageNum(), page.getPageSize(), page.getGoldDetail())); + // 对返回结果进行多语言转换 + if (result.getCode() == 200 && result.getData() instanceof PageInfo) { + PageInfo pageInfo = (PageInfo) result.getData(); + translateGoldDetails(pageInfo, lang); + } + + return result; } } - public Result ExcelGold(@RequestBody Page page) throws Exception { -// System.out.println( page); + + public Result ExcelGold(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) throws Exception { + // 解析语言代码 + String languageCode = parseLanguageCode(lang); + + // 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 + if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { + convertUserTranslatedFieldsToChinese(page.getUser(), languageCode); + } + if(ObjectUtils.isEmpty(page.getPageNum())){ - return Result.error("页码数为空!"); + String errorMsg = languageTranslationUtil.translate("页码数为空!", lang); + return Result.error(errorMsg); } if(ObjectUtils.isEmpty(page.getPageSize())){ - return Result.error("页大小为空!"); + String errorMsg = languageTranslationUtil.translate("页大小为空!", lang); + return Result.error(errorMsg); + } + + Result result = Result.success(goldDetailService.getGold(page.getPageNum(), page.getPageSize(), page.getUser())); + + // 对返回结果进行多语言转换 + if (result.getCode() == 200 && result.getData() instanceof PageInfo) { + PageInfo pageInfo = (PageInfo) result.getData(); + translateUsers(pageInfo, lang); } - return Result.success(goldDetailService.getGold(page.getPageNum(), page.getPageSize(), page.getUser())); + return result; } + /* 更新用户消费次数 */ @@ -346,10 +378,6 @@ public class GoldDetailController { if (detail.getMarket() != null) { detail.setMarket(languageTranslationUtil.translate(detail.getMarket(), lang)); } -// // 翻译支付平台("平台信息") -// if (detail.getPayPlatform() != null) { -// detail.setPayPlatform(languageTranslationUtil.translate(detail.getPayPlatform(), lang)); -// } // 翻译类型("更新类型") - 需要根据type的值进行转换 if (detail.getType() != null) { String typeDesc = convertTypeToString(detail.getType()); @@ -425,13 +453,6 @@ public class GoldDetailController { goldDetail.getGoodsName(), languageCode); goldDetail.setGoodsName(chineseGoodsName); } - - // 转换支付平台 - if (goldDetail.getPayPlatform() != null && !goldDetail.getPayPlatform().isEmpty()) { - String chinesePayPlatform = translationService.findChineseSimplifiedByTranslation( - goldDetail.getPayPlatform(), languageCode); - goldDetail.setPayPlatform(chinesePayPlatform); - } } } diff --git a/src/main/java/com/example/demo/controller/coin/RechargeController.java b/src/main/java/com/example/demo/controller/coin/RechargeController.java index 4864c0a..bddb7d9 100644 --- a/src/main/java/com/example/demo/controller/coin/RechargeController.java +++ b/src/main/java/com/example/demo/controller/coin/RechargeController.java @@ -36,12 +36,8 @@ import java.util.List; @Slf4j @CrossOrigin public class RechargeController { - - @Autowired private RechargeService rechargeService; - - // 注入多语言转换工具类 @Autowired private LanguageTranslationUtil languageTranslationUtil; @Autowired @@ -165,23 +161,42 @@ public class RechargeController { } - public Result select(@RequestBody Page page) { + public Result select(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) { try { if (ObjectUtils.isEmpty(page.getPageNum())) { - return Result.error("页码数为空!"); + String errorMsg = languageTranslationUtil.translate("页码数为空!", lang); + return Result.error(errorMsg); } if (ObjectUtils.isEmpty(page.getPageSize())) { - return Result.error("页大小为空!"); + String errorMsg = languageTranslationUtil.translate("页大小为空!", lang); + return Result.error(errorMsg); } else { + // 解析语言代码 + String languageCode = parseLanguageCode(lang); + + // 如果不是中文环境,将查询条件中的翻译文本转换为中文简体 + if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { + convertRechargeTranslatedFieldsToChinese(page.getRechargeUser(), languageCode); + } + //解token权限 - return Result.success(rechargeService.selectBy(page.getPageNum(), page.getPageSize(), page.getRechargeUser())); + Result result = Result.success(rechargeService.selectBy(page.getPageNum(), page.getPageSize(), page.getRechargeUser())); + + // 对返回结果进行多语言转换 + if (result.getCode() == 200 && result.getData() instanceof PageInfo) { + PageInfo pageInfo = (PageInfo) result.getData(); + translateRechargeUsers(pageInfo, lang); + } + + return result; } } catch (Exception e) { - return Result.error(e.getMessage()); + String errorMsg = languageTranslationUtil.translate("查询失败", lang); + return Result.error(errorMsg + ": " + e.getMessage()); } - } + /** * 转换充值用户信息的多语言字段 */ @@ -192,10 +207,6 @@ public class RechargeController { if (user.getMarket() != null) { user.setMarket(languageTranslationUtil.translate(user.getMarket(), lang)); } -// // 翻译活动名称 -// if (user.getActivity() != null) { -// user.setActivity(languageTranslationUtil.translate(user.getActivity(), lang)); -// } // 翻译汇率名称 if (user.getRateName() != null) { user.setRateName(languageTranslationUtil.translate(user.getRateName(), lang)); @@ -204,10 +215,6 @@ public class RechargeController { if (user.getPayModel() != null) { user.setPayModel(languageTranslationUtil.translate(user.getPayModel(), lang)); } -// // 翻译支付平台 -// if (user.getPayPlatform() != null) { -// user.setPayPlatform(languageTranslationUtil.translate(user.getPayPlatform(), lang)); -// } // 翻译备注 if (user.getRemark() != null) { user.setRemark(languageTranslationUtil.translate(user.getRemark(), lang)); @@ -246,13 +253,6 @@ public class RechargeController { rechargeUser.setMarket(chineseMarket); } - // 转换活动名称 - if (rechargeUser.getActivity() != null && !rechargeUser.getActivity().isEmpty()) { - String chineseActivity = translationService.findChineseSimplifiedByTranslation( - rechargeUser.getActivity(), languageCode); - rechargeUser.setActivity(chineseActivity); - } - // 转换汇率名称 if (rechargeUser.getRateName() != null && !rechargeUser.getRateName().isEmpty()) { String chineseRateName = translationService.findChineseSimplifiedByTranslation( @@ -267,13 +267,6 @@ public class RechargeController { rechargeUser.setPayModel(chinesePayModel); } - // 转换支付平台 - if (rechargeUser.getPayPlatform() != null && !rechargeUser.getPayPlatform().isEmpty()) { - String chinesePayPlatform = translationService.findChineseSimplifiedByTranslation( - rechargeUser.getPayPlatform(), languageCode); - rechargeUser.setPayPlatform(chinesePayPlatform); - } - // 转换备注 if (rechargeUser.getRemark() != null && !rechargeUser.getRemark().isEmpty()) { String chineseRemark = translationService.findChineseSimplifiedByTranslation( @@ -282,5 +275,4 @@ public class RechargeController { } } } - } diff --git a/src/main/java/com/example/demo/controller/coin/RefundController.java b/src/main/java/com/example/demo/controller/coin/RefundController.java index e77f690..3bfd5cc 100644 --- a/src/main/java/com/example/demo/controller/coin/RefundController.java +++ b/src/main/java/com/example/demo/controller/coin/RefundController.java @@ -39,18 +39,16 @@ public class RefundController { @Autowired private RefundService refundService; - // 注入 TranslationService @Autowired private TranslationService translationService; - // 注入多语言转换工具类 @Autowired private LanguageTranslationUtil languageTranslationUtil; //退款明细 @Log("获取全部退款明细") @PostMapping("/selectAll") - public Result selectAll(@RequestBody Page page, @RequestHeader(defaultValue = "zh") String lang) { + public Result selectAll(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) { try { // 解析语言代码 String languageCode = parseLanguageCode(lang); @@ -99,7 +97,7 @@ public class RefundController { //退款筛选 @Log("退款明细筛选") @PostMapping("/selectBy") - public Result selectBy(@RequestBody Page page, @RequestHeader(defaultValue = "zh") String lang) { + public Result selectBy(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) { try { // 解析语言代码 String languageCode = parseLanguageCode(lang); @@ -143,7 +141,7 @@ public class RefundController { //退款金币统计 @Log("退款金币合计数统计") @PostMapping("/statsGold") - public Result statsGold(@RequestBody RefundUser refundUser, @RequestHeader(defaultValue = "zh") String lang) { + public Result statsGold(@RequestBody RefundUser refundUser, @RequestHeader(defaultValue = "zh_CN") String lang) { try { // 解析语言代码 String languageCode = parseLanguageCode(lang); @@ -172,7 +170,7 @@ public class RefundController { //获取退款类型 @Log("获取退款类型") @PostMapping("/refundType") - public Result getRefundType(@RequestHeader(defaultValue = "zh") String lang) { + public Result getRefundType(@RequestHeader(defaultValue = "zh_CN") String lang) { // 解析语言代码 String languageCode = parseLanguageCode(lang); @@ -191,7 +189,7 @@ public class RefundController { //筛选产品 // @Log("筛选商品") @PostMapping("/selectGoods") - public Result getSelectGoods(@RequestBody RefundUser refundUser, @RequestHeader(defaultValue = "zh") String lang) { + public Result getSelectGoods(@RequestBody RefundUser refundUser, @RequestHeader(defaultValue = "zh_CN") String lang) { // 解析语言代码 String languageCode = parseLanguageCode(lang); @@ -207,7 +205,7 @@ public class RefundController { //消耗金币退款 @Log("新增金币退款") @PostMapping("/add") - public Result add(@RequestBody RefundUser refundUser, @RequestHeader(defaultValue = "zh") String lang) { + public Result add(@RequestBody RefundUser refundUser, @RequestHeader(defaultValue = "zh_CN") String lang) { try { // 解析语言代码 String languageCode = parseLanguageCode(lang); @@ -225,7 +223,7 @@ public class RefundController { } } - public Result select(@RequestBody Page page, @RequestHeader(defaultValue = "zh") String lang) { + public Result select(@RequestBody Page page, @RequestHeader(defaultValue = "zh_CN") String lang) { try { // 解析语言代码 String languageCode = parseLanguageCode(lang); diff --git a/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java index 1711d3a..76127ad 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java @@ -100,7 +100,15 @@ public class ExportExcelServiceImpl implements ExportExcelService { JsonNode GoldDetailNode = requestDataNode.path("goldDetail"); GoldDetail goldDetail = objectMapper.treeToValue(GoldDetailNode, GoldDetail.class); page.setGoldDetail(goldDetail); - return goldDetailController.ExcelGoldDetail(page); + + // 从请求数据中获取语言设置,如果没有则使用默认值 + String lang = "zh_CN"; + JsonNode langNode = requestDataNode.path("lang"); + if (langNode != null && !langNode.asText().isEmpty()) { + lang = langNode.asText(); + } + + return goldDetailController.ExcelGoldDetail(page, lang); } catch (Exception e) { throw new RuntimeException(e); } @@ -117,7 +125,15 @@ public class ExportExcelServiceImpl implements ExportExcelService { JsonNode UserNode = requestDataNode.path("user"); User user = objectMapper.treeToValue(UserNode, User.class); page.setUser(user); - return goldDetailController.ExcelGold(page); + + // 从请求数据中获取语言设置,如果没有则使用默认值 + String lang = "zh_CN"; + JsonNode langNode = requestDataNode.path("lang"); + if (langNode != null && !langNode.asText().isEmpty()) { + lang = langNode.asText(); + } + + return goldDetailController.ExcelGold(page, lang); } catch (Exception e) { throw new RuntimeException(e); } @@ -139,7 +155,15 @@ public class ExportExcelServiceImpl implements ExportExcelService { List markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ",")); rechargeUser.setMarkets(markets); page.setRechargeUser(rechargeUser); - return rechargeController.select(page); + + // 从请求数据中获取语言设置,如果没有则使用默认值 + String lang = "zh_CN"; + JsonNode langNode = requestDataNode.path("lang"); + if (langNode != null && !langNode.asText().isEmpty()) { + lang = langNode.asText(); + } + + return rechargeController.select(page, lang); } catch (Exception e) { throw new RuntimeException(e); } @@ -161,13 +185,22 @@ public class ExportExcelServiceImpl implements ExportExcelService { List markets = Arrays.asList(StringUtils.split(admin.getMarkets(), ",")); consumeUser.setMarkets(markets); page.setConsumeUser(consumeUser); - return consumeController.select(page); + + // 从请求数据中获取语言设置,如果没有则使用默认值 + String lang = "zh_CN"; + JsonNode langNode = requestDataNode.path("lang"); + if (langNode != null && !langNode.asText().isEmpty()) { + lang = langNode.asText(); + } + + return consumeController.select(page, lang); } catch (Exception e) { throw new RuntimeException(e); } }); } + @Transactional @Override public Exception refundExcel(String message) throws Exception {