Browse Source

1月14日,将所有导出数字的字段改为导出汉字

milestone-20260113-现金管理0109
wangguorui 2 days ago
parent
commit
e2fd090edc
  1. 24
      src/main/java/com/example/demo/Util/ExcelHeaderTranslator.java
  2. 34
      src/main/java/com/example/demo/controller/bean/BeanConsumeController.java
  3. 17
      src/main/java/com/example/demo/controller/bean/BeanRechargeController.java
  4. 17
      src/main/java/com/example/demo/controller/coin/ConsumeController.java
  5. 12
      src/main/java/com/example/demo/controller/coin/ExportController.java
  6. 17
      src/main/java/com/example/demo/controller/coin/RechargeController.java
  7. 4
      src/main/java/com/example/demo/domain/vo/bean/BeanConsumeArticle.java
  8. 5
      src/main/java/com/example/demo/domain/vo/bean/BeanConsumeLive.java
  9. 4
      src/main/java/com/example/demo/domain/vo/bean/BeanOnlineRechargeInfo.java
  10. 4
      src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java
  11. 2
      src/main/java/com/example/demo/domain/vo/coin/RechargeUser.java
  12. 165
      src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java

24
src/main/java/com/example/demo/Util/ExcelHeaderTranslator.java

@ -35,7 +35,7 @@ public class ExcelHeaderTranslator {
headers.put("freeGold", "免费金币");
headers.put("payModel", "支付方式");
headers.put("payPlatform", "充值平台");
headers.put("isRefund", "是否已退款 0-未退款,1-已退款");
headers.put("isRefundDesc", "是否退款");
headers.put("remark", "备注");
headers.put("adminName", "提交人");
headers.put("auditTime", "充值时间");
@ -55,7 +55,7 @@ public class ExcelHeaderTranslator {
return Arrays.asList(
"name", "orderCode", "jwcode", "market", "activity",
"rateName", "money", "permanentGold", "freeGold",
"payModel", "payPlatform", "isRefund", "remark",
"payModel", "payPlatform", "isRefundDesc", "remark",
"adminName", "auditTime"
);
}
@ -85,7 +85,7 @@ public class ExcelHeaderTranslator {
headers.put("refundTaskGold", "退款任务金币");
headers.put("refundModelDesc", "退款类型");
headers.put("adminName", "提交人");
headers.put("isRefund", "是否退款");
headers.put("isRefundDescription", "是否退款");
headers.put("createTime", "消耗时间");
headers.put("price", "折扣金币");
@ -106,7 +106,7 @@ public class ExcelHeaderTranslator {
"payPlatform", "sumGold", "permanentGold", "freeGold",
"taskGold","remark", "refundSumGold", "refundPermanentGold",
"refundFreeGold", "refundTaskGold", "refundModelDesc",
"adminName", "isRefund", "createTime", "price"
"adminName", "isRefundDescription", "createTime", "price"
);
}
@ -131,6 +131,8 @@ public class ExcelHeaderTranslator {
headers.put("taskGold", "任务金币");
headers.put("remark", "备注");
headers.put("adminName", "提交人");
headers.put("price", "原价");
headers.put("linkId", "LinkId");
headers.put("auditTime", "退款时间");
// 如果需要翻译则翻译表头
@ -148,7 +150,7 @@ public class ExcelHeaderTranslator {
return Arrays.asList(
"orderCode", "name", "jwcode", "market", "goodsName",
"refundType", "refundModelDesc", "sumGold", "permanentGold",
"freeGold", "taskGold", "remark", "adminName", "auditTime"
"freeGold", "taskGold", "remark", "adminName", "price", "linkId", "auditTime"
);
}
@ -165,7 +167,7 @@ public class ExcelHeaderTranslator {
headers.put("jwcode", "精网号");
headers.put("dept", "地区");
headers.put("gift", "礼物");
headers.put("isBackpack", "是否为背包礼物");
headers.put("isBackpackDesc", "是否为背包礼物");
headers.put("beanNum", "金豆数量");
headers.put("liveChannel", "频道");
headers.put("freeBean", "免费金豆");
@ -186,7 +188,7 @@ public class ExcelHeaderTranslator {
*/
public List<String> getBeanConsumeLiveColumnOrder() {
return Arrays.asList(
"id", "name", "jwcode", "dept", "gift", "isBackpack",
"id", "name", "jwcode", "dept", "gift", "isBackpackDesc",
"beanNum", "liveChannel", "freeBean", "buyBean", "liveName", "consumeTime"
);
}
@ -206,7 +208,7 @@ public class ExcelHeaderTranslator {
headers.put("money", "金额");
headers.put("num", "数量");
headers.put("orderNo", "订单号");
headers.put("platform", "充值平台 PC:1 手机:2");
headers.put("platformDesc", "充值平台");
headers.put("rechargeTime", "充值时间");
// 如果需要翻译则翻译表头
@ -222,7 +224,7 @@ public class ExcelHeaderTranslator {
*/
public List<String> getBeanOnlineRechargeColumnOrder() {
return Arrays.asList(
"id","jwcode", "name", "market", "money", "num", "orderNo", "platform", "rechargeTime"
"id","jwcode", "name", "market", "money", "num", "orderNo", "platformDesc", "rechargeTime"
);
}
@ -332,7 +334,7 @@ public class ExcelHeaderTranslator {
headers.put("name", "姓名");
headers.put("jwcode", "精网号");
headers.put("dept", "地区");
headers.put("type", "类型 9-打赏 10-打赏 11-付费");
headers.put("typeDesc", "类型");
headers.put("beanNum", "金豆总数");
headers.put("buyBean", "付费金豆数");
headers.put("freeBean", "免费金豆数");
@ -354,7 +356,7 @@ public class ExcelHeaderTranslator {
*/
public List<String> getBeanConsumeArticleColumnOrder() {
return Arrays.asList(
"id", "name", "jwcode", "dept", "type", "beanNum", "buyBean",
"id", "name", "jwcode", "dept", "typeDesc", "beanNum", "buyBean",
"freeBean", "articleId", "articleName", "author", "consumeTime"
);
}

34
src/main/java/com/example/demo/controller/bean/BeanConsumeController.java

@ -327,6 +327,30 @@ public class BeanConsumeController {
}
/**
* 将是否为背包礼物数字转换为中文描述
*/
private String convertIsBackpackGiftToString(Integer isBackpackGift) {
if (isBackpackGift == null) return "";
switch (isBackpackGift) {
case 0: return "否";
case 1: return "是";
default: return "未知";
}
}
/**
* 将文章消费明细类型数字转换为中文描述
*/
private String convertTypeToString(Integer type) {
if (type == null) return "";
switch (type) {
case 9, 10: return "打赏";
case 11: return "付费";
default: return "未知";
}
}
/**
* 转换直播消费记录的多语言字段
*/
private void translateBeanConsumeLives(com.github.pagehelper.PageInfo<?> pageInfo, String lang) {
@ -350,6 +374,11 @@ public class BeanConsumeController {
if (live.getLiveName() != null) {
live.setLiveName(languageTranslationUtil.translate(live.getLiveName(), lang));
}
// 翻译是否为背包礼物
if (live.getIsBackpack() != null) {
String isBackpackGiftDesc = convertIsBackpackGiftToString(live.getIsBackpack());
live.setIsBackpackDesc(languageTranslationUtil.translate(isBackpackGiftDesc, lang));
}
}
}
}
@ -392,6 +421,11 @@ public class BeanConsumeController {
if (article.getArticleName() != null) {
article.setArticleName(languageTranslationUtil.translate(article.getArticleName(), lang));
}
// 翻译类型
if (article.getType() != null) {
String typeDesc = convertTypeToString(article.getType());
article.setTypeDesc(languageTranslationUtil.translate(typeDesc, lang));
}
}
}
}

17
src/main/java/com/example/demo/controller/bean/BeanRechargeController.java

@ -249,6 +249,11 @@ public class BeanRechargeController {
if (info.getMarket() != null) {
info.setMarket(languageTranslationUtil.translate(info.getMarket(), lang));
}
// 翻译充值平台
if (info.getPlatform() != null) {
String platformDesc = convertPlatformToString(info.getPlatform());
info.setPlatformDesc(languageTranslationUtil.translate(platformDesc, lang));
}
}
}
}
@ -363,4 +368,16 @@ public class BeanRechargeController {
}
}
}
/**
* 将充值平台数字转换为中文描述
*/
private String convertPlatformToString(Integer platform) {
if (platform == null) return "";
switch (platform) {
case 1: return "PC";
case 2: return "手机";
default: return "";
}
}
}

