From 4f33fd3787915e5dd9651dcf3c70cb3536019d9c Mon Sep 17 00:00:00 2001 From: wangguorui <2069821375@qq.com> Date: Fri, 6 Feb 2026 14:59:08 +0800 Subject: [PATCH] =?UTF-8?q?2=E6=9C=886=E6=97=A5=EF=BC=8C=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=B6=88=E8=B4=B9=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/coin/RechargeController.java | 49 ++++++++++++++++++---- .../example/demo/domain/vo/coin/ConsumeUser.java | 1 - .../example/demo/domain/vo/coin/GoldRepeat.java | 3 +- 3 files changed, 44 insertions(+), 9 deletions(-) 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 4803c80..659c09e 100644 --- a/src/main/java/com/example/demo/controller/coin/RechargeController.java +++ b/src/main/java/com/example/demo/controller/coin/RechargeController.java @@ -87,14 +87,31 @@ public class RechargeController { //根据订单单号获取订单信息(重复充值/消费提示) @PostMapping("/selectByOrderCode") - public Result selectByOrderCode(@RequestBody String OrderCode) { - try{ - return Result.success(rechargeService.selectByOrderCode(OrderCode)); - } - catch (Exception e){ - return Result.error(e.getMessage()); + public Result selectByOrderCode(@RequestBody String orderCode, @RequestHeader(defaultValue = "zh_CN") String lang) { + try { + // 解析语言代码 + String languageCode = parseLanguageCode(lang); + + // 如果不是中文环境,将订单号转换为中文简体 + if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { + orderCode = translationService.findChineseSimplifiedByTranslation(orderCode, languageCode); + } + + // 调用服务层获取订单信息 + GoldRepeat goldRepeat = rechargeService.selectByOrderCode(orderCode); + + // 对返回结果进行多语言转换 + if (goldRepeat != null) { + translateGoldRepeat(goldRepeat, lang); + } + + return Result.success(goldRepeat); + } catch (Exception e) { + String errorMsg = languageTranslationUtil.translate("查询失败", lang); + return Result.error(errorMsg + ": " + e.getMessage()); } } + //充值明细筛选 @Log("充值明细筛选") @PostMapping("/selectBy") @@ -308,12 +325,30 @@ public class RechargeController { } /** + * 翻译 GoldRepeat 对象中的多语言字段 + */ + private void translateGoldRepeat(GoldRepeat goldRepeat, String lang) { + if (goldRepeat == null) return; + + // 翻译商品名称 + if (goldRepeat.getGoodsName() != null && !goldRepeat.getGoodsName().isEmpty()) { + goldRepeat.setGoodsName(languageTranslationUtil.translate(goldRepeat.getGoodsName(), lang)); + } + + // 翻译是否退款状态描述 + if (goldRepeat.getIsRefund() != null) { + String isRefundDesc = convertIsRefundToString(goldRepeat.getIsRefund()); + goldRepeat.setIsRefundDesc(languageTranslationUtil.translate(isRefundDesc, lang)); + } + } + + /** * 将是否退款数字转换为中文描述 */ private String convertIsRefundToString(Integer isRefund) { if (isRefund == null) return ""; switch (isRefund) { - case 0: return "未退款"; + case 0: return "正常"; case 1: return "已退款"; default: return "未知状态"; } diff --git a/src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java b/src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java index 1b8215a..107320c 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java +++ b/src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java @@ -55,7 +55,6 @@ public class ConsumeUser implements Serializable { private String adminName; //提交人姓名 @ExcelIgnore private Integer isRefund; //是否退款 - @ExcelProperty("是否退款") private String isRefundDescription; //退款描述 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private Date createTime; // 消费时间 diff --git a/src/main/java/com/example/demo/domain/vo/coin/GoldRepeat.java b/src/main/java/com/example/demo/domain/vo/coin/GoldRepeat.java index f56f34a..c386b82 100644 --- a/src/main/java/com/example/demo/domain/vo/coin/GoldRepeat.java +++ b/src/main/java/com/example/demo/domain/vo/coin/GoldRepeat.java @@ -34,7 +34,8 @@ public class GoldRepeat implements Serializable { private BigDecimal taskGold; // 任务金币 private String goodsName; // 商品名称 private Byte type; // 类型(0充值/1消耗/2退款) - private Byte isRefund; // 是否已退款(消费限定)1退款0未退款 + private Integer isRefund; // 是否已退款(消费限定)1退款0正常 + private String isRefundDesc; // 退款描述 private Integer auditStatus; // 审核状态(0待审核、1通过、2驳回、3外部传入【默认通过】) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")