Browse Source

2月6日,重复消费翻译

dev
wangguorui 3 weeks ago
parent
commit
4f33fd3787
  1. 45
      src/main/java/com/example/demo/controller/coin/RechargeController.java
  2. 1
      src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java
  3. 3
      src/main/java/com/example/demo/domain/vo/coin/GoldRepeat.java

45
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) {
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 "未知状态";
}

1
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; // 消费时间

3
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")

Loading…
Cancel
Save