diff --git a/src/main/java/com/gxwebsoft/shop/mapper/DashboardMapper.java b/src/main/java/com/gxwebsoft/shop/mapper/DashboardMapper.java index 02dfba8..01b4a9e 100644 --- a/src/main/java/com/gxwebsoft/shop/mapper/DashboardMapper.java +++ b/src/main/java/com/gxwebsoft/shop/mapper/DashboardMapper.java @@ -2,6 +2,7 @@ package com.gxwebsoft.shop.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gxwebsoft.shop.entity.Dashboard; +import com.gxwebsoft.shop.entity.Order; import com.gxwebsoft.shop.entity.OrderPay; import com.gxwebsoft.shop.param.DashBoardParam; import org.apache.ibatis.annotations.Param; @@ -10,11 +11,20 @@ import java.util.List; public interface DashboardMapper extends BaseMapper { + + /** + * 订单统计 + * + * @param param 查询参数 + * @return List + */ + List selectOrderListRel(@Param("param") DashBoardParam param); + /** * 销售额统计 * * @param param 查询参数 - * @return SalesAmountStatistics + * @return List */ List selectOrderPayListRel(@Param("param") DashBoardParam param); diff --git a/src/main/java/com/gxwebsoft/shop/mapper/xml/DashboardMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/DashboardMapper.xml index 4bdbbf0..0c4e3e2 100644 --- a/src/main/java/com/gxwebsoft/shop/mapper/xml/DashboardMapper.xml +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/DashboardMapper.xml @@ -10,10 +10,26 @@ - - - + SELECT a.*,DATE_FORMAT(a.create_time,'%Y-%m-%d') AS createTime + FROM shop_order a + + AND is_renew = 0 AND is_freeze = 1 AND deleted = 0 + + AND a.merchant_code = #{param.goodsId} + + + AND a.merchant_code = #{param.shopId} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + ORDER BY a.create_time desc diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/DashboardServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/DashboardServiceImpl.java index 3ca80a3..2af5e63 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/DashboardServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/DashboardServiceImpl.java @@ -186,24 +186,28 @@ public class DashboardServiceImpl extends ServiceImpl + */ @Override public List orderStatisticsList(DashBoardParam param) { + List orderList = baseMapper.selectOrderListRel(param); + Map> orderPayListMap = orderList.stream().collect(Collectors.groupingBy(Order::getCreateTime)); - //TODO 测试数据 List orderStatisticsList = new ArrayList<>(); - List dateList = new ArrayList<>(); - dateList.add(DateUtil.parse("2024-08-15")); - dateList.add(DateUtil.parse("2024-08-16")); - dateList.add(DateUtil.parse("2024-08-17")); - dateList.add(DateUtil.parse("2024-08-18")); - dateList.forEach(date -> { - Dashboard.OrderStatistics orderStatistics=new Dashboard.OrderStatistics(); - orderStatistics.setDailyNewOrders(10); - orderStatistics.setStartStatisticsDate(date); - orderStatistics.setEndStatisticsDate(date); - orderStatisticsList.add(orderStatistics); + orderPayListMap.forEach((date, orderPays) -> { + Date statisticsDate = DateUtil.parseDate(DateUtil.formatDate(date));//将时间转化为 + Dashboard.OrderStatistics statistics = new Dashboard.OrderStatistics(); + statistics.setDailyNewOrders(orderPays.size()); + statistics.setStartStatisticsDate(statisticsDate); + statistics.setEndStatisticsDate(statisticsDate); + orderStatisticsList.add(statistics); }); - + //按照时间排序 + Collections.sort(orderStatisticsList, Comparator.comparing(Dashboard.BaseStatistics::getStartStatisticsDate)); return orderStatisticsList; }