From 35ad186a9dcbc4858c624b6f511ec13f069a0efb Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Fri, 25 Oct 2024 11:02:39 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=8F=B0=E6=A1=8C=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=8A=B6=E6=80=81=E6=9F=A5=E8=AF=A2=20?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=8F=B0=E6=A1=8C=E6=94=AF=E6=8C=81=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=E5=8E=9F=E6=9C=89=E8=B4=AD=E7=89=A9=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/dto/shop/TbShopTableQueryCriteria.java | 2 ++ .../ysk/cashier/dto/shoptable/ChoseTableDTO.java | 2 ++ .../mybatis/service/MpCashierCartService.java | 10 +++++++++- .../service/impl/MpCashierCartServiceImpl.java | 14 ++++++++++---- .../impl/shopimpl/TbShopTableServiceImpl.java | 12 ++++++++++-- 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopTableQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopTableQueryCriteria.java index 1cf14c92..72099d7d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopTableQueryCriteria.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shop/TbShopTableQueryCriteria.java @@ -15,6 +15,7 @@ */ package cn.ysk.cashier.dto.shop; +import cn.ysk.cashier.enums.TableStateEnum; import lombok.Data; import cn.ysk.cashier.annotation.Query; @@ -42,6 +43,7 @@ public class TbShopTableQueryCriteria{ @Query private Long qrcode; + private String state; private Integer page = 1; private Integer size = 99999; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseTableDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseTableDTO.java index d96950cf..fb5ba9ec 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseTableDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/ChoseTableDTO.java @@ -12,5 +12,7 @@ public class ChoseTableDTO { private String masterId; @NotBlank private String tableId; + @NotNull + private Boolean isClear; } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java index 664c4391..53c2c62a 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/MpCashierCartService.java @@ -2,7 +2,6 @@ package cn.ysk.cashier.mybatis.service; import cn.ysk.cashier.enums.OrderStatusEnums; import cn.ysk.cashier.pojo.order.TbCashierCart; -import cn.ysk.cashier.pojo.order.TbOrderDetail; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -31,5 +30,14 @@ public interface MpCashierCartService extends IService { * @return 购物车数量 */ long countByTableId(Integer shopId, String tableId, OrderStatusEnums... statusEnums); + + /** + * 根据tableIdId和用餐类型清空购物车 + * + * @param tableId 台桌id + * @param useType 用餐类型 + * @param shopId 店铺id + */ + boolean clearCartByTableIdAndUseType(String tableId, String useType, Integer shopId); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java index f23e0655..b7f55bca 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/MpCashierCartServiceImpl.java @@ -4,17 +4,13 @@ import cn.hutool.core.date.DateUtil; import cn.ysk.cashier.enums.OrderStatusEnums; import cn.ysk.cashier.enums.OrderUseTypeEnum; import cn.ysk.cashier.mybatis.mapper.TbCashierCartMapper; -import cn.ysk.cashier.mybatis.mapper.TbOrderDetailMapper; import cn.ysk.cashier.mybatis.service.MpCashierCartService; -import cn.ysk.cashier.mybatis.service.MpOrderDetailService; import cn.ysk.cashier.pojo.order.TbCashierCart; -import cn.ysk.cashier.pojo.order.TbOrderDetail; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.ArrayList; -import java.util.Collections; import java.util.List; /** @@ -49,5 +45,15 @@ public class MpCashierCartServiceImpl extends ServiceImpl() + .in(TbCashierCart::getStatus, OrderStatusEnums.CREATE.getValue(), OrderStatusEnums.RETURN.getValue()) + .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) + .eq(TbCashierCart::getShopId, shopId) + .eq(TbCashierCart::getTableId, tableId) + .eq(TbCashierCart::getUseType, useType)); + } } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 9a1c1e31..06381a41 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -236,6 +236,10 @@ public class TbShopTableServiceImpl implements TbShopTableService { query.eq(TbShopTable::getQrcode, criteria.getQrcode()); } + if (StrUtil.isNotBlank(criteria.getState())) { + query.eq(TbShopTable::getStatus, criteria.getState()); + } + com.baomidou.mybatisplus.extension.plugins.pagination.Page shopTablePage = mpShopTableService.page(new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(criteria.getPage(), criteria.getSize()), query); List tbShopTableList = shopTablePage.getRecords(); @@ -281,10 +285,9 @@ public class TbShopTableServiceImpl implements TbShopTableService { itemMap.put("masterId", orderInfo == null ? null : orderInfo.getMasterId()); infoList.add(itemMap); } - int i = tbShopTableRepository.countAllByShopId(criteria.getShopId()); HashMap map = new HashMap<>(); map.put("content", infoList); - map.put("total", i); + map.put("total", shopTablePage.getTotal()); return map; } @@ -1786,6 +1789,11 @@ public class TbShopTableServiceImpl implements TbShopTableService { ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(choseTableDTO.getShopId(), choseTableDTO.getTableId()); + // 清空原有桌台商品 + if (choseTableDTO.getIsClear()) { + mpCashierCartService.clearCartByTableIdAndUseType(choseTableDTO.getTableId(), shopEatTypeInfoDTO.getUseType(), choseTableDTO.getShopId()); + } + ArrayList cartIds = new ArrayList<>(); Integer orderId = null; for (TbCashierCart item : tbCashierCarts) {