|
|
|
@ -87,14 +87,31 @@ public class RechargeController { |
|
|
|
|
|
|
|
//根据订单单号获取订单信息(重复充值/消费提示) |
|
|
|
@PostMapping("/selectByOrderCode") |
|
|
|
public Result selectByOrderCode(@RequestBody String OrderCode) { |
|
|
|
public Result selectByOrderCode(@RequestBody String orderCode, @RequestHeader(defaultValue = "zh_CN") String lang) { |
|
|
|
try { |
|
|
|
return Result.success(rechargeService.selectByOrderCode(OrderCode)); |
|
|
|
// 解析语言代码 |
|
|
|
String languageCode = parseLanguageCode(lang); |
|
|
|
|
|
|
|
// 如果不是中文环境,将订单号转换为中文简体 |
|
|
|
if (!"zh".equalsIgnoreCase(languageCode) && !"zh_cn".equalsIgnoreCase(languageCode)) { |
|
|
|
orderCode = translationService.findChineseSimplifiedByTranslation(orderCode, languageCode); |
|
|
|
} |
|
|
|
catch (Exception e){ |
|
|
|
return Result.error(e.getMessage()); |
|
|
|
|
|
|
|
// 调用服务层获取订单信息 |
|
|
|
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 "未知状态"; |
|
|
|
} |
|
|
|
|