From 3d1cf55e874a5b79c74725af946bfe235c3b06fd Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 13 九月 2024 18:15:34 +0800 Subject: [PATCH] 修改接口 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java | 69 +++++++++++++++++++++++++++++++--- 1 files changed, 63 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java index fd98610..08524ab 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java @@ -9,15 +9,12 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.WebUtils; import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.domain.TOrderMeal; -import com.ruoyi.system.domain.TOrderMealGoods; -import com.ruoyi.system.dto.AddDishDTO; +import com.ruoyi.system.domain.*; import com.ruoyi.system.dto.CheckoutDTO; import com.ruoyi.system.dto.TOrderMealDTO; import com.ruoyi.system.export.TOrderMealExportExcel; import com.ruoyi.system.query.TOrderMealQuery; -import com.ruoyi.system.service.TOrderMealGoodsService; -import com.ruoyi.system.service.TOrderMealService; +import com.ruoyi.system.service.*; import com.ruoyi.system.vo.AmountSumVO; import com.ruoyi.system.vo.TOrderMealVO; import io.swagger.annotations.Api; @@ -25,15 +22,18 @@ import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.math.BigDecimal; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -51,12 +51,18 @@ private final TOrderMealService orderMealService; private final TOrderMealGoodsService orderMealGoodsService; + private final TGoodsTypeService goodsTypeService; + private final TGoodsService goodsService; + private final TBoardService boardService; private final TokenService tokenService; @Autowired - public TOrderMealController(TOrderMealService orderMealService, TOrderMealGoodsService orderMealGoodsService, TokenService tokenService) { + public TOrderMealController(TOrderMealService orderMealService, TOrderMealGoodsService orderMealGoodsService, TGoodsTypeService goodsTypeService, TGoodsService goodsService, TBoardService boardService, TokenService tokenService) { this.orderMealService = orderMealService; this.orderMealGoodsService = orderMealGoodsService; + this.goodsTypeService = goodsTypeService; + this.goodsService = goodsService; + this.boardService = boardService; this.tokenService = tokenService; } @@ -88,8 +94,57 @@ BeanUtils.copyProperties(orderMeal, orderMealVO); List<TOrderMealGoods> list = orderMealGoodsService.list(Wrappers.lambdaQuery(TOrderMealGoods.class) .eq(TOrderMealGoods::getOrderId, orderMeal.getId())); + if(!CollectionUtils.isEmpty(list)){ + Map<String, List<TOrderMealGoods>> map = list.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(","))); + }); + orderMealVO.setGoodsList(goodsList); + } orderMealVO.setOrderMealGoods(list); + // 查询用餐人数 + TBoard board = boardService.getById(orderMeal.getBoardId()); + orderMealVO.setMaxPerson(board.getMaxPerson()); + orderMealVO.setMinPerson(board.getMinPerson()); return AjaxResult.success(orderMealVO); + } + + @ApiOperation( value = "修改") + @PostMapping(value = "/update") + public AjaxResult<String> update(@RequestBody TOrderMealDTO dto) { + // 删除所有菜品 + orderMealGoodsService.remove(Wrappers.lambdaQuery(TOrderMealGoods.class) + .eq(TOrderMealGoods::getOrderId, dto.getId())); + orderMealService.updateById(dto); + for (TOrderMealGoods mealOrderGood : dto.getMealOrderGoods()) { + // 设置商品类型和类型id + TGoodsType goodsType = goodsTypeService.getById(mealOrderGood.getTypeId()); + mealOrderGood.setId(null); + mealOrderGood.setOrderId(dto.getId()); + mealOrderGood.setTypeId(goodsType.getId()); + mealOrderGood.setTypeName(goodsType.getTypeName()); + } + orderMealGoodsService.saveBatch(dto.getMealOrderGoods()); + return AjaxResult.success(); + } + @ApiOperation( value = "列表详情结账") + @PostMapping(value = "/detailUpdate") + public AjaxResult<String> detailUpdate(@RequestBody TOrderMealDTO dto) { + // 删除所有菜品 + orderMealGoodsService.remove(Wrappers.lambdaQuery(TOrderMealGoods.class) + .eq(TOrderMealGoods::getOrderId, dto.getId())); + orderMealService.updateById(dto); + // 查询餐桌 + List<TOrderMealGoods> mealOrderGoods = dto.getMealOrderGoods(); + if (!CollectionUtils.isEmpty(mealOrderGoods)) { + for (TOrderMealGoods mealOrderGood : mealOrderGoods) { + // 设置商品类型和类型id + mealOrderGood.setId(null); + } + orderMealGoodsService.saveBatch(mealOrderGoods); + } + return AjaxResult.success(); } @ApiOperation( value = "删除餐饮订单") @@ -142,6 +197,7 @@ @PostMapping("/exportOrderMeal") public void exportOrderMeal(@RequestBody TOrderMealQuery query) { + query.setShopId(tokenService.getLoginUser().getObjectId()); List<TOrderMealVO> list = orderMealService.exportOrderMeal(query); List<TOrderMealExportExcel> orderMeals = new ArrayList<>(); for (TOrderMealVO orderMealVO : list) { @@ -149,6 +205,7 @@ BeanUtils.copyProperties(orderMealVO, tOrderMealExportExcel); tOrderMealExportExcel.setCreateStrTime(DateUtils.localDateTimeToString(orderMealVO.getCreateTime())); tOrderMealExportExcel.setGoodsList(orderMealVO.getGoodsList().stream().collect(Collectors.joining("\n"))); + orderMeals.add(tOrderMealExportExcel); } Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrderMealExportExcel.class, orderMeals); HttpServletResponse response = WebUtils.response(); -- Gitblit v1.7.1