From bfc2d63f2ce5862d195738861d73bea265181ef2 Mon Sep 17 00:00:00 2001 From: wangguorui <2069821375@qq.com> Date: Wed, 21 Jan 2026 10:50:33 +0800 Subject: [PATCH] =?UTF-8?q?1=E6=9C=8821=E6=97=A5.Excel=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E7=BF=BB=E8=AF=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/Util/ExcelHeaderTranslator.java | 4 +-- .../demo/controller/coin/ExportController.java | 6 ++-- .../demo/domain/vo/bean/BeanConsumeFan.java | 7 ++--- .../serviceImpl/coin/ExportExcelServiceImpl.java | 36 +++++++++++++++++++--- 4 files changed, 40 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/example/demo/Util/ExcelHeaderTranslator.java b/src/main/java/com/example/demo/Util/ExcelHeaderTranslator.java index 8b2c71e..2c0feca 100644 --- a/src/main/java/com/example/demo/Util/ExcelHeaderTranslator.java +++ b/src/main/java/com/example/demo/Util/ExcelHeaderTranslator.java @@ -411,7 +411,7 @@ public class ExcelHeaderTranslator { headers.put("freeBean", "免费金豆数"); headers.put("buyBean", "付费金豆数"); headers.put("channel", "频道"); - headers.put("type", "会员类型"); + headers.put("typeDesc", "会员类型"); headers.put("consumeTime", "加入时间"); // 如果需要翻译,则翻译表头 @@ -428,7 +428,7 @@ public class ExcelHeaderTranslator { public List getBeanConsumeFanColumnOrder() { return Arrays.asList( "id", "name", "jwcode", "dept", "beanNum", "freeBean", "buyBean", - "channel", "type", "consumeTime" + "channel", "typeDesc", "consumeTime" ); } 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 c39fe10..a09afd8 100644 --- a/src/main/java/com/example/demo/controller/coin/ExportController.java +++ b/src/main/java/com/example/demo/controller/coin/ExportController.java @@ -597,10 +597,10 @@ public class ExportController { } // 转换会员类型 - if (beanConsumeFan.getType() != null && !beanConsumeFan.getType().isEmpty()) { + if (beanConsumeFan.getTypeDesc() != null && !beanConsumeFan.getTypeDesc().isEmpty()) { String chineseType = translationService.findChineseSimplifiedByTranslation( - beanConsumeFan.getType(), languageCode); - beanConsumeFan.setType(chineseType); + beanConsumeFan.getTypeDesc(), languageCode); + beanConsumeFan.setTypeDesc(chineseType); } } } diff --git a/src/main/java/com/example/demo/domain/vo/bean/BeanConsumeFan.java b/src/main/java/com/example/demo/domain/vo/bean/BeanConsumeFan.java index 2ce82cb..87f2686 100644 --- a/src/main/java/com/example/demo/domain/vo/bean/BeanConsumeFan.java +++ b/src/main/java/com/example/demo/domain/vo/bean/BeanConsumeFan.java @@ -1,8 +1,6 @@ package com.example.demo.domain.vo.bean; import com.alibaba.excel.annotation.ExcelIgnore; -import com.alibaba.excel.annotation.ExcelProperty; -import com.example.demo.config.MemberTypeStringConverter; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Data; @@ -36,8 +34,9 @@ public class BeanConsumeFan implements Serializable { private String freeBean; //免费金豆 private String buyBean; //付费金豆 private String channel; //频道名称(source_name) - @ExcelProperty(value = "", converter = MemberTypeStringConverter.class) - private String type; //类型source_type 7单月,8连续包月 + @ExcelIgnore + private Integer type; //类型source_type 7单月,8连续包月 + private String typeDesc; //@ExcelProperty("支付方式") @ExcelIgnore private Integer payType; //支付方式(直播:12345,铁粉:7,文章:8) 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 989fbf5..e1df3c7 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java @@ -852,6 +852,7 @@ public class ExportExcelServiceImpl implements ExportExcelService { // 添加铁粉用户翻译支持 if ("fanUser".equals(exportType) && list.get(0) instanceof BeanConsumeFan) { + fillUserMemberStatusDescriptions((List) list); translateBeanConsumeFanList((List) list, lang); } @@ -1056,6 +1057,31 @@ public class ExportExcelServiceImpl implements ExportExcelService { } /** + * 填充用户会员的状态描述 + */ + private void fillUserMemberStatusDescriptions(List fans) { + if (fans != null && !fans.isEmpty()) { + for (BeanConsumeFan fan : fans) { + if (fan.getType() != null) { + fan.setTypeDesc(fanTypeToString(fan.getType())); + } + } + } + } + + /** + * 将会员类型数字转换为中文描述 + */ + private String fanTypeToString(Integer type) { + if (type == null) return ""; + switch (type) { + case 7: return "单次付费"; + case 8: return "连续包月"; + default: return "其他"; + } + } + + /** * 填充用户数据的状态描述 */ private void fillUserStatusDescriptions(List funds) { @@ -1067,6 +1093,7 @@ public class ExportExcelServiceImpl implements ExportExcelService { } } } + /** * 将类型数字转换为中文描述 */ @@ -1205,8 +1232,8 @@ public class ExportExcelServiceImpl implements ExportExcelService { private String convertIsBackpackGiftToString(Integer isBackpackGift) { if (isBackpackGift == null) return ""; switch (isBackpackGift) { - case 0: return "否"; - case 1: return "是"; + case 0: return "是"; + case 1: return "否"; default: return "未知"; } } @@ -1224,6 +1251,7 @@ public class ExportExcelServiceImpl implements ExportExcelService { } } } + /** * 将充值平台数字转换为中文描述 */ @@ -1448,8 +1476,8 @@ public class ExportExcelServiceImpl implements ExportExcelService { } // 翻译会员类型 - if (item.getType() != null && !item.getType().isEmpty()) { - item.setType(languageTranslationUtil.translate(item.getType(), lang)); + if (item.getTypeDesc() != null && !item.getTypeDesc().isEmpty()) { + item.setTypeDesc(languageTranslationUtil.translate(item.getTypeDesc(), lang)); } } }