17
src/main/java/com/example/demo/controller/coin/ConsumeController.java

@ -268,6 +268,11 @@ public class ConsumeController {
String refundModelDesc = convertRefundModelToString(user.getRefundModel());
user.setRefundModelDesc(languageTranslationUtil.translate(refundModelDesc, lang));
}
// 翻译是否退款描述
if (user.getIsRefund() != null) {
String isRefundDescription = convertIsRefundToString(user.getIsRefund());
user.setIsRefundDescription(languageTranslationUtil.translate(isRefundDescription, lang));
}
}
}
}
@ -323,4 +328,16 @@ public class ConsumeController {
default: return "未知退款";
}
}
/**
* 将是否退款数字转换为中文描述
*/
private String convertIsRefundToString(Integer isRefund) {
if (isRefund == null) return "";
switch (isRefund) {
case 0: return "未退款";
case 1: return "已退款";
default: return "未知状态";
}
}
}

12
src/main/java/com/example/demo/controller/coin/ExportController.java

@ -565,10 +565,10 @@ public class ExportController {
}
// 转换类型
if (beanConsumeArticle.getType() != null && !beanConsumeArticle.getType().isEmpty()) {
if (beanConsumeArticle.getTypeDesc() != null && !beanConsumeArticle.getTypeDesc().isEmpty()) {
String chineseType = translationService.findChineseSimplifiedByTranslation(
beanConsumeArticle.getType(), languageCode);
beanConsumeArticle.setType(chineseType);
beanConsumeArticle.getTypeDesc(), languageCode);
beanConsumeArticle.setTypeDesc(chineseType);
}
}
}
@ -607,10 +607,10 @@ public class ExportController {
}
// 转换充值平台
if (beanOnlineRechargeInfo.getPlatform() != null && !beanOnlineRechargeInfo.getPlatform().isEmpty()) {
if (beanOnlineRechargeInfo.getPlatformDesc() != null && !beanOnlineRechargeInfo.getPlatformDesc().isEmpty()) {
String chinesePlatform = translationService.findChineseSimplifiedByTranslation(
beanOnlineRechargeInfo.getPlatform(), languageCode);
beanOnlineRechargeInfo.setPlatform(chinesePlatform);
beanOnlineRechargeInfo.getPlatformDesc(), languageCode);
beanOnlineRechargeInfo.setPlatformDesc(chinesePlatform);
}
}
}

