|
|
|
@ -1,6 +1,7 @@ |
|
|
|
package com.example.demo.Export; |
|
|
|
|
|
|
|
import com.example.demo.Util.JWTUtil; |
|
|
|
import com.example.demo.Util.LanguageTranslationUtil; |
|
|
|
import com.example.demo.domain.DTO.*; |
|
|
|
import com.example.demo.domain.entity.Admin; |
|
|
|
import com.example.demo.domain.vo.coin.Result; |
|
|
|
@ -37,6 +38,8 @@ public class ExportServiceImpl implements ExportService { |
|
|
|
private RedisUtil redisUtil; |
|
|
|
@Autowired |
|
|
|
private AdminService adminService; |
|
|
|
@Autowired |
|
|
|
private LanguageTranslationUtil languageTranslationUtil; |
|
|
|
|
|
|
|
/** |
|
|
|
* 通用导出逻辑 |
|
|
|
@ -59,7 +62,7 @@ public class ExportServiceImpl implements ExportService { |
|
|
|
String adminName = admin.getAdminName(); |
|
|
|
|
|
|
|
// 设置 DTO 的通用字段 |
|
|
|
setCommonFields(dto, account, adminName); |
|
|
|
setCommonFields(dto, account, adminName, exportType, lang); |
|
|
|
|
|
|
|
// 插入导出记录并获取主键 |
|
|
|
GoldDetailMapper.ExportRecordIdHolder idHolder = new GoldDetailMapper.ExportRecordIdHolder(); |
|
|
|
@ -84,56 +87,56 @@ public class ExportServiceImpl implements ExportService { |
|
|
|
/** |
|
|
|
* 设置 DTO 的通用字段 |
|
|
|
*/ |
|
|
|
private void setCommonFields(Object dto, Integer account,String adminName) throws Exception { |
|
|
|
private void setCommonFields(Object dto, Integer account,String adminName, String exportType, String lang) throws Exception { |
|
|
|
if (dto instanceof RechargeDTO rechargeDTO) { |
|
|
|
rechargeDTO.setAccount(Integer.valueOf(account)); |
|
|
|
rechargeDTO.setUrl(""); |
|
|
|
rechargeDTO.setFileName(generateFileName("充值明细", adminName)); |
|
|
|
rechargeDTO.setFileName(generateFileName("充值明细", adminName, lang)); |
|
|
|
rechargeDTO.setDataNum(0); |
|
|
|
} else if (dto instanceof RefundDTO refundDTO) { |
|
|
|
refundDTO.setAccount(Integer.valueOf(account)); |
|
|
|
refundDTO.setUrl(""); |
|
|
|
refundDTO.setFileName(generateFileName("退款明细", adminName)); |
|
|
|
refundDTO.setFileName(generateFileName("退款明细", adminName, lang)); |
|
|
|
refundDTO.setDataNum(0); |
|
|
|
} else if (dto instanceof ConsumeDTO consumeDTO) { |
|
|
|
consumeDTO.setAccount(Integer.valueOf(account)); |
|
|
|
consumeDTO.setUrl(""); |
|
|
|
consumeDTO.setFileName(generateFileName("消耗明细", adminName)); |
|
|
|
consumeDTO.setFileName(generateFileName("消耗明细", adminName, lang)); |
|
|
|
consumeDTO.setDataNum(0); |
|
|
|
} else if (dto instanceof LiveDTO liveDTO) { |
|
|
|
liveDTO.setAccount(Integer.valueOf(account)); |
|
|
|
liveDTO.setUrl(""); |
|
|
|
liveDTO.setFileName(generateFileName("直播明细", adminName)); |
|
|
|
liveDTO.setFileName(generateFileName("直播明细", adminName, lang)); |
|
|
|
liveDTO.setDataNum(0); |
|
|
|
} else if (dto instanceof FanDTO fanDTO) { |
|
|
|
fanDTO.setAccount(Integer.valueOf(account)); |
|
|
|
fanDTO.setUrl(""); |
|
|
|
fanDTO.setFileName(generateFileName("铁粉明细", adminName)); |
|
|
|
fanDTO.setFileName(generateFileName("铁粉明细", adminName, lang)); |
|
|
|
fanDTO.setDataNum(0); |
|
|
|
} else if (dto instanceof BeanRechargeDTO beanRechargeDTO){ |
|
|
|
beanRechargeDTO.setAccount(Integer.valueOf(account)); |
|
|
|
beanRechargeDTO.setUrl(""); |
|
|
|
beanRechargeDTO.setFileName(generateFileName("金豆充值明细", adminName)); |
|
|
|
beanRechargeDTO.setFileName(generateFileName("金豆充值明细", adminName, lang)); |
|
|
|
beanRechargeDTO.setDataNum(0); |
|
|
|
} else if(dto instanceof OnlineDTO onlineDTO){ |
|
|
|
onlineDTO.setAccount(Integer.valueOf(account)); |
|
|
|
onlineDTO.setUrl(""); |
|
|
|
onlineDTO.setFileName(generateFileName("在线明细", adminName)); |
|
|
|
onlineDTO.setFileName(generateFileName("在线明细", adminName, lang)); |
|
|
|
onlineDTO.setDataNum(0); |
|
|
|
} else if(dto instanceof ArticleDTO articleDTO){ |
|
|
|
articleDTO.setAccount(Integer.valueOf(account)); |
|
|
|
articleDTO.setUrl(""); |
|
|
|
articleDTO.setFileName(generateFileName("文章明细", adminName)); |
|
|
|
articleDTO.setFileName(generateFileName("文章明细", adminName, lang)); |
|
|
|
articleDTO.setDataNum(0); |
|
|
|
} else if(dto instanceof FinanceDTO financeDTO){ |
|
|
|
financeDTO.setAccount(Integer.valueOf(account)); |
|
|
|
financeDTO.setUrl(""); |
|
|
|
financeDTO.setFileName(generateFileName("现金退款明细", adminName)); |
|
|
|
financeDTO.setFileName(generateFileName("现金退款明细", adminName, lang)); |
|
|
|
financeDTO.setDataNum(0); |
|
|
|
} else if(dto instanceof CashDTO cashDTO){ |
|
|
|
cashDTO.setAccount(Integer.valueOf(account)); |
|
|
|
cashDTO.setUrl(""); |
|
|
|
cashDTO.setFileName(generateFileName("现金收款明细", adminName)); |
|
|
|
cashDTO.setFileName(generateFileName("现金收款明细", adminName, lang)); |
|
|
|
cashDTO.setDataNum(0); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -284,9 +287,11 @@ public class ExportServiceImpl implements ExportService { |
|
|
|
/** |
|
|
|
* 生成文件名 |
|
|
|
*/ |
|
|
|
private String generateFileName(String exportType, String adminName) { |
|
|
|
private String generateFileName(String exportType, String adminName,String lang) { |
|
|
|
// 对导出类型进行多语言转换 |
|
|
|
String translatedExportType = languageTranslationUtil.translate(exportType, lang); |
|
|
|
return String.format("%s_%s_%s.xlsx", |
|
|
|
exportType, |
|
|
|
translatedExportType, |
|
|
|
adminName, |
|
|
|
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))); |
|
|
|
} |
|
|
|
|