From b9da8289051937fbbbd47bbda97414ad6c769a90 Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期四, 18 七月 2024 14:37:00 +0800 Subject: [PATCH] feat: 代码重构 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 37 ++++++++++++++++++++++++++++++------- 1 files changed, 30 insertions(+), 7 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index c07ae66..24cde1d 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -18,11 +18,14 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.Month; import java.time.Year; import java.time.temporal.TemporalAdjusters; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Objects; @@ -51,15 +54,32 @@ List<OrderQueryVO> list; // 根据查询类型查询订单信息 if (OrderConstants.YEAR.equals(countType)) { - list = baseMapper.orderCountByYear(cityList, orderState, startTime, endTime); + list = baseMapper.orderCountByYear(cityList, orderState); } else if (OrderConstants.MONTH.equals(countType)) { - list = baseMapper.orderCountByMonth(cityList, orderState, startTime, endTime); + list = baseMapper.orderCountByMonth(cityList, orderState); } else if (OrderConstants.WEEK.equals(countType)) { - list = baseMapper.orderCountByWeek(cityList, orderState, startTime, endTime); + list = baseMapper.orderCountByWeek(cityList, orderState); } else if (OrderConstants.TODAY.equals(countType)) { - list = baseMapper.orderCountByToday(cityList, orderState, startTime, endTime); + list = baseMapper.orderCountByToday(cityList, orderState); } else { - list = new ArrayList<>(); + try { + startTime = startTime + " 00:00:00"; + endTime = endTime + " 00:00:00"; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date1 = sdf.parse(startTime); + Date date2 = sdf.parse(endTime); + long diffInMillis = date2.getTime() - date1.getTime(); + long diffInDays = diffInMillis / (24 * 60 * 60 * 1000); + if (diffInDays > Constants.YEAR_DAY) { + list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime,orderState); + } else if (diffInDays > Constants.THIRTY) { + list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime,orderState); + } else { + list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime,orderState); + } + } catch (ParseException e) { + list = new ArrayList<>(); + } } // 计算订单总额及总订单数量 BigDecimal totalMoney; @@ -73,7 +93,10 @@ orderNumber = list.stream().filter(order -> order.getNumber() != null) .mapToInt(OrderQueryVO::getNumber).sum(); } - return new OrderResultVO(totalMoney, orderNumber, list); + return new + + OrderResultVO(totalMoney, orderNumber, list); + } @Override @@ -136,7 +159,7 @@ } else if (Constants.FOUR.equals(state)) { canceled++; } - if (order.getIsReinvest() != null && order.getIsReinvest() == 1) { + if (order.getState().equals(Constants.SIX)) { reInvestment++; } } -- Gitblit v1.7.1