diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/bean/TableStateEnum.java b/src/main/java/com/chaozhanggui/system/cashierservice/bean/TableStateEnum.java index b802123..7f7b3cd 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/bean/TableStateEnum.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/bean/TableStateEnum.java @@ -2,7 +2,7 @@ package com.chaozhanggui.system.cashierservice.bean; public enum TableStateEnum { IDLE("idle"), - CLOSED("closed"), PAYING("paying"), PENDING("pending"), USING("using"); + CLOSED("closed"), PAYING("paying"), PENDING("pending"), USING("using"), CLEANING("cleaning"); private String state = "closed"; TableStateEnum(String state) { diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index e73289e..fdf035e 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -486,26 +486,19 @@ public class OrderService { ShopEatTypeInfoDTO shopEatTypeInfoDTO = checkEatModel(Integer.valueOf(shopId), eatModel); String day = DateUtils.getDay(); + String finalMasterId1 = masterId; LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .notIn(TbCashierCart::getStatus, "final", "closed", "pending") + .in(TbCashierCart::getStatus, "create", "return") + .eq(TbCashierCart::getShopId, shopId) .eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType()) - .eq(TbCashierCart::getShopId, shopId); + .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) + .and(q -> q.eq(TbCashierCart::getMasterId, finalMasterId1).or().isNull(TbCashierCart::getMasterId)); - // 普通点单 - if (StrUtil.isBlank(tableId)) { - queryWrapper.eq(TbCashierCart::getMasterId, masterId) - .notIn(TbCashierCart::getStatus, "refund") - .eq(TbCashierCart::getTradeDay, day) - .and(query -> query.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, "")); - // 台桌点单 - } else if (StrUtil.isNotBlank(tableId)) { - String finalMasterId = masterId; - queryWrapper.eq(TbCashierCart::getTableId, tableId) - .and(query -> query.eq(TbCashierCart::getMasterId, finalMasterId) - .or() - .isNull(TbCashierCart::getMasterId) - .or() - .eq(TbCashierCart::getMasterId, "")); + if (!shopEatTypeInfoDTO.isTakeout()) { + queryWrapper.eq(TbCashierCart::getTableId, tableId); + } else { + queryWrapper.and(q -> q.isNull(TbCashierCart::getTableId).or().eq(TbCashierCart::getTableId, "")) + .in(TbCashierCart::getPlatformType, OrderPlatformTypeEnum.PC.getValue(), OrderPlatformTypeEnum.CASH.getValue()); } List list = mpCashierCartMapper.selectList(queryWrapper); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index 28fa3c5..a717e87 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -142,6 +142,20 @@ public class PayService { String printKey = RedisCst.ORDER_PRINT_PRO + orderInfo.getId(); // 重置打印数据 redisTemplate.delete(printKey); + + // 修改台桌状态 + if (StrUtil.isNotBlank(orderInfo.getTableId())) { + TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper().eq(TbShopTable::getQrcode, orderInfo.getTableId())); + if (shopTable.getAutoClear() != null && shopTable.getAutoClear() == 1) { + mpShopTableMapper.update(null, new LambdaUpdateWrapper() + .eq(TbShopTable::getQrcode, orderInfo.getTableId()) + .set(TbShopTable::getStatus, TableStateEnum.IDLE.getState())); + }else { + mpShopTableMapper.update(null, new LambdaUpdateWrapper() + .eq(TbShopTable::getQrcode, orderInfo.getTableId()) + .set(TbShopTable::getStatus, TableStateEnum.CLEANING.getState())); + } + } } @Transactional(rollbackFor = Exception.class) @@ -301,24 +315,14 @@ public class PayService { producer.putOrderCollect(jsonObject.toJSONString()); // 打印消息 - if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) { - List detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper() - .eq(TbOrderDetail::getOrderId, orderInfo.getId()) - .eq(TbOrderDetail::getStatus, "closed")); - rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0])); - } - rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false); - - // 修改台桌状态 - if (StrUtil.isNotBlank(orderInfo.getTableId())) { - - TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper().eq(TbShopTable::getQrcode, orderInfo.getTableId())); - if (shopTable.getAutoClear() != null && shopTable.getAutoClear() == 1) { - mpShopTableMapper.update(null, new LambdaUpdateWrapper() - .eq(TbShopTable::getQrcode, orderInfo.getTableId()) - .set(TbShopTable::getStatus, TableStateEnum.IDLE.getState())); - } + if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) { + List detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper() + .eq(TbOrderDetail::getOrderId, orderInfo.getId()) + .eq(TbOrderDetail::getStatus, "closed")); + rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0])); } + rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false); + String tableCartKey = RedisCst.getCurrentOrderKey(orderInfo.getTableId(), orderInfo.getShopId()); @@ -338,25 +342,16 @@ public class PayService { payment.setUpdatedAt(System.currentTimeMillis()); tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); - // 修改台桌状态 - if (StrUtil.isNotBlank(orderInfo.getTableId())) { - TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper().eq(TbShopTable::getQrcode, orderInfo.getTableId())); - if (shopTable.getAutoClear() != null && shopTable.getAutoClear() == 1) { - mpShopTableMapper.update(null, new LambdaUpdateWrapper() - .eq(TbShopTable::getQrcode, orderInfo.getTableId()) - .set(TbShopTable::getStatus, TableStateEnum.IDLE.getState())); - } - } // 打印结算单 // 打印消息 - if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) { - List detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper() - .eq(TbOrderDetail::getOrderId, orderInfo.getId()) - .eq(TbOrderDetail::getStatus, "closed")); - rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0])); - } - rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false); + if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) { + List detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper() + .eq(TbOrderDetail::getOrderId, orderInfo.getId()) + .eq(TbOrderDetail::getStatus, "closed")); + rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0])); + } + rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false); String tableCartKey = RedisCst.getCurrentOrderKey(orderInfo.getTableId(), orderInfo.getShopId()); redisUtil.del(tableCartKey); @@ -413,23 +408,14 @@ public class PayService { producer.putOrderCollect(jsonObject.toJSONString()); // 打印消息 - if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) { - List detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper() - .eq(TbOrderDetail::getOrderId, orderInfo.getId()) - .eq(TbOrderDetail::getStatus, "closed")); - rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0])); - } - rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false); - // 修改台桌状态 - if (StrUtil.isNotBlank(orderInfo.getTableId())) { - - TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper().eq(TbShopTable::getQrcode, orderInfo.getTableId())); - if (shopTable.getAutoClear() != null && shopTable.getAutoClear() == 1) { - mpShopTableMapper.update(null, new LambdaUpdateWrapper() - .eq(TbShopTable::getQrcode, orderInfo.getTableId()) - .set(TbShopTable::getStatus, TableStateEnum.IDLE.getState())); - } + if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) { + List detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper() + .eq(TbOrderDetail::getOrderId, orderInfo.getId()) + .eq(TbOrderDetail::getStatus, "closed")); + rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0])); } + rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false); + // 打印结算单 String tableCartKey = RedisCst.getCurrentOrderKey(orderInfo.getTableId(), orderInfo.getShopId()); @@ -447,25 +433,16 @@ public class PayService { payment.setUpdatedAt(System.currentTimeMillis()); tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); - // 修改台桌状态 - if (StrUtil.isNotBlank(orderInfo.getTableId())) { - TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper().eq(TbShopTable::getQrcode, orderInfo.getTableId())); - if (shopTable.getAutoClear() != null && shopTable.getAutoClear() == 1) { - mpShopTableMapper.update(null, new LambdaUpdateWrapper() - .eq(TbShopTable::getQrcode, orderInfo.getTableId()) - .set(TbShopTable::getStatus, TableStateEnum.IDLE.getState())); - } - } // 打印结算单 // 打印消息 - if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) { - List detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper() - .eq(TbOrderDetail::getOrderId, orderInfo.getId()) - .eq(TbOrderDetail::getStatus, "closed")); - rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0])); - } - rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false); + if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) { + List detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper() + .eq(TbOrderDetail::getOrderId, orderInfo.getId()) + .eq(TbOrderDetail::getStatus, "closed")); + rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0])); + } + rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false); String tableCartKey = RedisCst.getCurrentOrderKey(orderInfo.getTableId(), orderInfo.getShopId()); redisUtil.del(tableCartKey); @@ -968,16 +945,6 @@ public class PayService { mqData.put("orderId", orderId); mqData.put("type", "pc"); producer.sendStockSaleMsg(mqData); - // 修改台桌状态 - if (StrUtil.isNotBlank(orderInfo.getTableId())) { - - TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper().eq(TbShopTable::getQrcode, orderInfo.getTableId())); - if (shopTable.getAutoClear() != null && shopTable.getAutoClear() == 1) { - mpShopTableMapper.update(null, new LambdaUpdateWrapper() - .eq(TbShopTable::getQrcode, orderInfo.getTableId()) - .set(TbShopTable::getStatus, TableStateEnum.IDLE.getState())); - } - } String tableCartKey = RedisCst.getCurrentOrderKey(orderInfo.getTableId(), orderInfo.getShopId()); @@ -1075,16 +1042,6 @@ public class PayService { redisUtil.del("SHOP:CODE:USER:" + "pc" + ":" + orderInfo.getShopId() + ":" + DateUtils.getDay() + TokenUtil.parseParamFromToken(token).getString("accountId")); - // 修改台桌状态 - if (StrUtil.isNotBlank(orderInfo.getTableId())) { - TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper().eq(TbShopTable::getQrcode, orderInfo.getTableId())); - if (shopTable.getAutoClear() != null && shopTable.getAutoClear() == 1) { - mpShopTableMapper.update(null, new LambdaUpdateWrapper() - .eq(TbShopTable::getQrcode, orderInfo.getTableId()) - .set(TbShopTable::getStatus, TableStateEnum.IDLE.getState())); - } - } - // 小程序购物车缓存 String tableCartKey = RedisCst.getCurrentOrderKey(orderInfo.getTableId(), orderInfo.getShopId()); @@ -1177,16 +1134,6 @@ public class PayService { redisUtil.del("SHOP:CODE:USER:" + "pc" + ":" + orderInfo.getShopId() + ":" + DateUtils.getDay() + TokenUtil.parseParamFromToken(token).getString("accountId")); - // 修改台桌状态 - if (StrUtil.isNotBlank(orderInfo.getTableId())) { - - TbShopTable shopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper().eq(TbShopTable::getQrcode, orderInfo.getTableId())); - if (shopTable.getAutoClear() != null && shopTable.getAutoClear() == 1) { - mpShopTableMapper.update(null, new LambdaUpdateWrapper() - .eq(TbShopTable::getQrcode, orderInfo.getTableId()) - .set(TbShopTable::getStatus, TableStateEnum.IDLE.getState())); - } - } clearTableInfoCache(orderInfo); return Result.success(CodeEnum.SUCCESS); @@ -2092,10 +2039,10 @@ public class PayService { ObjectMapper mapper = new ObjectMapper(); - Map map=new HashMap<>(); + Map map = new HashMap<>(); - map.put("orderInfo",orderInfo); - map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo())); + map.put("orderInfo", orderInfo); + map.put("payInfo", mapper.readTree(scanpayResp.getPayInfo())); return Result.success(CodeEnum.PAYING, map); } } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ShopInfoService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ShopInfoService.java index b5dabff..b3f9fa6 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/ShopInfoService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ShopInfoService.java @@ -76,8 +76,8 @@ public class ShopInfoService { if (StrUtil.isBlank(tbShopTableVO.getQrcode())) { tbShopTableVO.setStatus("closed"); - }else if (tbCashierCartMapper.countTable(tbShopTableVO.getQrcode(), tbShopTableVO.getShopId()) < 1 || - tbCashierCartMapper.countTableByDetail(tbShopTableVO.getOrderId(), tbShopTableVO.getShopId()) < 1 + }else if ((tbCashierCartMapper.countTable(tbShopTableVO.getQrcode(), tbShopTableVO.getShopId()) < 1 || + tbCashierCartMapper.countTableByDetail(tbShopTableVO.getOrderId(), tbShopTableVO.getShopId()) < 1) && !tbShopTableVO.getStatus().equals(TableStateEnum.CLEANING.getState()) ) { tbShopTableVO.setStatus("idle"); mpShopTableMapper.update(null, new LambdaUpdateWrapper()