添加分页参数
This commit is contained in:
parent
675ab2f1e6
commit
dc1da9fa71
@ -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<OrderAnalysisResult<T>> analyzeAllOrders() {
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"),
|
||||
@ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query")
|
||||
})
|
||||
public ResponseEntity<OrderAnalysisResult<T>> analyzeAllOrders(@RequestParam(defaultValue = "1") Integer page,
|
||||
@RequestParam(defaultValue = "10") Integer size) {
|
||||
try {
|
||||
// 1. 获取数据库中所有订单数据
|
||||
List<OrderMain> allOrders = iOrderMainService.queryAllOrders();
|
||||
@ -55,7 +58,7 @@ public class OrderAnalysisController {
|
||||
LOG.info("全部订单分析:未找到订单数据");
|
||||
return ResponseEntity.badRequest().body(null);
|
||||
}
|
||||
OrderAnalysisResult<T> result = orderAnalysisService.analyzeAllOrders(allOrders);
|
||||
OrderAnalysisResult<T> 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<OrderAnalysisResult<List<DailyStat>>> 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<List<DailyStat>> result = orderAnalysisService.analyzeByDayRange(start, end);
|
||||
OrderAnalysisResult<List<DailyStat>> 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<OrderAnalysisResult<List<MonthlyStat>>> 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<List<MonthlyStat>> result = orderAnalysisService.analyzeByMonthRange(start, end);
|
||||
OrderAnalysisResult<List<MonthlyStat>> 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<OrderAnalysisResult<List<QuarterlyStat>>> 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<List<QuarterlyStat>> result = orderAnalysisService.analyzeByQuarterRange(start, end);
|
||||
OrderAnalysisResult<List<QuarterlyStat>> 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<OrderAnalysisResult<List<YearlyStat>>> 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<List<YearlyStat>> result = orderAnalysisService.analyzeByYearRange(start, end);
|
||||
OrderAnalysisResult<List<YearlyStat>> result = orderAnalysisService.analyzeByYearRange(start, end,page,size);
|
||||
LOG.info("按年分析完成,时间范围:{}至{}", startDate, endDate);
|
||||
return ResponseEntity.ok(result);
|
||||
} catch (Exception e) {
|
||||
|
@ -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<OrderDetailAnalysisResult<T>> analyzeAllOrderDetails() {
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"),
|
||||
@ApiImplicitParam(name = "page", value = "当前页面:从1开始", paramType = "query")
|
||||
})
|
||||
public ResponseEntity<OrderDetailAnalysisResult<T>> analyzeAllOrderDetails(@RequestParam(defaultValue = "1") Integer page,
|
||||
@RequestParam(defaultValue = "10") Integer size) {
|
||||
try {
|
||||
// 1. 获取所有子单数据
|
||||
List<OrderDetailDTO> allDetails = orderDetailMapper.getAllOrderDetail();
|
||||
@ -58,21 +61,28 @@ public class OrderDetailAnalysisController {
|
||||
LOG.info("全部子单分析:未找到子单数据");
|
||||
return ResponseEntity.badRequest().body(null);
|
||||
}
|
||||
OrderDetailAnalysisResult<T> result = orderDetailAnalysisService.analyzeAllOrderDetails(allDetails);
|
||||
OrderDetailAnalysisResult<T> 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<OrderDetailAnalysisResult<List<DailyStat>>> 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<List<DailyStat>> 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<OrderDetailAnalysisResult<List<MonthlyStat>>> 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<List<MonthlyStat>> 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<OrderDetailAnalysisResult<List<QuarterlyStat>>> 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<List<QuarterlyStat>> 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<OrderDetailAnalysisResult<List<YearlyStat>>> 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<List<YearlyStat>> result =
|
||||
orderDetailAnalysisService.analyzeByYearRange(start, end);
|
||||
orderDetailAnalysisService.analyzeByYearRange(start, end,page,size);
|
||||
LOG.info("子单按年分析完成,时间范围:{}至{}", startDate, endDate);
|
||||
return ResponseEntity.ok(result);
|
||||
} catch (Exception e) {
|
||||
|
@ -10,13 +10,13 @@ import java.util.List;
|
||||
|
||||
@Service
|
||||
public interface OrderAnalysisService {
|
||||
OrderAnalysisResult<List<DailyStat>> analyzeByDayRange(LocalDate start, LocalDate end);
|
||||
OrderAnalysisResult<List<DailyStat>> analyzeByDayRange(LocalDate start, LocalDate end, Integer page, Integer size);
|
||||
|
||||
OrderAnalysisResult<List<MonthlyStat>> analyzeByMonthRange(LocalDate start, LocalDate end);
|
||||
OrderAnalysisResult<List<MonthlyStat>> analyzeByMonthRange(LocalDate start, LocalDate end, Integer page, Integer size);
|
||||
|
||||
OrderAnalysisResult<List<QuarterlyStat>> analyzeByQuarterRange(LocalDate start, LocalDate end);
|
||||
OrderAnalysisResult<List<QuarterlyStat>> analyzeByQuarterRange(LocalDate start, LocalDate end, Integer page, Integer size);
|
||||
|
||||
OrderAnalysisResult<List<YearlyStat>> analyzeByYearRange(LocalDate start, LocalDate end);
|
||||
OrderAnalysisResult<List<YearlyStat>> analyzeByYearRange(LocalDate start, LocalDate end, Integer page, Integer size);
|
||||
|
||||
<T> OrderAnalysisResult<T> analyzeAllOrders(List<OrderMain> allOrders);
|
||||
<T> OrderAnalysisResult<T> analyzeAllOrders(List<OrderMain> allOrders, Integer page, Integer size);
|
||||
}
|
||||
|
@ -10,13 +10,13 @@ import java.util.List;
|
||||
|
||||
@Service
|
||||
public interface OrderDetailAnalysisService {
|
||||
OrderDetailAnalysisResult<T> analyzeAllOrderDetails(List<OrderDetailDTO> allDetails);
|
||||
OrderDetailAnalysisResult<T> analyzeAllOrderDetails(List<OrderDetailDTO> allDetails,Integer page,Integer size);
|
||||
|
||||
OrderDetailAnalysisResult<List<DailyStat>> analyzeByDayRange(LocalDate start, LocalDate end);
|
||||
OrderDetailAnalysisResult<List<DailyStat>> analyzeByDayRange(LocalDate start, LocalDate end,Integer page,Integer size);
|
||||
|
||||
OrderDetailAnalysisResult<List<MonthlyStat>> analyzeByMonthRange(LocalDate start, LocalDate end);
|
||||
OrderDetailAnalysisResult<List<MonthlyStat>> analyzeByMonthRange(LocalDate start, LocalDate end,Integer page,Integer size);
|
||||
|
||||
OrderDetailAnalysisResult<List<QuarterlyStat>> analyzeByQuarterRange(LocalDate start, LocalDate end);
|
||||
OrderDetailAnalysisResult<List<QuarterlyStat>> analyzeByQuarterRange(LocalDate start, LocalDate end,Integer page,Integer size);
|
||||
|
||||
OrderDetailAnalysisResult<List<YearlyStat>> analyzeByYearRange(LocalDate start, LocalDate end);
|
||||
OrderDetailAnalysisResult<List<YearlyStat>> analyzeByYearRange(LocalDate start, LocalDate end,Integer page,Integer size);
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService {
|
||||
* 按日范围分析订单
|
||||
*/
|
||||
@Override
|
||||
public OrderAnalysisResult<List<DailyStat>> analyzeByDayRange(LocalDate start, LocalDate end) {
|
||||
public OrderAnalysisResult<List<DailyStat>> analyzeByDayRange(LocalDate start, LocalDate end, Integer page, Integer size) {
|
||||
// 1. 查询时间范围内的所有订单
|
||||
List<OrderMain> 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<List<MonthlyStat>> analyzeByMonthRange(LocalDate start, LocalDate end) {
|
||||
public OrderAnalysisResult<List<MonthlyStat>> analyzeByMonthRange(LocalDate start, LocalDate end, Integer page, Integer size) {
|
||||
// 1. 查询时间范围内的所有订单
|
||||
List<OrderMain> 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<List<QuarterlyStat>> analyzeByQuarterRange(LocalDate start, LocalDate end) {
|
||||
public OrderAnalysisResult<List<QuarterlyStat>> analyzeByQuarterRange(LocalDate start, LocalDate end,Integer page,Integer size) {
|
||||
// 1. 查询时间范围内的所有订单
|
||||
List<OrderMain> 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<List<YearlyStat>> analyzeByYearRange(LocalDate start, LocalDate end) {
|
||||
public OrderAnalysisResult<List<YearlyStat>> analyzeByYearRange(LocalDate start, LocalDate end,Integer page,Integer size) {
|
||||
// 1. 查询时间范围内的所有订单
|
||||
List<OrderMain> 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 <T> OrderAnalysisResult<T> analyzeAllOrders(List<OrderMain> allOrders) {
|
||||
return buildAnalysisOrdersResult(allOrders);
|
||||
public <T> OrderAnalysisResult<T> analyzeAllOrders(List<OrderMain> allOrders, Integer page, Integer size) {
|
||||
return buildAnalysisOrdersResult(allOrders, page, size);
|
||||
}
|
||||
|
||||
|
||||
@ -246,15 +246,15 @@ public class OrderAnalysisServiceImpl implements OrderAnalysisService {
|
||||
/**
|
||||
* 构建完整的订单分析结果
|
||||
*/
|
||||
private <T> OrderAnalysisResult<T> buildAnalysisResult(List<OrderMain> orders, T timeSeriesData) {
|
||||
OrderAnalysisResult<T> result = buildAnalysisOrdersResult(orders);
|
||||
private <T> OrderAnalysisResult<T> buildAnalysisResult(List<OrderMain> orders, T timeSeriesData, Integer page, Integer size) {
|
||||
OrderAnalysisResult<T> result = buildAnalysisOrdersResult(orders, page, size);
|
||||
// 6. 时间序列数据(日/月/季/年统计)
|
||||
result.setTimeSeriesData(timeSeriesData);
|
||||
return result;
|
||||
}
|
||||
|
||||
//处理订单返回结果
|
||||
private <T> OrderAnalysisResult<T> buildAnalysisOrdersResult(List<OrderMain> orders) {
|
||||
private <T> OrderAnalysisResult<T> buildAnalysisOrdersResult(List<OrderMain> orders, Integer current, Integer size) {
|
||||
OrderAnalysisResult<T> 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<OrderMain> page = new Page<>(1, 10);
|
||||
Page<OrderMain> page = new Page<>(current, size);
|
||||
result.setPageInfo(buildPageInfo(page, orders.size()));
|
||||
// 截取分页数据(实际应在SQL层分页,此处简化)
|
||||
List<OrderMain> pageOrders = orders.stream()
|
||||
|
@ -60,12 +60,12 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic
|
||||
private IOrderDetailService orderDetailService;
|
||||
|
||||
@Override
|
||||
public OrderDetailAnalysisResult<T> analyzeAllOrderDetails(List<OrderDetailDTO> allDetails) {
|
||||
return buildOrderDetailAnalysisResult(allDetails);
|
||||
public OrderDetailAnalysisResult<T> analyzeAllOrderDetails(List<OrderDetailDTO> allDetails,Integer page,Integer size) {
|
||||
return buildOrderDetailAnalysisResult(allDetails,page,size);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderDetailAnalysisResult<List<DailyStat>> analyzeByDayRange(LocalDate start, LocalDate end) {
|
||||
public OrderDetailAnalysisResult<List<DailyStat>> analyzeByDayRange(LocalDate start, LocalDate end,Integer page,Integer size) {
|
||||
// 1. 查询时间范围内的所有订单
|
||||
List<OrderDetailDTO> 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<List<MonthlyStat>> analyzeByMonthRange(LocalDate start, LocalDate end) {
|
||||
public OrderDetailAnalysisResult<List<MonthlyStat>> analyzeByMonthRange(LocalDate start, LocalDate end,Integer page,Integer size) {
|
||||
// 1. 查询时间范围内的所有订单
|
||||
List<OrderDetailDTO> 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<List<QuarterlyStat>> analyzeByQuarterRange(LocalDate start, LocalDate end) {
|
||||
public OrderDetailAnalysisResult<List<QuarterlyStat>> analyzeByQuarterRange(LocalDate start, LocalDate end,Integer page,Integer size) {
|
||||
// 1. 查询时间范围内的所有订单
|
||||
List<OrderDetailDTO> 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<List<YearlyStat>> analyzeByYearRange(LocalDate start, LocalDate end) {
|
||||
public OrderDetailAnalysisResult<List<YearlyStat>> analyzeByYearRange(LocalDate start, LocalDate end,Integer page,Integer size) {
|
||||
// 1. 查询时间范围内的所有订单
|
||||
List<OrderDetailDTO> 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 <T> OrderDetailAnalysisResult<T> buildAnalysisResult(List<OrderDetailDTO> orderDetails, T timeSeriesData) {
|
||||
OrderDetailAnalysisResult<T> result = buildOrderDetailAnalysisResult(orderDetails);
|
||||
private <T> OrderDetailAnalysisResult<T> buildAnalysisResult(List<OrderDetailDTO> orderDetails, T timeSeriesData,Integer page,Integer size) {
|
||||
OrderDetailAnalysisResult<T> result = buildOrderDetailAnalysisResult(orderDetails,page,size);
|
||||
// 时间序列数据(日/月/季/年统计)
|
||||
result.setTimeSeriesData(timeSeriesData);
|
||||
//通过子单id获取orderId(主单id)
|
||||
@ -261,7 +261,7 @@ public class OrderDetailAnalysisServiceImpl implements OrderDetailAnalysisServic
|
||||
/**
|
||||
* 处理任务分析结果
|
||||
*/
|
||||
private <T> OrderDetailAnalysisResult<T> buildOrderDetailAnalysisResult(List<OrderDetailDTO> orderDetails) {
|
||||
private <T> OrderDetailAnalysisResult<T> buildOrderDetailAnalysisResult(List<OrderDetailDTO> orderDetails,Integer page,Integer size) {
|
||||
OrderDetailAnalysisResult<T> 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));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user