From 8c2128317af3e5a2df32150f3684167925ee4508 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 05 九月 2024 14:07:32 +0800 Subject: [PATCH] 生成数据详情和导出 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java index f4df429..54de246 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java @@ -9,6 +9,7 @@ import com.ruoyi.system.domain.*; import com.ruoyi.system.dto.TOrderSaleDTO; import com.ruoyi.system.mapper.TOrderSaleMapper; +import com.ruoyi.system.query.TDataGeneratorSaleQuery; import com.ruoyi.system.query.TDataStatisticsQuery; import com.ruoyi.system.query.TOrderMealQuery; import com.ruoyi.system.query.TOrderSaleQuery; @@ -92,6 +93,13 @@ } PageInfo<TOrderSaleVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize()); List<TOrderSaleVO> list = this.baseMapper.pageList(query,pageInfo); + List<Long> ids = list.stream().map(TOrderSaleVO::getId).collect(Collectors.toList()); + List<TOrderSaleGoods> list1 = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class) + .in(TOrderSaleGoods::getOrderId, ids)); + list.forEach(e->{ + e.setGoodsAmount(list1.stream().filter(m->m.getOrderId().equals(e.getId())).map(TOrderSaleGoods::getGoodsSalePrice).reduce(BigDecimal::add).get()); + e.setOrderSaleGoods(list1.stream().filter(m->m.getOrderId().equals(e.getId())).collect(Collectors.toList())); + }); pageInfo.setRecords(list); return pageInfo; } @@ -185,4 +193,51 @@ public List<OrderTrendsVO> orderingTrends(TDataStatisticsQuery query) { return this.baseMapper.orderingTrends(query); } + + @Override + public Map<String, BigDecimal> getDataGeneratorMealDetail(TDataGeneratorSaleQuery query) { + return this.baseMapper.getDataGeneratorMealDetail(query); + } + + @Override + public List<TOrderSaleVO> saleGeneratorExport(TDataGeneratorSaleQuery query) { + if(Objects.nonNull(query.getTimeType())){ + LocalDateTime startTime = null; + LocalDateTime endTime = null; + switch (query.getTimeType()){ + case 1: + // 今日 + startTime = LocalDateTime.MIN; + endTime = LocalDateTime.MAX; + break; + case 2: + // 昨日 + startTime = LocalDateTime.now().minusDays(1); + endTime = LocalDateTime.now().minusDays(1); + break; + case 3: + // 近7天 + startTime = LocalDateTime.now().minusDays(7); + endTime = LocalDateTime.now(); + break; + case 4: + // 近30天 + startTime = LocalDateTime.now().minusDays(30); + endTime = LocalDateTime.now(); + break; + } + query.setStartTime(startTime); + query.setEndTime(endTime); + } + List<TOrderSaleVO> list = this.baseMapper.saleGeneratorExport(query); + List<Long> ids = list.stream().map(TOrderSaleVO::getId).collect(Collectors.toList()); + List<TOrderSaleGoods> list1 = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class) + .in(TOrderSaleGoods::getOrderId,ids)); + // 查询商品信息 + for (TOrderSaleVO orderSaleVO : list) { + List<TOrderSaleGoods> collect = list1.stream().filter(e -> e.getOrderId().equals(orderSaleVO.getId())).collect(Collectors.toList()); + orderSaleVO.setOrderSaleGoods(collect); + } + return list; + } } -- Gitblit v1.7.1