From da392a50b1ea129d1626c1936f0b5ed5ed457b30 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 10 九月 2024 17:14:50 +0800 Subject: [PATCH] 修改 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java | 44 +++++++++++++++++++++++++++----------------- 1 files changed, 27 insertions(+), 17 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java index 26051c6..e0a983f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java @@ -6,6 +6,7 @@ import com.ruoyi.common.constant.OrderNumConstants; import com.ruoyi.common.enums.BoardEnum; import com.ruoyi.common.utils.CodeGenerateUtils; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.system.domain.*; import com.ruoyi.system.dto.*; import com.ruoyi.system.mapper.TOrderMealGoodsMapper; @@ -58,7 +59,6 @@ orderMeal.setMealPerson(dto.getMealPerson()); orderMeal.setMealTime(dto.getMealTime()); orderMeal.setOrderMoney(dto.getOrderMoney()); - this.updateById(orderMeal); // 查询菜品分类 List<TGoodsType> list1 = goodsTypeService.list(); @@ -83,16 +83,22 @@ orderMealGood.setGoodsPicture(item1.getGoodsPicture()); orderMealGood.setGoodsCount(item.getGoodsCount()); orderMealGood.setGoodsSalePrice(item1.getSalePrice().multiply(new BigDecimal(item.getGoodsCount()))); -// orderMealGood.setTypeId(item1.getTypeId()); + orderMealGood.setCostPrice(item1.getCostPrice().multiply(new BigDecimal(item.getGoodsCount()))); + orderMealGood.setTypeId(item1.getTypeId()); + orderMealGood.setGoodsId(item1.getId()); orderMealGood.setTypeName(list1.stream().filter(item2 -> item2.getId().equals(item1.getTypeId())).findFirst().get().getTypeName()); orderMealGoods.add(orderMealGood); }); }); + BigDecimal orderMoney = BigDecimal.ZERO; // 添加菜品 - orderMealGoods.forEach(item -> { - item.setOrderId(dto.getId()); - }); + for (TOrderMealGoods orderMealGood : orderMealGoods) { + orderMealGood.setOrderId(dto.getId()); + orderMoney = orderMoney.add(orderMealGood.getGoodsSalePrice()); + } orderMealGoodsService.saveBatch(orderMealGoods); + orderMeal.setOrderMoney(orderMoney); + this.updateById(orderMeal); // 添加备注 // TOrderRemark tOrderRemark = new TOrderRemark(); // tOrderRemark.setOrderId(dto.getId()); @@ -119,7 +125,8 @@ orderMealGood.setGoodsPicture(item1.getGoodsPicture()); orderMealGood.setGoodsCount(item.getGoodsCount()); orderMealGood.setGoodsSalePrice(item1.getGoodsSalePrice().multiply(new BigDecimal(item.getGoodsCount()))); -// orderMealGood.setTypeId(item1.getTypeId()); + orderMealGood.setTypeId(item1.getTypeId()); + orderMealGood.setGoodsId(item1.getId()); orderMealGood.setTypeName(list1.stream().filter(item2 -> item2.getId().equals(item1.getTypeId())).findFirst().get().getTypeName()); orderMealGoods.add(orderMealGood); }); @@ -176,8 +183,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } PageInfo<TOrderMealVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize()); List<TOrderMealVO> list = this.baseMapper.pageList(query,pageInfo); @@ -186,12 +193,14 @@ List<TOrderMealGoods> list1 = orderMealGoodsService.list(Wrappers.lambdaQuery(TOrderMealGoods.class) .eq(TOrderMealGoods::getOrderId, tOrderMealVO.getId())); tOrderMealVO.setOrderMealGoods(list1); - Map<String, List<TOrderMealGoods>> map = list1.stream().collect(Collectors.groupingBy(TOrderMealGoods::getTypeName)); - List<String> goodsList = new ArrayList<>(); - map.forEach((k,v)->{ - goodsList.add(k+":"+v.stream().map(item->item.getGoodsName()+" "+(item.getGoodsSalePrice().multiply(new BigDecimal(item.getGoodsCount())))).collect(Collectors.joining(","))); - }); - tOrderMealVO.setGoodsList(goodsList); + if(!CollectionUtils.isEmpty(list1)){ + Map<String, List<TOrderMealGoods>> map = list1.stream().collect(Collectors.groupingBy(TOrderMealGoods::getTypeName)); + List<String> goodsList = new ArrayList<>(); + map.forEach((k,v)->{ + goodsList.add(k+":"+v.stream().map(item->item.getGoodsName()+" "+(item.getGoodsSalePrice().multiply(new BigDecimal(item.getGoodsCount())))).collect(Collectors.joining(","))); + }); + tOrderMealVO.setGoodsList(goodsList); + } } pageInfo.setRecords(list); return pageInfo; @@ -268,8 +277,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } List<TOrderMealVO> list = this.baseMapper.exportOrderMeal(query); List<Long> ids = list.stream().map(TOrderMealVO::getId).collect(Collectors.toList()); @@ -320,7 +329,7 @@ } @Override - public Map<String, BigDecimal> getDataGeneratorMealDetail(TDataGeneratorMealQuery query) { + public Map<String, Double> getDataGeneratorMealDetail(TDataGeneratorMealQuery query) { return this.baseMapper.getDataGeneratorMealDetail(query); } @@ -352,6 +361,7 @@ board.setStatus(BoardEnum.WAITING_ORDER.getCode()); boardService.updateById(board); dto.setMealTime(LocalDate.now()); + dto.setOrderNum(OrderNumConstants.MEAL + CodeGenerateUtils.generateVolumeSn()); this.save(dto); } -- Gitblit v1.7.1