diff --git a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java index 82f250e6c..e49259dea 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -1431,38 +1431,45 @@ public class TempService { return orderBasicInfoService.queryOrderSplitConfigList(orderCode); } - /** - * 导出财务中心报表以下字段 - * 日期 总结算金额(元) 电费金额(元) 服务费金额(元) 交易金额(元) 交易手续费(元) - * @param dto - * @return - */ public List exportFinanceCenter(MerchantOrderReportDTO dto) { - List list = new ArrayList<>(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate start = LocalDate.parse(dto.getStartTime(), formatter); LocalDate end = LocalDate.parse(dto.getEndTime(), formatter); - // 循环每一天 for (LocalDate date = start; !date.isAfter(end); date = date.plusDays(1)) { - // 临时 DTO(复制原参数,但限定当天) - MerchantOrderReportDTO dayDto = new MerchantOrderReportDTO(); - dayDto.setMerchantId(dto.getMerchantId()); - dayDto.setPageNum(1); - dayDto.setPageSize(dto.getPageSize()); - dayDto.setStartTime(date.format(formatter)); - dayDto.setEndTime(date.format(formatter)); + try { + MerchantOrderReportDTO dayDto = new MerchantOrderReportDTO(); + dayDto.setMerchantId(dto.getMerchantId()); + dayDto.setPageNum(1); + dayDto.setPageSize(dto.getPageSize()); + dayDto.setStartTime(date.format(formatter)); + dayDto.setEndTime(date.format(formatter)); - // 调用原服务方法 - MerchantOrderReportVO reportVO = settleOrderReportService.getMerchantOrderReportV2(dayDto); + MerchantOrderReportVO reportVO = settleOrderReportService.getMerchantOrderReportV2(dayDto); - if (reportVO != null && reportVO.getMerchantOrderReport() != null) { - MerchantOrderReportExportVO exportVO = new MerchantOrderReportExportVO(); - BeanUtils.copyProperties(reportVO.getMerchantOrderReport(), exportVO); - exportVO.setTradeTime(date.format(formatter)); // 👈 可选:加一个日期字段方便看是哪天的数据 - list.add(exportVO); + if (reportVO != null && reportVO.getMerchantOrderReport() != null) { + MerchantOrderReportExportVO exportVO = new MerchantOrderReportExportVO(); + BeanUtils.copyProperties(reportVO.getMerchantOrderReport(), exportVO); + exportVO.setTradeTime(date.format(formatter)); // 日期列 + 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()); } }