This commit is contained in:
YAS\29473
2025-10-23 14:22:33 +08:00
parent b06a119ab3
commit 56229e5fa1
3 changed files with 28 additions and 11 deletions

View File

@@ -1030,8 +1030,7 @@ public class TempController extends BaseController {
*/
@PostMapping("/exportFinanceCenter")
public void exportFinanceCenter(HttpServletResponse response, @RequestBody MerchantOrderReportDTO dto) throws IOException {
MerchantOrderReportExportVO vo = tempService.exportFinanceCenter(dto);
List<MerchantOrderReportExportVO> list = Collections.singletonList(vo);
List<MerchantOrderReportExportVO> list = tempService.exportFinanceCenter(dto);
ExcelUtil<MerchantOrderReportExportVO> util = new ExcelUtil<>(MerchantOrderReportExportVO.class);
util.exportExcel(response, list, "某运营商财务报表");
}

View File

@@ -1437,18 +1437,36 @@ public class TempService {
* @param dto
* @return
*/
public MerchantOrderReportExportVO exportFinanceCenter(MerchantOrderReportDTO dto) {
MerchantOrderReportVO reportVO = settleOrderReportService.getMerchantOrderReportV2(dto);
MerchantOrderReportExportVO exportVO = new MerchantOrderReportExportVO();
public List<MerchantOrderReportExportVO> exportFinanceCenter(MerchantOrderReportDTO dto) {
if (reportVO != null) {
OrderReportDetail detail = reportVO.getMerchantOrderReport();
if (detail != null) {
BeanUtils.copyProperties(detail, exportVO);
List<MerchantOrderReportExportVO> 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));
// 调用原服务方法
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);
}
}
return exportVO;
return list;
}
}