From f34453a6e807103e36e412ecef66b39e9ef1f233 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 19 九月 2024 17:57:39 +0800 Subject: [PATCH] 修改接口 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java | 38 ++++++++++++++++++++++++++------------ 1 files changed, 26 insertions(+), 12 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java index 3d40bdc..eb36fce 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java @@ -90,11 +90,22 @@ this.save(dataGenerator); long start = System.currentTimeMillis(); // 查询所有的人数用餐标准 - List<TFoundationConfigVO> foundationConfigs = foundationConfigService.getList(); + List<TFoundationConfigVO> foundationConfigs = foundationConfigService.getList(dto.getShopId()); + if(CollectionUtils.isEmpty(foundationConfigs)){ + throw new ServiceException("请先添加该店铺用餐标准"); + } // 查询所有桌子 - List<TBoard> boards = boardService.list(); + List<TBoard> boards = boardService.list(Wrappers.lambdaQuery(TBoard.class) + .eq(TBoard::getShopId,dto.getShopId())); + if(CollectionUtils.isEmpty(boards)){ + throw new ServiceException("请先添加该店铺桌台信息"); + } // 查询所有菜品 - List<TGoods> goods = goodsService.list(); + List<TGoods> goods = goodsService.list(Wrappers.lambdaQuery(TGoods.class) + .eq(TGoods::getShopId,dto.getShopId())); + if(CollectionUtils.isEmpty(goods)){ + throw new ServiceException("请先添加该店铺菜品信息"); + } // 循环待生成订单列表,添加到集合中,批量插入 List<OrderMealGeneratorCountDTO> orderMealGeneratorCountDTOS = dto.getOrderMealGeneratorCountDTOS(); List<TOrderMeal> orderMeals = new ArrayList<>(); @@ -141,14 +152,16 @@ } } }); - orderMeal.setMealOrderGoods(orderMealGoods); - orderMeal.setOrderMoney(orderMealGoods.stream().map(TOrderMealGoods::getGoodsSalePrice).reduce(BigDecimal::add).get()); - orderMeal.setPayMoney(orderMealGoods.stream().map(TOrderMealGoods::getGoodsSalePrice).reduce(BigDecimal::add).get()); - orderMeals.add(orderMeal); + if(!CollectionUtils.isEmpty(orderMealGoods)){ + orderMeal.setMealOrderGoods(orderMealGoods); + orderMeal.setOrderMoney(orderMealGoods.stream().map(good->good.getGoodsSalePrice().multiply(new BigDecimal(good.getGoodsCount()))).reduce(BigDecimal::add).get()); + orderMeal.setPayMoney(orderMealGoods.stream().map(good->good.getGoodsSalePrice().multiply(new BigDecimal(good.getGoodsCount()))).reduce(BigDecimal::add).get()); + orderMeals.add(orderMeal); + } } } BigDecimal sumMoney = orderMeals.stream().map(TOrderMeal::getPayMoney).reduce(BigDecimal::add).get(); - if(sumMoney.compareTo(dto.getMinMoney()) >= 0 || sumMoney.compareTo(dto.getMaxMoney()) <= 0){ + if(sumMoney.compareTo(dto.getMinMoney()) >= 0 && sumMoney.compareTo(dto.getMaxMoney()) <= 0){ int weiXin = getRandomPayType(orderMeals.size(), dto.getWeiXinProportion()); int ali = getRandomPayType(orderMeals.size(), dto.getAliProportion()); int card = getRandomPayType(orderMeals.size(), dto.getCardProportion()); @@ -222,6 +235,7 @@ long end = System.currentTimeMillis() - start; System.err.println("相差时间========="+end); }else { + this.removeById(dataGenerator); throw new ServiceException("数据生成不在营业额范围内"); } @@ -481,15 +495,15 @@ if(dataGenerator.getOrderType() == 1){ // 删除时间段的数据 orderMealService.remove(Wrappers.lambdaQuery(TOrderMeal.class) - .gt(TOrderMeal::getCreateTime, dataGenerator.getStartTime()) - .lt(TOrderMeal::getCreateTime, dataGenerator.getEndTime())); + .gt(TOrderMeal::getMealTime, dataGenerator.getStartTime()) + .lt(TOrderMeal::getMealTime, dataGenerator.getEndTime())); // 修改覆盖类型为已覆盖 orderMealService.update(Wrappers.lambdaUpdate(TOrderMeal.class).set(TOrderMeal::getIsCover, 1).eq(TOrderMeal::getGeneratorId, id)); }else { // 删除时间段的数据 orderStockService.remove(Wrappers.lambdaQuery(TOrderStock.class) - .gt(TOrderStock::getCreateTime, dataGenerator.getStartTime()) - .lt(TOrderStock::getCreateTime, dataGenerator.getEndTime())); + .gt(TOrderStock::getStockTime, dataGenerator.getStartTime()) + .lt(TOrderStock::getStockTime, dataGenerator.getEndTime())); // 修改覆盖类型为已覆盖 orderStockService.update(Wrappers.lambdaUpdate(TOrderStock.class).set(TOrderStock::getIsCover, 1).eq(TOrderStock::getGeneratorId, id)); } -- Gitblit v1.7.1