17
src/main/java/com/example/demo/controller/coin/RechargeController.java

@ -219,6 +219,11 @@ public class RechargeController {
if (user.getRemark() != null) {
user.setRemark(languageTranslationUtil.translate(user.getRemark(), lang));
}
// 翻译是否退款
if (user.getIsRefund() != null) {
String isRefundDesc = convertIsRefundToString(user.getIsRefund());
user.setIsRefundDesc(languageTranslationUtil.translate(isRefundDesc, lang));
}
}
}
}
@ -275,4 +280,16 @@ public class RechargeController {
}
}
}
/**
* 将是否退款数字转换为中文描述
*/
private String convertIsRefundToString(Integer isRefund) {
if (isRefund == null) return "";
switch (isRefund) {
case 0: return "未退款";
case 1: return "已退款";
default: return "未知状态";
}
}
}

4
src/main/java/com/example/demo/domain/vo/bean/BeanConsumeArticle.java

@ -28,7 +28,9 @@ public class BeanConsumeArticle implements Serializable {
private String name; //姓名
private Integer jwcode; //精网号
private String dept; //地区/分部
private String type; //类型source_type 910打赏11付费
@ExcelIgnore
private Integer type; //类型source_type 910打赏11付费
private String typeDesc;//类型描述
@ExcelIgnore
private Integer payMode; // 0 打赏 1 付费 2 其他
@ExcelIgnore

5
src/main/java/com/example/demo/domain/vo/bean/BeanConsumeLive.java

@ -43,8 +43,9 @@ public class BeanConsumeLive implements Serializable {
@ExcelIgnore
private String type; //类型
private String gift; //礼物名称
@ExcelProperty(value = "", converter = YesNoConverter.class)
private String isBackpack;
@ExcelIgnore
private Integer isBackpack;
private String isBackpackDesc; //是否是背包礼物
private String beanNum; //金豆数量
private String liveChannel; //频道名称
private String freeBean; //免费金豆

4
src/main/java/com/example/demo/domain/vo/bean/BeanOnlineRechargeInfo.java

@ -30,7 +30,9 @@ public class BeanOnlineRechargeInfo {
private Double money; // 金额
private Integer num; // 数量
private String orderNo; // 订单号
private String platform; // 充值平台
@ExcelIgnore
private Integer platform; // 充值平台
private String platformDesc;//充值平台描述
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date rechargeTime; // 充值时间
@ExcelIgnore

4
src/main/java/com/example/demo/domain/vo/coin/ConsumeUser.java

@ -53,8 +53,10 @@ public class ConsumeUser implements Serializable {
@ExcelIgnore
private Integer adminId; //提交人Id
private String adminName; //提交人姓名
@ExcelProperty(value = "", converter = RefundConverter.class)
@ExcelIgnore
private Integer isRefund; //是否退款
@ExcelProperty("是否退款")
private String isRefundDescription; //退款描述
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date createTime; // 消费时间
@ExcelIgnore

2
src/main/java/com/example/demo/domain/vo/coin/RechargeUser.java

@ -43,7 +43,9 @@ public class RechargeUser implements Serializable {
private BigDecimal freeGold; // 免费金币
private String payModel; // 支付方式
private String payPlatform; // 充值方式
@ExcelIgnore
private Integer isRefund; //是否已退款
private String isRefundDesc;// 退款描述
@ExcelIgnore
private String voucher; // 支付凭证

165
src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java

@ -749,16 +749,21 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 添加充值用户翻译支持
if ("rechargeUser".equals(exportType) && list.get(0) instanceof RechargeUser) {
fillRechargeUserIsRefundDescriptions((List<RechargeUser>) list);
translateRechargeUserList((List<RechargeUser>) list, lang);
}
// 添加消费用户翻译支持
if ("consumeUser".equals(exportType) && list.get(0) instanceof ConsumeUser) {
translateConsumeUserModelDescriptions((List<ConsumeUser>) list);
fillConsumeUserIsRefundDescriptions((List<ConsumeUser>) list);
// 添加翻译支持
translateConsumeUserList((List<ConsumeUser>) list, lang);
}
// 添加直播用户翻译支持
if ("liveUser".equals(exportType) && list.get(0) instanceof BeanConsumeLive) {
fillLiveUserIsBackpackGiftDescriptions((List<BeanConsumeLive>) list);
translateBeanConsumeLiveList((List<BeanConsumeLive>) list, lang);
}
@ -769,6 +774,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 添加文章用户翻译支持
if ("articleUser".equals(exportType) && list.get(0) instanceof BeanConsumeArticle) {
fillArticleUserTypeDescriptions((List<BeanConsumeArticle>) list);
translateBeanConsumeArticleList((List<BeanConsumeArticle>) list, lang);
}
@ -779,6 +785,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
// 添加在线充值翻译支持
if ("onlineUser".equals(exportType) && list.get(0) instanceof BeanOnlineRechargeInfo) {
fillOnlineRechargeUserPlatformDescriptions((List<BeanOnlineRechargeInfo>) list);
translateBeanOnlineRechargeInfoList((List<BeanOnlineRechargeInfo>) list, lang);
}
@ -991,6 +998,20 @@ public class ExportExcelServiceImpl implements ExportExcelService {
}
/**
* 填充消费用户数据的退款方式描述
*/
private void translateConsumeUserModelDescriptions(List<ConsumeUser> consumeUsers) {
if (consumeUsers != null && !consumeUsers.isEmpty()) {
for (ConsumeUser user : consumeUsers) {
if (user.getRefundModel() != null) {
String modelDesc = convertRefundModelToString(user.getRefundModel());
user.setRefundModelDesc(modelDesc);
}
}
}
}
/**
* 将退款模型数字转换为中文描述
*/
private String convertRefundModelToString(Byte refundModel) {
@ -1002,6 +1023,122 @@ public class ExportExcelServiceImpl implements ExportExcelService {
}
}
/**
* 填充消费用户数据的是否退款描述
*/
private void fillConsumeUserIsRefundDescriptions(List<ConsumeUser> consumeUsers) {
if (consumeUsers != null && !consumeUsers.isEmpty()) {
for (ConsumeUser user : consumeUsers) {
if (user.getIsRefund() != null) {
String isRefundDescription = convertIsRefundToString(user.getIsRefund());
user.setIsRefundDescription(isRefundDescription);
}
}
}
}
/**
* 填充充值用户数据的是否退款描述
*/
private void fillRechargeUserIsRefundDescriptions(List<RechargeUser> rechargeUsers) {
if (rechargeUsers != null && !rechargeUsers.isEmpty()) {
for (RechargeUser user : rechargeUsers) {
if (user.getIsRefund() != null) {
String isRefundDescription = convertIsRefundToString(user.getIsRefund());
user.setIsRefundDesc(isRefundDescription);
}
}
}
}
/**
* 将是否退款数字转换为中文描述
*/
private String convertIsRefundToString(Integer isRefund) {
if (isRefund == null) return "";
switch (isRefund) {
case 0: return "未退款";
case 1: return "已退款";
default: return "未知状态";
}
}
/**
* 填充直播消费的是否为背包礼物描述
*/
private void fillLiveUserIsBackpackGiftDescriptions(List<BeanConsumeLive> liveUsers) {
if (liveUsers != null && !liveUsers.isEmpty()) {
for (BeanConsumeLive liveUser : liveUsers) {
if (liveUser.getIsBackpack() != null) {
String isBackpackDescription = convertIsBackpackGiftToString(liveUser.getIsBackpack());
liveUser.setIsBackpackDesc(isBackpackDescription);
}
}
}
}
/**
* 将是否为背包礼物数字转换为中文描述
*/
private String convertIsBackpackGiftToString(Integer isBackpackGift) {
if (isBackpackGift == null) return "";
switch (isBackpackGift) {
case 0: return "否";
case 1: return "是";
default: return "未知";
}
}
/**
* 填充线上充值的充值平台描述
*/
private void fillOnlineRechargeUserPlatformDescriptions(List<BeanOnlineRechargeInfo> onlineRechargeUsers) {
if (onlineRechargeUsers != null && !onlineRechargeUsers.isEmpty()) {
for (BeanOnlineRechargeInfo onlineRechargeUser : onlineRechargeUsers) {
if (onlineRechargeUser.getPlatform() != null) {
String platformDescription = convertPlatformToString(onlineRechargeUser.getPlatform());
onlineRechargeUser.setPlatformDesc(platformDescription);
}
}
}
}
/**
* 将充值平台数字转换为中文描述
*/
private String convertPlatformToString(Integer platform) {
if (platform == null) return "";
switch (platform) {
case 1: return "PC";
case 2: return "手机";
default: return "";
}
}
/**
* 填充文章消费明细的消费类型描述
*/
private void fillArticleUserTypeDescriptions(List<BeanConsumeArticle> articleUsers) {
if (articleUsers != null && !articleUsers.isEmpty()) {
for (BeanConsumeArticle articleUser : articleUsers) {
if (articleUser.getType() != null) {
String typeDescription = convertTypesToString(articleUser.getType());
articleUser.setTypeDesc(typeDescription);
}
}
}
}
/**
* 将文章消费明细类型数字转换为中文描述
*/
private String convertTypesToString(Integer type) {
if (type == null) return "";
switch (type) {
case 9, 10: return "打赏";
case 11: return "付费";
default: return "未知";
}
}
// 各种实体类的翻译方法
/**
@ -1089,6 +1226,11 @@ public class ExportExcelServiceImpl implements ExportExcelService {
if (item.getRemark() != null && !item.getRemark().isEmpty()) {
item.setRemark(languageTranslationUtil.translate(item.getRemark(), lang));
}
// 翻译是否退款描述
if (item.getIsRefundDesc() != null && !item.getIsRefundDesc().isEmpty()) {
item.setIsRefundDesc(languageTranslationUtil.translate(item.getIsRefundDesc(), lang));
}
}
}
@ -1115,6 +1257,16 @@ public class ExportExcelServiceImpl implements ExportExcelService {
if (item.getRemark() != null && !item.getRemark().isEmpty()) {
item.setRemark(languageTranslationUtil.translate(item.getRemark(), lang));
}
// 翻译退款方式描述
if (item.getRefundModelDesc() != null && !item.getRefundModelDesc().isEmpty()) {
item.setRefundModelDesc(languageTranslationUtil.translate(item.getRefundModelDesc(), lang));
}
// 翻译是否退款字段
if (item.getIsRefundDescription() != null && !item.getIsRefundDescription().isEmpty()) {
item.setIsRefundDescription(languageTranslationUtil.translate(item.getIsRefundDescription(), lang));
}
}
}
@ -1146,6 +1298,11 @@ public class ExportExcelServiceImpl implements ExportExcelService {
if (item.getLiveName() != null && !item.getLiveName().isEmpty()) {
item.setLiveName(languageTranslationUtil.translate(item.getLiveName(), lang));
}
// 翻译是否背包礼物描述
if (item.getIsBackpackDesc() != null && !item.getIsBackpackDesc().isEmpty()) {
item.setIsBackpackDesc(languageTranslationUtil.translate(item.getIsBackpackDesc(), lang));
}
}
}
@ -1190,8 +1347,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));
}
// 翻译文章/视频标题
@ -1237,8 +1394,8 @@ public class ExportExcelServiceImpl implements ExportExcelService {
}
// 翻译充值平台
if (item.getPlatform() != null && !item.getPlatform().isEmpty()) {
item.setPlatform(languageTranslationUtil.translate(item.getPlatform(), lang));
if (item.getPlatformDesc() != null && !item.getPlatformDesc().isEmpty()) {
item.setPlatformDesc(languageTranslationUtil.translate(item.getPlatformDesc(), lang));
}
}
}

Loading…
Cancel
Save