This commit is contained in:
YAS\29473
2025-10-23 14:28:45 +08:00
parent 56229e5fa1
commit cdf476cfc0

View File

@@ -1431,38 +1431,45 @@ public class TempService {
return orderBasicInfoService.queryOrderSplitConfigList(orderCode); return orderBasicInfoService.queryOrderSplitConfigList(orderCode);
} }
/**
* 导出财务中心报表以下字段
* 日期 总结算金额(元) 电费金额(元) 服务费金额(元) 交易金额(元) 交易手续费(元)
* @param dto
* @return
*/
public List<MerchantOrderReportExportVO> exportFinanceCenter(MerchantOrderReportDTO dto) { public List<MerchantOrderReportExportVO> exportFinanceCenter(MerchantOrderReportDTO dto) {
List<MerchantOrderReportExportVO> list = new ArrayList<>(); List<MerchantOrderReportExportVO> list = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate start = LocalDate.parse(dto.getStartTime(), formatter); LocalDate start = LocalDate.parse(dto.getStartTime(), formatter);
LocalDate end = LocalDate.parse(dto.getEndTime(), formatter); LocalDate end = LocalDate.parse(dto.getEndTime(), formatter);
// 循环每一天
for (LocalDate date = start; !date.isAfter(end); date = date.plusDays(1)) { for (LocalDate date = start; !date.isAfter(end); date = date.plusDays(1)) {
// 临时 DTO复制原参数但限定当天 try {
MerchantOrderReportDTO dayDto = new MerchantOrderReportDTO(); MerchantOrderReportDTO dayDto = new MerchantOrderReportDTO();
dayDto.setMerchantId(dto.getMerchantId()); dayDto.setMerchantId(dto.getMerchantId());
dayDto.setPageNum(1); dayDto.setPageNum(1);
dayDto.setPageSize(dto.getPageSize()); dayDto.setPageSize(dto.getPageSize());
dayDto.setStartTime(date.format(formatter)); dayDto.setStartTime(date.format(formatter));
dayDto.setEndTime(date.format(formatter)); dayDto.setEndTime(date.format(formatter));
// 调用原服务方法 MerchantOrderReportVO reportVO = settleOrderReportService.getMerchantOrderReportV2(dayDto);
MerchantOrderReportVO reportVO = settleOrderReportService.getMerchantOrderReportV2(dayDto);
if (reportVO != null && reportVO.getMerchantOrderReport() != null) { if (reportVO != null && reportVO.getMerchantOrderReport() != null) {
MerchantOrderReportExportVO exportVO = new MerchantOrderReportExportVO(); MerchantOrderReportExportVO exportVO = new MerchantOrderReportExportVO();
BeanUtils.copyProperties(reportVO.getMerchantOrderReport(), exportVO); BeanUtils.copyProperties(reportVO.getMerchantOrderReport(), exportVO);
exportVO.setTradeTime(date.format(formatter)); // 👈 可选:加一个日期字段方便看是哪天的数据 exportVO.setTradeTime(date.format(formatter)); // 日期列
list.add(exportVO); list.add(exportVO);
} else {
// 如果当天没有数据也补一条空记录方便Excel查看
list.add(MerchantOrderReportExportVO.builder()
.tradeTime(date.format(formatter))
.totalAmount(BigDecimal.ZERO)
.electricityAmount(BigDecimal.ZERO)
.serviceAmount(BigDecimal.ZERO)
.tradeAmount(BigDecimal.ZERO)
.tradeFee(BigDecimal.ZERO)
.build());
}
System.out.println("已获取报表数据:" + date);
} catch (Exception e) {
System.err.println(" 获取 " + date + " 报表失败: " + e.getMessage());
} }
} }