xuhy
2024-09-26 76699e910ca78a400c0bcdbaa7c175248f9589d0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java
@@ -87,11 +87,13 @@
            // 查询已存在的菜品
            List<TOrderMealGoods> list2 = orderMealGoodsService.list(Wrappers.lambdaQuery(TOrderMealGoods.class)
                    .in(TOrderMealGoods::getOrderId, dto.getId()));
            BigDecimal money = BigDecimal.ZERO;
            for (MealOrderGoodsDTO mealOrderGoodsDTO : mealOrderGoodsDTOS) {
                TOrderMealGoods tOrderMealGoods = list2.stream().filter(item1 -> item1.getGoodsId().equals(mealOrderGoodsDTO.getGoodsId())).findFirst().orElse(null);
                if(Objects.nonNull(tOrderMealGoods)){
                    tOrderMealGoods.setGoodsCount(tOrderMealGoods.getGoodsCount()+mealOrderGoodsDTO.getGoodsCount());
                    orderMealGoods.add(tOrderMealGoods);
                    money = money.add(tOrderMealGoods.getGoodsSalePrice().multiply(new BigDecimal(mealOrderGoodsDTO.getGoodsCount())));
                    continue;
                }
                for (TGoods goods : list) {
@@ -107,16 +109,16 @@
                        orderMealGood.setGoodsId(goods.getId());
                        orderMealGood.setTypeName(list1.stream().filter(item2 -> item2.getId().equals(goods.getTypeId())).findFirst().get().getTypeName());
                        orderMealGoods.add(orderMealGood);
                        money = money.add(goods.getSalePrice().multiply(new BigDecimal(mealOrderGoodsDTO.getGoodsCount())));
                    }
                }
            }
            BigDecimal orderMoney = orderMeal.getOrderMoney();
            // 添加菜品
            for (TOrderMealGoods orderMealGood : orderMealGoods) {
                orderMealGood.setOrderId(dto.getId());
                orderMoney = orderMoney.add(orderMealGood.getGoodsSalePrice().multiply(new BigDecimal(orderMealGood.getGoodsCount())));
            }
            orderMealGoodsService.saveOrUpdateBatch(orderMealGoods);
            BigDecimal orderMoney = orderMeal.getOrderMoney().add(money);
            orderMeal.setOrderMoney(orderMoney);
            this.updateById(orderMeal);
            // 添加备注