From f6e473b8bbd61efb3c10aaf254cc812e8216d32f Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Fri, 23 Aug 2024 15:34:13 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95=20?= =?UTF-8?q?=E5=8F=96=E5=8D=95=E4=B8=8D=E6=93=8D=E4=BD=9C=E8=B4=AD=E7=89=A9?= =?UTF-8?q?=E8=BD=A6=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/product/TbPlaceController.java | 1 + .../service/impl/TbPayServiceImpl.java | 4 +-- .../impl/shopimpl/TbShopTableServiceImpl.java | 30 +++++++++++++++---- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java index 317ed545..ce3bea56 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java @@ -154,6 +154,7 @@ public class TbPlaceController { public ResponseEntity pending( @RequestBody PendingDTO pendingDTO ) { + pendingDTO.setIsPending(true); return ResponseEntity.ok(tbShopTableService.pending(pendingDTO)); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java index b97b624f..6af0e008 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java @@ -305,7 +305,7 @@ public class TbPayServiceImpl implements TbPayService { throw new BadRequestException("订单不存在"); } - if (!"unpaid".equals(orderInfo.getStatus())) { + if (!"unpaid".equals(orderInfo.getStatus()) && !"pending".equals(orderInfo.getStatus())) { throw new BadRequestException("订单非未支付状态"); } @@ -360,7 +360,7 @@ public class TbPayServiceImpl implements TbPayService { throw new BadRequestException("订单信息不存在"); } - if (!"unpaid".equals(orderInfo.getStatus())) { + if (!"unpaid".equals(orderInfo.getStatus()) && !"pending".equals(orderInfo.getStatus())) { throw new BadRequestException("此订单不处于未支付状态"); } 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 0ed1e89b..a44baa1e 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 @@ -435,7 +435,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { Integer size, Integer shopId, Integer vipUserId, String masterId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(TbCashierCart::getTableId, tableId) - .in(TbCashierCart::getStatus, "create") + .in(TbCashierCart::getStatus, "create", "refund") .eq(TbCashierCart::getShopId, shopId) .and(query2 -> { query2.or(query3 -> { @@ -489,10 +489,16 @@ public class TbShopTableServiceImpl implements TbShopTableService { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(TbCashierCart::getTableId, packCartDTO.getTableId()) .eq(TbCashierCart::getShopId, packCartDTO.getShopId()) - .eq(TbCashierCart::getStatus, "create") - .and(query -> { - query.eq(TbCashierCart::getMasterId, packCartDTO.getMasterId()).or() - .isNull(TbCashierCart::getMasterId); + .in(TbCashierCart::getStatus, "create", "refund") + .and(query2 -> { + query2.or(query3 -> { + query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay()) + .eq(TbCashierCart::getMasterId, packCartDTO.getMasterId()); + }) + .or((query4 -> { + query4.isNull(TbCashierCart::getTradeDay) + .eq(TbCashierCart::getMasterId, ""); + })); }); // if (packCartDTO.getVipUserId() != null) { @@ -826,12 +832,13 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderInfo.setSettlementAmount(totalAmount); orderInfo.setAmount(totalAmount); orderInfo.setOriginAmount(totalAmount); - orderInfo.setStatus("unpaid"); +// orderInfo.setStatus("unpaid"); orderInfo.setOrderAmount(totalAmount); orderInfo.setRemark(createOrderDTO.getNote()); orderInfo.setFreightAmount(feeAmount); orderInfo.setProductAmount(saleAmount); orderInfo.setTradeDay(DateUtils.getDay()); + orderInfo.setUseType(createOrderDTO.isPostPay() ? "postPay" : "afterPay"); orderInfo.setUserId(createOrderDTO.getVipUserId() == null ? null : String.valueOf(createOrderDTO.getVipUserId())); orderInfoMapper.updateById(orderInfo); } else { @@ -888,6 +895,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { isFirst = updateStock(cashierCart); cashierCart.setOrderId(orderId); cashierCart.setUpdatedAt(System.currentTimeMillis()); + cashierCart.setStatus("pending".equals(orderInfo.getStatus()) ? "refund" : cashierCart.getStatus()); cashierCartMapper.updateById(cashierCart); } if (isFirst) { @@ -917,6 +925,16 @@ public class TbShopTableServiceImpl implements TbShopTableService { @Override public Object pending(PendingDTO pendingDTO) { + + if (pendingDTO.getOrderId() != null) { + TbOrderInfo tbOrderInfo = orderInfoMapper.selectOne(new LambdaQueryWrapper() + .eq(TbOrderInfo::getId, pendingDTO.getOrderId()) + .eq(TbOrderInfo::getStatus, "pending")); + if (tbOrderInfo != null) { + return tbOrderInfo; + } + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, pendingDTO.getShopId());