From 26e6eefcf5f897a5ed01a36c853d8948e0d9b48d Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 22 九月 2025 10:57:19 +0800 Subject: [PATCH] 添加删除日志 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java | 82 +++++++++++++++++++++++++++++++--------- 1 files changed, 63 insertions(+), 19 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 a4710ab..80957ad 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 @@ -4,21 +4,19 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.WebUtils; import com.ruoyi.framework.web.service.TokenService; -import com.ruoyi.system.domain.TGoodsType; -import com.ruoyi.system.domain.TOrderMeal; -import com.ruoyi.system.domain.TOrderMealGoods; +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.TGoodsTypeService; -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; @@ -26,15 +24,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; /** @@ -53,13 +54,17 @@ 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, TGoodsTypeService goodsTypeService, 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; } @@ -80,7 +85,11 @@ @PostMapping(value = "/amountSum") public AjaxResult<AmountSumVO> amountSum(@RequestBody TOrderMealQuery query) { query.setShopId(tokenService.getLoginUser().getObjectId()); - return AjaxResult.success(orderMealService.amountSum(query)); + AmountSumVO amountSumVO = orderMealService.amountSum(query); + if(amountSumVO.getObligation().compareTo(BigDecimal.ZERO) < 0){ + amountSumVO.setObligation(BigDecimal.ZERO); + } + return AjaxResult.success(amountSumVO); } @ApiOperation( value = "查询餐饮详情") @@ -91,7 +100,20 @@ 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()); + orderMealVO.setBoardName(board.getBoardName()); return AjaxResult.success(orderMealVO); } @@ -99,21 +121,41 @@ @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()); + if(!CollectionUtils.isEmpty(dto.getMealOrderGoods())){ + orderMealGoodsService.remove(Wrappers.lambdaQuery(TOrderMealGoods.class) + .eq(TOrderMealGoods::getOrderId, dto.getId())); + 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()); } - orderMealGoodsService.saveBatch(dto.getMealOrderGoods()); return AjaxResult.success(); } - + @ApiOperation( value = "列表详情结账") + @PostMapping(value = "/detailUpdate") + public AjaxResult<String> detailUpdate(@RequestBody TOrderMealDTO dto) { + orderMealService.updateById(dto); + // 查询餐桌 + List<TOrderMealGoods> mealOrderGoods = dto.getMealOrderGoods(); + if (!CollectionUtils.isEmpty(mealOrderGoods)) { + // 删除所有菜品 + orderMealGoodsService.remove(Wrappers.lambdaQuery(TOrderMealGoods.class) + .eq(TOrderMealGoods::getOrderId, dto.getId())); + for (TOrderMealGoods mealOrderGood : mealOrderGoods) { + // 设置商品类型和类型id + mealOrderGood.setId(null); + } + orderMealGoodsService.saveBatch(mealOrderGoods); + } + return AjaxResult.success(); + } + @Log(title = "餐饮订单-删除餐饮订单", businessType = BusinessType.DELETE) @ApiOperation( value = "删除餐饮订单") @GetMapping(value = "/deleteById") public AjaxResult<Boolean> deleteById(@RequestParam(value = "id") Long id) { @@ -164,6 +206,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) { @@ -171,6 +214,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