Browse Source

1月18日.资金流水表表头

lijianlin/feature-20260113-现金管理0109
wangguorui 1 month ago
parent
commit
880071fb9d
  1. 4
      src/main/java/com/example/demo/Util/ExcelHeaderTranslator.java
  2. 17
      src/main/java/com/example/demo/controller/cash/CashRefundController.java
  3. 90
      src/main/java/com/example/demo/serviceImpl/coin/ExportExcelServiceImpl.java

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

@ -568,7 +568,7 @@ public class ExcelHeaderTranslator {
headers.put("handlingCharge", "手续费");
headers.put("payType", "付款类型");
headers.put("statusName", "退款状态");
headers.put("refundCurrencyName", "退款币种");
headers.put("refundCurrency", "退款币种");
headers.put("refundAmount", "退款金额");
// 如果需要翻译则翻译表头
@ -585,7 +585,7 @@ public class ExcelHeaderTranslator {
public List<String> getFundsColumnOrder() {
return Arrays.asList(
"id", "jwcode", "name", "marketName", "orderCode", "paymentCurrencyName", "paymentAmount",
"receivedCurrencyName", "receivedAmount", "handlingCharge", "payType", "statusName", "refundCurrencyName",
"receivedCurrencyName", "receivedAmount", "handlingCharge", "payType", "statusName", "refundCurrency",
"refundAmount"
);
}

17
src/main/java/com/example/demo/controller/cash/CashRefundController.java

@ -583,6 +583,11 @@ public class CashRefundController {
if (funds.getPayType() != null) {
funds.setPayType(languageTranslationUtil.translate(funds.getPayType(), lang));
}
// 翻译状态名称
if (funds.getStatus() != null) {
String statusName = convertStatusToString(funds.getStatus());
funds.setStatusName(languageTranslationUtil.translate(statusName, lang));
}
}
}
@ -709,6 +714,16 @@ public class CashRefundController {
}
}
}
/**
* 将类型数字转换为中文描述
*/
private String convertStatusToString(Integer type) {
if (type == null) return "";
switch (type) {
case 4: return "正常";
case 6: return "已退款";
default: return "其他";
}
}
}

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

@ -764,7 +764,28 @@ public class ExportExcelServiceImpl implements ExportExcelService {
writeSheet = EasyExcel.writerSheet("Sheet1")
.head(head)
.build();
} else {
}
// 如果是资金流水表添加动态表头处理器
else if ("fundUser".equals(exportType)) {
Map<String, String> headers = excelHeaderTranslator.getFundsHeaders(lang);
List<String> columnOrder = excelHeaderTranslator.getFundsColumnOrder();
// 构建自定义表头
List<List<String>> head = new ArrayList<>();
for (String fieldName : columnOrder) {
String headerText = headers.get(fieldName);
if (headerText != null) {
List<String> headItems = new ArrayList<>();
headItems.add(headerText);
head.add(headItems);
}
}
writeSheet = EasyExcel.writerSheet("Sheet1")
.head(head)
.build();
}
else {
writeSheet = EasyExcel.writerSheet("Sheet1").build();
}
@ -871,6 +892,12 @@ public class ExportExcelServiceImpl implements ExportExcelService {
translatePerformanceList((List<PerformanceVO>) list, lang);
}
// 添加资金流水翻译支持
if ("fundsUser".equals(exportType) && list.get(0) instanceof FundsDTO) {
fillUserStatusDescriptions((List<FundsDTO>) list);
translateFundsList((List<FundsDTO>) list, lang);
}
excelWriter.write(list, writeSheet);
page.setPageNum(page.getPageNum() + 1);
totalCount += list.size();
@ -1029,6 +1056,30 @@ public class ExportExcelServiceImpl implements ExportExcelService {
}
/**
* 填充用户数据的状态描述
*/
private void fillUserStatusDescriptions(List<FundsDTO> funds) {
if (funds != null && !funds.isEmpty()) {
for (FundsDTO fund : funds) {
if (fund.getStatus() != null) {
fund.setStatusName(convertStatusToString(fund.getStatus()));
}
}
}
}
/**
* 将类型数字转换为中文描述
*/
private String convertStatusToString(Integer type) {
if (type == null) return "";
switch (type) {
case 4: return "正常";
case 6: return "已退款";
default: return "其他";
}
}
/**
* 填充金币明细数据的类型描述
*/
private void fillGoldDetailTypeDescriptions(List<GoldDetail> goldDetails) {
@ -1181,7 +1232,7 @@ public class ExportExcelServiceImpl implements ExportExcelService {
switch (platform) {
case 1: return "PC";
case 2: return "手机";
default: return "";
default: return "未知";
}
}
@ -1612,4 +1663,39 @@ public class ExportExcelServiceImpl implements ExportExcelService {
}
}
}
/**
* 翻译资金流水列表
*/
private void translateFundsList(List<FundsDTO> list, String lang) {
if (list == null || list.isEmpty() || "zh_CN".equalsIgnoreCase(lang) || "zh".equalsIgnoreCase(lang)) {
return;
}
for (FundsDTO item : list) {
// 翻译所属地区名称
if (item.getMarketName() != null && !item.getMarketName().isEmpty()) {
item.setMarketName(languageTranslationUtil.translate(item.getMarketName(), lang));
}
// 翻译付款币种
if (item.getPaymentCurrencyName() != null && !item.getPaymentCurrencyName().isEmpty()) {
item.setPaymentCurrencyName(languageTranslationUtil.translate(item.getPaymentCurrencyName(), lang));
}
// 翻译到账币种
if (item.getReceivedCurrencyName() != null && !item.getReceivedCurrencyName().isEmpty()) {
item.setReceivedCurrencyName(languageTranslationUtil.translate(item.getReceivedCurrencyName(), lang));
}
// 翻译支付方式
if (item.getPayType() != null && !item.getPayType().isEmpty()) {
item.setPayType(languageTranslationUtil.translate(item.getPayType(), lang));
}
// 翻译退款状态
if (item.getStatusName() != null && !item.getStatusName().isEmpty()) {
item.setStatusName(languageTranslationUtil.translate(item.getStatusName(), lang));
}
// 翻译退款币种
if (item.getRefundCurrency() != null && !item.getRefundCurrency().isEmpty()) {
item.setRefundCurrency(languageTranslationUtil.translate(item.getRefundCurrency(), lang));
}
}
}
}
Loading…
Cancel
Save