diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderAnalysisController.java b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderAnalysisController.java index 45537ae..b0d75ec 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderAnalysisController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderAnalysisController.java @@ -5,9 +5,7 @@ import com.aircraft.modules.order.domain.dto.*; import com.aircraft.modules.order.service.IOrderMainService; import com.aircraft.modules.order.service.OrderAnalysisService; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.annotations.*; import org.apache.poi.ss.formula.functions.T; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,7 +43,12 @@ public class OrderAnalysisController { @ApiOperation("全部订单分析统计") @GetMapping - public ResponseEntity> analyzeAllOrders() { + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) + public ResponseEntity> analyzeAllOrders(@RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 1. 获取数据库中所有订单数据 List allOrders = iOrderMainService.queryAllOrders(); @@ -55,7 +58,7 @@ public class OrderAnalysisController { LOG.info("全部订单分析:未找到订单数据"); return ResponseEntity.badRequest().body(null); } - OrderAnalysisResult result = orderAnalysisService.analyzeAllOrders(allOrders); + OrderAnalysisResult result = orderAnalysisService.analyzeAllOrders(allOrders, page, size); return ResponseEntity.ok(result); } catch (Exception e) { LOG.error("全部订单分析失败", e); @@ -65,12 +68,18 @@ public class OrderAnalysisController { @ApiOperation("按日范围分析订单") @GetMapping("/day") + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) //额外返回传入时间范围内的每日订单总量 public ResponseEntity>> analyzeByDayRange( @ApiParam(value = "开始日期(yyyy-MM-dd)", required = true, example = "2025-01-01") @RequestParam("startDate") String startDate, @ApiParam(value = "结束日期(yyyy-MM-dd)", required = true, example = "2025-11-01") - @RequestParam("endDate") String endDate) { + @RequestParam("endDate") String endDate, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 解析日期 LocalDate start = LocalDate.parse(startDate, DATE_FORMATTER); @@ -83,7 +92,7 @@ public class OrderAnalysisController { } // 调用服务层 - OrderAnalysisResult> result = orderAnalysisService.analyzeByDayRange(start, end); + OrderAnalysisResult> result = orderAnalysisService.analyzeByDayRange(start, end,page,size); LOG.info("按日分析完成,时间范围:{}至{}", startDate, endDate); return ResponseEntity.ok(result); } catch (Exception e) { @@ -94,12 +103,18 @@ public class OrderAnalysisController { @ApiOperation("按月范围分析订单") @GetMapping("/month") + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) //传入的时间范围:某年的某月到某年的某月,额外返回时间范围内的每月总订单量 public ResponseEntity>> analyzeByMonthRange( @ApiParam(value = "开始月份(yyyy-MM)", required = true, example = "2025-03") @RequestParam("startDate") String startDate, @ApiParam(value = "结束月份(yyyy-MM)", required = true, example = "2025-11") - @RequestParam("endDate") String endDate) { + @RequestParam("endDate") String endDate, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 解析月份为当月第一天 LocalDate start = LocalDate.parse(startDate + "-01", DATE_FORMATTER); @@ -114,7 +129,7 @@ public class OrderAnalysisController { } // 调用服务层 - OrderAnalysisResult> result = orderAnalysisService.analyzeByMonthRange(start, end); + OrderAnalysisResult> result = orderAnalysisService.analyzeByMonthRange(start, end,page,size); LOG.info("按月分析完成,时间范围:{}至{}", startDate, endDate); return ResponseEntity.ok(result); } catch (Exception e) { @@ -125,12 +140,18 @@ public class OrderAnalysisController { @ApiOperation("按季度范围分析订单") @GetMapping("/quarter") + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) //传入的时间范围:某年的某季到某年的某季,yyyy-Qn (例: 2025-Q1),额外返回时间范围内的每季总订单量 public ResponseEntity>> analyzeByQuarterRange( @ApiParam(value = "开始季度(yyyy-Qn,例:2025-Q1)", required = true) @RequestParam("startDate") String startDate, @ApiParam(value = "结束季度(yyyy-Qn,例:2025-Q4)", required = true) - @RequestParam("endDate") String endDate) { + @RequestParam("endDate") String endDate, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 校验季度格式 if (!QUARTER_PATTERN.matcher(startDate).matches() || !QUARTER_PATTERN.matcher(endDate).matches()) { @@ -158,7 +179,7 @@ public class OrderAnalysisController { } // 调用服务层 - OrderAnalysisResult> result = orderAnalysisService.analyzeByQuarterRange(start, end); + OrderAnalysisResult> result = orderAnalysisService.analyzeByQuarterRange(start, end,page,size); LOG.info("按季度分析完成,时间范围:{}至{}", startDate, endDate); return ResponseEntity.ok(result); } catch (Exception e) { @@ -170,12 +191,18 @@ public class OrderAnalysisController { @ApiOperation("按年范围分析订单") @GetMapping("/year") + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) //传入的时间范围;某年到某年,额外返回时间范围内的每年总订单量 public ResponseEntity>> analyzeByYearRange( @ApiParam(value = "开始年份(yyyy)", required = true, example = "2023") @RequestParam("startDate") String startDate, @ApiParam(value = "结束年份(yyyy)", required = true, example = "2025") - @RequestParam("endDate") String endDate) { + @RequestParam("endDate") String endDate, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 解析年份为当年第一天和最后一天 LocalDate start = LocalDate.parse(startDate + "-01-01", DATE_FORMATTER); @@ -188,7 +215,7 @@ public class OrderAnalysisController { } // 调用服务层 - OrderAnalysisResult> result = orderAnalysisService.analyzeByYearRange(start, end); + OrderAnalysisResult> result = orderAnalysisService.analyzeByYearRange(start, end,page,size); LOG.info("按年分析完成,时间范围:{}至{}", startDate, endDate); return ResponseEntity.ok(result); } catch (Exception e) { diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderDetailAnalysisController.java b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderDetailAnalysisController.java index f62c69a..0d6ea61 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderDetailAnalysisController.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/controller/OrderDetailAnalysisController.java @@ -6,9 +6,7 @@ import com.aircraft.modules.order.mapper.OrderDetailMapper; import com.aircraft.modules.order.service.IOrderDetailService; import com.aircraft.modules.order.service.OrderDetailAnalysisService; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.annotations.*; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -48,7 +46,12 @@ public class OrderDetailAnalysisController { @ApiOperation("全部子单任务分析统计") @GetMapping - public ResponseEntity> analyzeAllOrderDetails() { + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) + public ResponseEntity> analyzeAllOrderDetails(@RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 1. 获取所有子单数据 List allDetails = orderDetailMapper.getAllOrderDetail(); @@ -58,21 +61,28 @@ public class OrderDetailAnalysisController { LOG.info("全部子单分析:未找到子单数据"); return ResponseEntity.badRequest().body(null); } - OrderDetailAnalysisResult result = orderDetailAnalysisService.analyzeAllOrderDetails(allDetails); + OrderDetailAnalysisResult result = orderDetailAnalysisService.analyzeAllOrderDetails(allDetails, page, size); return ResponseEntity.ok(result); } catch (Exception e) { LOG.error("全部子单分析失败", e); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); } } + @ApiOperation("按日范围分析子单任务") @GetMapping("/day") + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) // 额外返回:时间范围内任务列表 public ResponseEntity>> analyzeByDayRange( @ApiParam(value = "开始日期(yyyy-MM-dd)", required = true, example = "2025-01-01") @RequestParam("startDate") String startDate, @ApiParam(value = "结束日期(yyyy-MM-dd)", required = true, example = "2025-01-31") - @RequestParam("endDate") String endDate) { + @RequestParam("endDate") String endDate, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 解析并校验日期 LocalDate start = LocalDate.parse(startDate, DATE_FORMATTER); @@ -82,7 +92,7 @@ public class OrderDetailAnalysisController { return ResponseEntity.badRequest().body(null); } OrderDetailAnalysisResult> result = - orderDetailAnalysisService.analyzeByDayRange(start, end); + orderDetailAnalysisService.analyzeByDayRange(start, end,page,size); LOG.info("子单按日分析完成,时间范围:{}至{}", startDate, endDate); return ResponseEntity.ok(result); } catch (Exception e) { @@ -94,12 +104,18 @@ public class OrderDetailAnalysisController { @ApiOperation("按月范围分析子单任务") @GetMapping("/month") + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) // 额外返回:时间范围内任务列表 public ResponseEntity>> analyzeByMonthRange( @ApiParam(value = "开始月份(yyyy-MM)", required = true, example = "2025-01") @RequestParam("startDate") String startDate, @ApiParam(value = "结束月份(yyyy-MM)", required = true, example = "2025-03") - @RequestParam("endDate") String endDate) { + @RequestParam("endDate") String endDate, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 解析月份为当月第一天和最后一天 LocalDate start = LocalDate.parse(startDate + "-01", DATE_FORMATTER); @@ -112,7 +128,7 @@ public class OrderDetailAnalysisController { } OrderDetailAnalysisResult> result = - orderDetailAnalysisService.analyzeByMonthRange(start, end); + orderDetailAnalysisService.analyzeByMonthRange(start, end,page,size); LOG.info("子单按月分析完成,时间范围:{}至{}", startDate, endDate); return ResponseEntity.ok(result); } catch (Exception e) { @@ -124,12 +140,18 @@ public class OrderDetailAnalysisController { @ApiOperation("按季度范围分析子单任务") @GetMapping("/quarter") + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) // 额外返回:时间范围内任务列表 public ResponseEntity>> analyzeByQuarterRange( @ApiParam(value = "开始季度(yyyy-Qn,例:2025-Q1)", required = true) @RequestParam("startDate") String startDate, @ApiParam(value = "结束季度(yyyy-Qn,例:2025-Q4)", required = true) - @RequestParam("endDate") String endDate) { + @RequestParam("endDate") String endDate, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 校验季度格式 if (!QUARTER_PATTERN.matcher(startDate).matches() || !QUARTER_PATTERN.matcher(endDate).matches()) { @@ -156,7 +178,7 @@ public class OrderDetailAnalysisController { // 调用服务层:按季度统计子单量、路线热度、操作员效率 OrderDetailAnalysisResult> result = - orderDetailAnalysisService.analyzeByQuarterRange(start, end); + orderDetailAnalysisService.analyzeByQuarterRange(start, end,page,size); LOG.info("子单按季度分析完成,时间范围:{}至{}", startDate, endDate); return ResponseEntity.ok(result); } catch (Exception e) { @@ -168,12 +190,18 @@ public class OrderDetailAnalysisController { @ApiOperation("按年范围分析子单任务") @GetMapping("/year") + @ApiImplicitParams({ + @ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), + @ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query") + }) // 额外返回:时间范围内任务列表 public ResponseEntity>> analyzeByYearRange( @ApiParam(value = "开始年份(yyyy)", required = true, example = "2023") @RequestParam("startDate") String startDate, @ApiParam(value = "结束年份(yyyy)", required = true, example = "2025") - @RequestParam("endDate") String endDate) { + @RequestParam("endDate") String endDate, + @RequestParam(defaultValue = "1") Integer page, + @RequestParam(defaultValue = "10") Integer size) { try { // 解析年份为当年第一天和最后一天 LocalDate start = LocalDate.parse(startDate + "-01-01", DATE_FORMATTER); @@ -186,7 +214,7 @@ public class OrderDetailAnalysisController { // 调用服务层:按年统计子单总量、设备/路线年度表现、载人特征变化 OrderDetailAnalysisResult> result = - orderDetailAnalysisService.analyzeByYearRange(start, end); + orderDetailAnalysisService.analyzeByYearRange(start, end,page,size); LOG.info("子单按年分析完成,时间范围:{}至{}", startDate, endDate); return ResponseEntity.ok(result); } catch (Exception e) { diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/service/OrderAnalysisService.java b/aircraft-system/src/main/java/com/aircraft/modules/order/service/OrderAnalysisService.java index 062ac11..3b0ad38 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/service/OrderAnalysisService.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/service/OrderAnalysisService.java @@ -10,13 +10,13 @@ import java.util.List; @Service public interface OrderAnalysisService { - OrderAnalysisResult> analyzeByDayRange(LocalDate start, LocalDate end); + OrderAnalysisResult> analyzeByDayRange(LocalDate start, LocalDate end, Integer page, Integer size); - OrderAnalysisResult> analyzeByMonthRange(LocalDate start, LocalDate end); + OrderAnalysisResult> analyzeByMonthRange(LocalDate start, LocalDate end, Integer page, Integer size); - OrderAnalysisResult> analyzeByQuarterRange(LocalDate start, LocalDate end); + OrderAnalysisResult> analyzeByQuarterRange(LocalDate start, LocalDate end, Integer page, Integer size); - OrderAnalysisResult> analyzeByYearRange(LocalDate start, LocalDate end); + OrderAnalysisResult> analyzeByYearRange(LocalDate start, LocalDate end, Integer page, Integer size); - OrderAnalysisResult analyzeAllOrders(List allOrders); + OrderAnalysisResult analyzeAllOrders(List allOrders, Integer page, Integer size); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/service/OrderDetailAnalysisService.java b/aircraft-system/src/main/java/com/aircraft/modules/order/service/OrderDetailAnalysisService.java index 193b308..fe74b8c 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/service/OrderDetailAnalysisService.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/service/OrderDetailAnalysisService.java @@ -10,13 +10,13 @@ import java.util.List; @Service public interface OrderDetailAnalysisService { - OrderDetailAnalysisResult analyzeAllOrderDetails(List allDetails); + OrderDetailAnalysisResult analyzeAllOrderDetails(List allDetails,Integer page,Integer size); - OrderDetailAnalysisResult> analyzeByDayRange(LocalDate start, LocalDate end); + OrderDetailAnalysisResult> analyzeByDayRange(LocalDate start, LocalDate end,Integer page,Integer size); - OrderDetailAnalysisResult> analyzeByMonthRange(LocalDate start, LocalDate end); + OrderDetailAnalysisResult> analyzeByMonthRange(LocalDate start, LocalDate end,Integer page,Integer size); - OrderDetailAnalysisResult> analyzeByQuarterRange(LocalDate start, LocalDate end); + OrderDetailAnalysisResult> analyzeByQuarterRange(LocalDate start, LocalDate end,Integer page,Integer size); - OrderDetailAnalysisResult> analyzeByYearRange(LocalDate start, LocalDate end); + OrderDetailAnalysisResult> analyzeByYearRange(LocalDate start, LocalDate end,Integer page,Integer size); } diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderAnalysisServiceImpl.java b/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderAnalysisServiceImpl.java index c47095e..c7e41f6 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderAnalysisServiceImpl.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderAnalysisServiceImpl.java @@ -62,7 +62,7 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { * 按日范围分析订单 */ @Override - public OrderAnalysisResult> analyzeByDayRange(LocalDate start, LocalDate end) { + public OrderAnalysisResult> analyzeByDayRange(LocalDate start, LocalDate end, Integer page, Integer size) { // 1. 查询时间范围内的所有订单 List orders = queryOrdersByDateRange(start, end); if (CollectionUtils.isEmpty(orders)) { @@ -94,7 +94,7 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { } // 4. 构建并返回完整结果 - return buildAnalysisResult(orders, dailyStats); + return buildAnalysisResult(orders, dailyStats, page, size); } @@ -102,7 +102,7 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { * 按月范围分析订单 */ @Override - public OrderAnalysisResult> analyzeByMonthRange(LocalDate start, LocalDate end) { + public OrderAnalysisResult> analyzeByMonthRange(LocalDate start, LocalDate end, Integer page, Integer size) { // 1. 查询时间范围内的所有订单 List orders = queryOrdersByDateRange(start, end); if (CollectionUtils.isEmpty(orders)) { @@ -134,7 +134,7 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { } // 4. 构建并返回完整结果 - return buildAnalysisResult(orders, monthlyStats); + return buildAnalysisResult(orders, monthlyStats, page, size); } @@ -142,7 +142,7 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { * 按季度范围分析订单 */ @Override - public OrderAnalysisResult> analyzeByQuarterRange(LocalDate start, LocalDate end) { + public OrderAnalysisResult> analyzeByQuarterRange(LocalDate start, LocalDate end,Integer page,Integer size) { // 1. 查询时间范围内的所有订单 List orders = queryOrdersByDateRange(start, end); if (CollectionUtils.isEmpty(orders)) { @@ -183,7 +183,7 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { } // 4. 构建并返回完整结果 - return buildAnalysisResult(orders, quarterlyStats); + return buildAnalysisResult(orders, quarterlyStats,page,size); } @@ -191,7 +191,7 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { * 按年范围分析订单 */ @Override - public OrderAnalysisResult> analyzeByYearRange(LocalDate start, LocalDate end) { + public OrderAnalysisResult> analyzeByYearRange(LocalDate start, LocalDate end,Integer page,Integer size) { // 1. 查询时间范围内的所有订单 List orders = queryOrdersByDateRange(start, end); if (CollectionUtils.isEmpty(orders)) { @@ -221,12 +221,12 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { } // 4. 构建并返回完整结果 - return buildAnalysisResult(orders, yearlyStats); + return buildAnalysisResult(orders, yearlyStats,page,size); } @Override - public OrderAnalysisResult analyzeAllOrders(List allOrders) { - return buildAnalysisOrdersResult(allOrders); + public OrderAnalysisResult analyzeAllOrders(List allOrders, Integer page, Integer size) { + return buildAnalysisOrdersResult(allOrders, page, size); } @@ -246,15 +246,15 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { /** * 构建完整的订单分析结果 */ - private OrderAnalysisResult buildAnalysisResult(List orders, T timeSeriesData) { - OrderAnalysisResult result = buildAnalysisOrdersResult(orders); + private OrderAnalysisResult buildAnalysisResult(List orders, T timeSeriesData, Integer page, Integer size) { + OrderAnalysisResult result = buildAnalysisOrdersResult(orders, page, size); // 6. 时间序列数据(日/月/季/年统计) result.setTimeSeriesData(timeSeriesData); return result; } //处理订单返回结果 - private OrderAnalysisResult buildAnalysisOrdersResult(List orders) { + private OrderAnalysisResult buildAnalysisOrdersResult(List orders, Integer current, Integer size) { OrderAnalysisResult result = new OrderAnalysisResult<>(); // 1. 基础统计指标 @@ -274,7 +274,7 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService { result.setCompletionRate(orders.isEmpty() ? 0D : (completedCount * 100.0) / orders.size()); // 3. 分页信息和订单列表(默认取第一页,每页10条,实际可根据前端参数调整) - Page page = new Page<>(1, 10); + Page page = new Page<>(current, size); result.setPageInfo(buildPageInfo(page, orders.size())); // 截取分页数据(实际应在SQL层分页,此处简化) List pageOrders = orders.stream() diff --git a/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderDetailAnalysisServiceImpl.java b/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderDetailAnalysisServiceImpl.java index 3cb5f28..52b71c6 100644 --- a/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderDetailAnalysisServiceImpl.java +++ b/aircraft-system/src/main/java/com/aircraft/modules/order/service/impl/OrderDetailAnalysisServiceImpl.java @@ -60,12 +60,12 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic private IOrderDetailService orderDetailService; @Override - public OrderDetailAnalysisResult analyzeAllOrderDetails(List allDetails) { - return buildOrderDetailAnalysisResult(allDetails); + public OrderDetailAnalysisResult analyzeAllOrderDetails(List allDetails,Integer page,Integer size) { + return buildOrderDetailAnalysisResult(allDetails,page,size); } @Override - public OrderDetailAnalysisResult> analyzeByDayRange(LocalDate start, LocalDate end) { + public OrderDetailAnalysisResult> analyzeByDayRange(LocalDate start, LocalDate end,Integer page,Integer size) { // 1. 查询时间范围内的所有订单 List orders = queryOrderDetailByDateRange(start, end); if (CollectionUtils.isEmpty(orders)) { @@ -103,11 +103,11 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic current = current.plusDays(1); // 移至下一天 } // 4. 构建并返回完整结果 - return buildAnalysisResult(orders, dailyStats); + return buildAnalysisResult(orders, dailyStats,page,size); } @Override - public OrderDetailAnalysisResult> analyzeByMonthRange(LocalDate start, LocalDate end) { + public OrderDetailAnalysisResult> analyzeByMonthRange(LocalDate start, LocalDate end,Integer page,Integer size) { // 1. 查询时间范围内的所有订单 List orders = queryOrderDetailByDateRange(start, end); if (CollectionUtils.isEmpty(orders)) { @@ -142,11 +142,11 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic } // 4. 构建并返回完整结果 - return buildAnalysisResult(orders, monthlyStats); + return buildAnalysisResult(orders, monthlyStats,page,size); } @Override - public OrderDetailAnalysisResult> analyzeByQuarterRange(LocalDate start, LocalDate end) { + public OrderDetailAnalysisResult> analyzeByQuarterRange(LocalDate start, LocalDate end,Integer page,Integer size) { // 1. 查询时间范围内的所有订单 List orders = queryOrderDetailByDateRange(start, end); if (CollectionUtils.isEmpty(orders)) { @@ -190,11 +190,11 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic } // 4. 构建并返回完整结果 - return buildAnalysisResult(orders, quarterlyStats); + return buildAnalysisResult(orders, quarterlyStats,page,size); } @Override - public OrderDetailAnalysisResult> analyzeByYearRange(LocalDate start, LocalDate end) { + public OrderDetailAnalysisResult> analyzeByYearRange(LocalDate start, LocalDate end,Integer page,Integer size) { // 1. 查询时间范围内的所有订单 List orders = queryOrderDetailByDateRange(start, end); if (CollectionUtils.isEmpty(orders)) { @@ -227,7 +227,7 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic } // 4. 构建并返回完整结果 - return buildAnalysisResult(orders, yearlyStats); + return buildAnalysisResult(orders, yearlyStats,page,size); } // ====================== 通用工具方法 ====================== @@ -246,8 +246,8 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic /** * 构建完整的订单分析结果 */ - private OrderDetailAnalysisResult buildAnalysisResult(List orderDetails, T timeSeriesData) { - OrderDetailAnalysisResult result = buildOrderDetailAnalysisResult(orderDetails); + private OrderDetailAnalysisResult buildAnalysisResult(List orderDetails, T timeSeriesData,Integer page,Integer size) { + OrderDetailAnalysisResult result = buildOrderDetailAnalysisResult(orderDetails,page,size); // 时间序列数据(日/月/季/年统计) result.setTimeSeriesData(timeSeriesData); //通过子单id获取orderId(主单id) @@ -261,7 +261,7 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic /** * 处理任务分析结果 */ - private OrderDetailAnalysisResult buildOrderDetailAnalysisResult(List orderDetails) { + private OrderDetailAnalysisResult buildOrderDetailAnalysisResult(List orderDetails,Integer page,Integer size) { OrderDetailAnalysisResult result = new OrderDetailAnalysisResult<>(); // 1. 基础统计指标 @@ -301,7 +301,7 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic result.setRouteDistribution(calculateRouteDistribution(orderDetails)); // 6. 分页信息和订单列表(默认取第一页,每页10条) - PageInfo pageInfo = buildTaskPageInfo(orderDetails, 1, 10); + PageInfo pageInfo = buildTaskPageInfo(orderDetails, page, size); result.setPageInfo(pageInfo); result.setOrderDetailList(getPagedTasks(orderDetails, pageInfo));