From bec466faa236088e6f942313dbac1c1e5c723bc8 Mon Sep 17 00:00:00 2001 From: qjq <1766193529@qq.com> Date: Wed, 24 Apr 2024 09:37:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BA=E7=A9=BA=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dishestype/DishesTypeServiceImpl.java | 59 ++++++++++--------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishestype/DishesTypeServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishestype/DishesTypeServiceImpl.java index cd19db23..f3d61d56 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishestype/DishesTypeServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dishestype/DishesTypeServiceImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.system.service.dishestype; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; @@ -93,35 +94,37 @@ public class DishesTypeServiceImpl implements DishesTypeService { List list=new ArrayList<>(); //获取订单id List collect = dishesTypeMapper.selectOrderIds(carteenId, startTime, endTime); - List orderDetailDOS = dishesTypeMapper.selectByIdAmdTypeName(collect); - orderDetailDOS.forEach(f-> f.setCreator(TimePeriodEnum.getTimePeriod(f.getCreateTime()))); - // 根据时间进行分组 - Map> map = orderDetailDOS.stream() - .collect(Collectors.groupingBy(OrderDetail::getCreator)); - for (Map.Entry> en : map.entrySet()) { - DishesTypeListRespVO vo=new DishesTypeListRespVO(); - vo.setTime(en.getKey()); - //集合根据菜品名称去重 - List collect1 = new ArrayList<>(en.getValue().stream().collect(Collectors.toMap( - OrderDetail::getDishesName, - m -> m, - (oldValue, newValue) -> newValue - )).values()); - //根据类型进行分组 - collect1.stream() - .collect(Collectors.groupingBy(OrderDetail::getDishUrl)) - .forEach((v,k)-> { - Map map1 = MapUtil.builder(new HashMap()) - .put("dishesName", StrUtil.join(",",k.stream() - .map(OrderDetail::getDishesName) - .collect(Collectors.toList()))) - .put("typeName", v) - .map(); - vo.getDishesTypeName().add(map1); - }); - list.add(vo); + if(ObjUtil.isNotEmpty(collect)){ + List orderDetailDOS = dishesTypeMapper.selectByIdAmdTypeName(collect); + orderDetailDOS.forEach(f-> f.setCreator(TimePeriodEnum.getTimePeriod(f.getCreateTime()))); + // 根据时间进行分组 + Map> map = orderDetailDOS.stream() + .collect(Collectors.groupingBy(OrderDetail::getCreator)); + for (Map.Entry> en : map.entrySet()) { + DishesTypeListRespVO vo=new DishesTypeListRespVO(); + vo.setTime(en.getKey()); + //集合根据菜品名称去重 + List collect1 = new ArrayList<>(en.getValue().stream().collect(Collectors.toMap( + OrderDetail::getDishesName, + m -> m, + (oldValue, newValue) -> newValue + )).values()); + //根据类型进行分组 + collect1.stream() + .collect(Collectors.groupingBy(OrderDetail::getDishUrl)) + .forEach((v,k)-> { + Map map1 = MapUtil.builder(new HashMap()) + .put("dishesName", StrUtil.join(",",k.stream() + .map(OrderDetail::getDishesName) + .collect(Collectors.toList()))) + .put("typeName", v) + .map(); + vo.getDishesTypeName().add(map1); + }); + list.add(vo); + } + list.sort(Comparator.comparing(DishesTypeListRespVO::getTime)); } - list.sort(Comparator.comparing(DishesTypeListRespVO::getTime)); return list; } } \ No newline at end of file