From ad71127ec3c765cb6e7e6fa78566414515125d3a Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 15:45:48 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OrderController.java | 15 ++++++---- .../controller/ProductController.java | 12 +++----- .../entity/dto/ChoseEatModelDTO.java | 6 +++- .../netty/PushToAppChannelHandlerAdapter.java | 6 ++-- .../cashierservice/service/CartService.java | 28 +++++++++++++++---- .../service/ProductService.java | 1 - 6 files changed, 45 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java index 07d6dbf..a0e1ec7 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java @@ -1,8 +1,10 @@ package com.chaozhanggui.system.cashierservice.controller; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; import com.chaozhanggui.system.cashierservice.entity.TbShopTable; import com.chaozhanggui.system.cashierservice.entity.dto.OrderDto; +import com.chaozhanggui.system.cashierservice.service.CartService; import com.chaozhanggui.system.cashierservice.service.OrderService; import com.chaozhanggui.system.cashierservice.sign.Result; import lombok.extern.slf4j.Slf4j; @@ -21,17 +23,20 @@ public class OrderController { @Resource private OrderService orderService; + private final CartService cartService; + + public OrderController(CartService cartService) { + this.cartService = cartService; + } /** * 添加订单 * @return */ @PostMapping("/creatOrder") - public Result createOrder(@RequestBody OrderDto shopTable){ - if (shopTable.getTableId() == null){ - return Result.fail("台桌号有误"); - } - return orderService.createOrder(shopTable.getTableId(),shopTable.getShopId(),shopTable.getUserId()); + public Result createOrder(@RequestBody JSONObject jsonObject){ + return cartService.createOrder(jsonObject); +// return orderService.createOrder(shopTable.getTableId(),shopTable.getShopId(),shopTable.getUserId()); } /** diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java index 8032b54..5d34072 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java @@ -107,17 +107,13 @@ public class ProductController { * @return 餐位费信息 */ @PostMapping("/choseCount") - public Result choseCount( - @Validated @RequestBody ChoseCountDTO choseCountDTO - ) { + public Result choseCount(@Validated @RequestBody ChoseCountDTO choseCountDTO) { return Result.success(CodeEnum.SUCCESS, productService.choseCount(choseCountDTO)); } - @PostMapping("/choseEatModel") - public Result choseEatModel( - @Validated @RequestBody ChoseEatModelDTO choseEatModelDTO - ) { - return Result.success(CodeEnum.SUCCESS, productService.choseEatModel(choseEatModelDTO)); + @PutMapping("/choseEatModel") + public Result choseEatModel(@Validated @RequestBody ChoseEatModelDTO choseEatModelDTO) { + return Result.success(CodeEnum.SUCCESS, cartService.choseEatModel(choseEatModelDTO)); } @PostMapping("cleanCart") diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java index f27de02..4f0f0ad 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java @@ -2,6 +2,7 @@ package com.chaozhanggui.system.cashierservice.entity.dto; import lombok.Data; +import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; @@ -12,5 +13,8 @@ public class ChoseEatModelDTO { private Integer shopId; private String tableId; @NotNull - private Integer userId; + @Max(0) + @Min(1) + // 0切换店内 1切换外带 + private Integer type; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/netty/PushToAppChannelHandlerAdapter.java b/src/main/java/com/chaozhanggui/system/cashierservice/netty/PushToAppChannelHandlerAdapter.java index a0144a4..3a065d5 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/netty/PushToAppChannelHandlerAdapter.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/netty/PushToAppChannelHandlerAdapter.java @@ -39,7 +39,9 @@ import java.util.concurrent.ConcurrentHashMap; public class PushToAppChannelHandlerAdapter extends NettyChannelHandlerAdapter { /** - * [tableID-shopId, [userId, ctx]] + * 台桌下单为: TAKEOUT_TABLE_CART:shopId:tableID + * 店内自取为: DINE_IN_TABLE_CART:shopId:userId + * [shopId:tableID, [userId, ctx]] */ private static Map> webSocketMap = new HashMap<>(); @@ -239,7 +241,7 @@ public class PushToAppChannelHandlerAdapter extends NettyChannelHandlerAdapter { @Async public void AppSendInfo(String message, String redisKey,String userId, boolean userFlag) { - log.info("netty连接 发送消息 tableId:{} userId:{} userFlag:{} message:{}",redisKey,userId,userFlag, JSONUtil.toJSONString(message)); + log.info("netty连接 发送消息 key:{} userId:{} userFlag:{} message:{}",redisKey,userId,userFlag, JSONUtil.toJSONString(message)); log.info("当前已连接队列信息: {}", webSocketMap); if (userFlag) { if (webSocketMap.containsKey(redisKey)) { diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index f8c3081..421974d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -14,6 +14,7 @@ import com.chaozhanggui.system.cashierservice.dao.*; import com.chaozhanggui.system.cashierservice.entity.*; import com.chaozhanggui.system.cashierservice.entity.Enum.*; import com.chaozhanggui.system.cashierservice.entity.dto.ChoseCountDTO; +import com.chaozhanggui.system.cashierservice.entity.dto.ChoseEatModelDTO; import com.chaozhanggui.system.cashierservice.entity.dto.ShopEatTypeInfoDTO; import com.chaozhanggui.system.cashierservice.exception.MsgException; import com.chaozhanggui.system.cashierservice.mapper.*; @@ -723,7 +724,7 @@ public class CartService { } @Transactional(rollbackFor = Exception.class) - public void createOrder(JSONObject jsonObject) { + public Result createOrder(JSONObject jsonObject) { try { JSONObject responseData = new JSONObject(); @@ -795,7 +796,7 @@ public class CartService { responseData.put("msg", "购物车为空"); responseData.put("data", new ArrayList<>()); PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(responseData.toString(), tableCartKey, jsonObject.getString("userId"), true); - return; + return Result.fail("购物车为空"); } // 就餐人数 @@ -829,7 +830,7 @@ public class CartService { responseData.put("type", jsonObject.getString("type")); responseData.put("data", ""); PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(responseData.toString(), tableCartKey, jsonObject.getString("userId"), true); - return; + return Result.fail(responseData.getString("msg")); } @@ -1014,7 +1015,7 @@ public class CartService { responseData.put("data", ""); PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(responseData.toString(), tableCartKey, jsonObject.getString("userId"), true); log.info("消息推送"); - return; + return Result.fail("优惠券已售空"); } if (N.gt(systemCoupons.getCouponsAmount(), totalAmount)) { log.info("开始处理订单"); @@ -1024,7 +1025,7 @@ public class CartService { responseData.put("data", ""); PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(responseData.toString(), tableCartKey, jsonObject.getString("userId"), true); log.info("消息推送"); - return; + return Result.fail("订单金额小于优惠价金额"); } totalAmount = totalAmount.add(systemCoupons.getCouponsPrice()).subtract(systemCoupons.getCouponsAmount()); originAmount = originAmount.add(systemCoupons.getCouponsPrice()); @@ -1064,7 +1065,7 @@ public class CartService { responseData.put("data", ""); PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(responseData.toString(), tableCartKey, jsonObject.getString("userId"), true); log.info("消息推送"); - return; + return Result.fail("订单正在支付中,请稍后再试"); } orderInfo.setUpdatedAt(System.currentTimeMillis()); orderInfo.setSettlementAmount(totalAmount); @@ -1232,6 +1233,8 @@ public class CartService { log.info("长链接错误 createOrder{}", e.getMessage()); e.printStackTrace(); } + + return Result.success(CodeEnum.SUCCESS); } private TbOrderInfo getOrder(BigDecimal totalAmount, BigDecimal packAMount, @@ -1578,4 +1581,17 @@ public class CartService { } } + public Object choseEatModel(ChoseEatModelDTO choseEatModelDTO) { + Integer userId = TokenUtil.getUserId(); + // 查询购物车所有信息 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(TbCashierCart::getShopId, choseEatModelDTO.getShopId()) + .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) + .eq(TbCashierCart::getStatus, "create"); + // 外带模式 + queryWrapper.eq(TbCashierCart::getUserId, userId); + + // 所有订单信息 + return mpCashierCartMapper.selectList(queryWrapper); + } } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java index 1a87606..06dd6c3 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/ProductService.java @@ -994,7 +994,6 @@ public class ProductService { return mpCashierCartMapper.update(null, new LambdaUpdateWrapper() .eq(TbCashierCart::getShopId, choseTableDTO.getShopId()) - .eq(TbCashierCart::getUserId, choseTableDTO.getUserId()) .isNull(TbCashierCart::getUseType) .eq(TbCashierCart::getStatus, "create") .set(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType())) ; From 71f86c20d3678dbb04273e4f3a6d0b6ec1b2b6a1 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 16:02:08 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/controller/ProductController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java index 5d34072..266a9d8 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java @@ -111,7 +111,7 @@ public class ProductController { return Result.success(CodeEnum.SUCCESS, productService.choseCount(choseCountDTO)); } - @PutMapping("/choseEatModel") + @PostMapping("/choseEatModel") public Result choseEatModel(@Validated @RequestBody ChoseEatModelDTO choseEatModelDTO) { return Result.success(CodeEnum.SUCCESS, cartService.choseEatModel(choseEatModelDTO)); } From 4569a799c08d094a1a92d66a96deda2b98adf554 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 16:05:43 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/entity/dto/ChoseEatModelDTO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java index 4f0f0ad..6760671 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/dto/ChoseEatModelDTO.java @@ -13,8 +13,8 @@ public class ChoseEatModelDTO { private Integer shopId; private String tableId; @NotNull - @Max(0) - @Min(1) + @Max(1) + @Min(0) // 0切换店内 1切换外带 private Integer type; } From 82ded6429057b9d7d75c801dd6c4ce0e5669446c Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 16:10:40 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProductController.java | 14 +++++++++++++- .../system/cashierservice/service/CartService.java | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java index 266a9d8..f63025f 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/ProductController.java @@ -4,6 +4,7 @@ package com.chaozhanggui.system.cashierservice.controller; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; +import com.chaozhanggui.system.cashierservice.entity.TbCashierCart; import com.chaozhanggui.system.cashierservice.entity.dto.ChoseCountDTO; import com.chaozhanggui.system.cashierservice.entity.dto.ChoseEatModelDTO; import com.chaozhanggui.system.cashierservice.entity.dto.QuerySpecDTO; @@ -16,6 +17,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.List; import java.util.Map; @CrossOrigin(origins = "*") @@ -113,7 +117,15 @@ public class ProductController { @PostMapping("/choseEatModel") public Result choseEatModel(@Validated @RequestBody ChoseEatModelDTO choseEatModelDTO) { - return Result.success(CodeEnum.SUCCESS, cartService.choseEatModel(choseEatModelDTO)); + List cashierCartList = cartService.choseEatModel(choseEatModelDTO); + BigDecimal amount = BigDecimal.ZERO; + for (TbCashierCart item : cashierCartList) { + amount = amount.add(item.getTotalAmount()); + } + HashMap data = new HashMap<>(); + data.put("amount", amount); + data.put("info", cashierCartList); + return Result.success(CodeEnum.SUCCESS, data); } @PostMapping("cleanCart") diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index 421974d..8d1cbf6 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -1581,7 +1581,7 @@ public class CartService { } } - public Object choseEatModel(ChoseEatModelDTO choseEatModelDTO) { + public List choseEatModel(ChoseEatModelDTO choseEatModelDTO) { Integer userId = TokenUtil.getUserId(); // 查询购物车所有信息 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() From 5e20bdf96202eeb75d28eb946c07d2a3371ab6d3 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 16:32:31 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/service/CartService.java | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index 8d1cbf6..23f5064 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -1583,15 +1583,30 @@ public class CartService { public List choseEatModel(ChoseEatModelDTO choseEatModelDTO) { Integer userId = TokenUtil.getUserId(); - // 查询购物车所有信息 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(TbCashierCart::getShopId, choseEatModelDTO.getShopId()) - .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) - .eq(TbCashierCart::getStatus, "create"); - // 外带模式 - queryWrapper.eq(TbCashierCart::getUserId, userId); + List cashierCartList; + if (choseEatModelDTO.getType() == 0) { + // 查询购物车所有信息 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(TbCashierCart::getShopId, choseEatModelDTO.getShopId()) + .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) + .isNull(TbCashierCart::getOrderId) + .eq(TbCashierCart::getStatus, "create"); + // 外带模式 + queryWrapper.eq(TbCashierCart::getUserId, userId); + cashierCartList = mpCashierCartMapper.selectList(queryWrapper); + }else { + cashierCartList = new ArrayList<>(); + String tableCartKey = RedisCst.getTableCartKey(choseEatModelDTO.getShopId().toString(), choseEatModelDTO.getTableId(), userId); + String message = redisUtil.getMessage(tableCartKey); + if (StrUtil.isNotBlank(message)) { + JSONObject.parseArray(message).forEach(item -> { + TbCashierCart cart = JSONObject.parseObject(item.toString(), TbCashierCart.class); + cashierCartList.add(cart); + }); + } + } // 所有订单信息 - return mpCashierCartMapper.selectList(queryWrapper); + return cashierCartList; } } From 50c3de33e1dc70b00c7c35d0b5c1dd61f3766661 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 16:34:03 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chaozhanggui/system/cashierservice/service/CartService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index 23f5064..3ca9766 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -1584,7 +1584,7 @@ public class CartService { public List choseEatModel(ChoseEatModelDTO choseEatModelDTO) { Integer userId = TokenUtil.getUserId(); List cashierCartList; - if (choseEatModelDTO.getType() == 0) { + if (choseEatModelDTO.getType() == 1) { // 查询购物车所有信息 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, choseEatModelDTO.getShopId()) From a061196f0f479890d918768e1838b57358f9851a Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 16:37:32 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/service/CartService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index 3ca9766..1bbc4f7 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -1229,12 +1229,13 @@ public class CartService { } }); + return Result.successWithData(orderInfo); } catch (Exception e) { log.info("长链接错误 createOrder{}", e.getMessage()); e.printStackTrace(); } - return Result.success(CodeEnum.SUCCESS); + return Result.fail("失败"); } private TbOrderInfo getOrder(BigDecimal totalAmount, BigDecimal packAMount, From ca4f0849c20cd3ae0369b47c69dcbda6294cbb78 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 16:53:16 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/service/CartService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index 1bbc4f7..3619f35 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -1136,11 +1136,10 @@ public class CartService { } // 去除餐位费信息 - cashierCartList = cashierCartList.stream().filter(item -> !"-999".equals(item.getProductId())).collect(Collectors.toList()); List outRecords = new ArrayList<>(); for (TbCashierCart cashierCart : cashierCartList) { - if (cashierCart.getIsVip().equals((byte) 1)) { + if (!cashierCart.getProductId().equals("-999") && cashierCart.getIsVip().equals((byte) 1)) { List actInRecords = activateInRecordService.queryAllByVipIdAndShopIdAndProId( Integer.valueOf(tbShopUser.getId()), Integer.valueOf(orderInfo.getShopId()), Integer.valueOf(cashierCart.getProductId())); Integer totalNumber = cashierCart.getTotalNumber(); @@ -1170,6 +1169,9 @@ public class CartService { mpCashierCartMapper.updateById(cashierCart); } + cashierCartList = cashierCartList.stream().filter(item -> !"-999".equals(item.getProductId())).collect(Collectors.toList()); + + // 删除旧的餐位费信息 if (shopEatTypeInfoDTO.isTakeout() && seatCartInfo != null) { cashierCartMapper.deleteByPrimaryKey(seatCartInfo.getId()); From 8674d8d22b7e309bddd5dd7125cf56db98365196 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 17:21:08 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chaozhanggui/system/cashierservice/service/CartService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index 3619f35..d0b1513 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -820,7 +820,7 @@ public class CartService { // 设置餐位费 TbShopInfo shopInfo = mpShopInfoMapper.selectById(shopId); if (!shopEatTypeInfoDTO.isTakeout() && shopInfo.getIsTableFee() != null && shopInfo.getIsTableFee() == 0 - && seatNum < 1) { + && (seatNum < 1 || cashierCartList.size() < 2)) { log.info("消息推送"); responseData.put("msg", "请选择就餐人数"); if (shopTable.getMaxCapacity() < seatNum) { From c506dbabecff8411379dc28d7ec67166fd693e0f Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 17:24:15 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/cashierservice/controller/OrderController.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java index a0e1ec7..75c3c77 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java @@ -2,12 +2,16 @@ package com.chaozhanggui.system.cashierservice.controller; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.chaozhanggui.system.cashierservice.annotation.LimitSubmit; import com.chaozhanggui.system.cashierservice.entity.TbShopTable; import com.chaozhanggui.system.cashierservice.entity.dto.OrderDto; import com.chaozhanggui.system.cashierservice.service.CartService; import com.chaozhanggui.system.cashierservice.service.OrderService; import com.chaozhanggui.system.cashierservice.sign.Result; +import com.chaozhanggui.system.cashierservice.util.Utils; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -24,6 +28,8 @@ public class OrderController { @Resource private OrderService orderService; private final CartService cartService; + @Autowired + private StringRedisTemplate stringRedisTemplate; public OrderController(CartService cartService) { this.cartService = cartService; @@ -33,6 +39,7 @@ public class OrderController { * 添加订单 * @return */ + @LimitSubmit(key = "memeberIn:%s") @PostMapping("/creatOrder") public Result createOrder(@RequestBody JSONObject jsonObject){ return cartService.createOrder(jsonObject); From dd7dabf346aad00cce53404a8196c0bcbebcc544 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 17:26:44 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chaozhanggui/system/cashierservice/service/CartService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index d0b1513..4b07d31 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -822,7 +822,7 @@ public class CartService { if (!shopEatTypeInfoDTO.isTakeout() && shopInfo.getIsTableFee() != null && shopInfo.getIsTableFee() == 0 && (seatNum < 1 || cashierCartList.size() < 2)) { log.info("消息推送"); - responseData.put("msg", "请选择就餐人数"); + responseData.put("msg", "购物车为空"); if (shopTable.getMaxCapacity() < seatNum) { responseData.put("msg", "当前台桌最大人数为: " + shopTable.getMaxCapacity()); } From 4bc382582d4f3f6f687f71fc4dafa934cd6dbe01 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sun, 29 Sep 2024 17:34:45 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OrderController.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java index 75c3c77..b31672d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/OrderController.java @@ -3,18 +3,15 @@ package com.chaozhanggui.system.cashierservice.controller; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.chaozhanggui.system.cashierservice.annotation.LimitSubmit; -import com.chaozhanggui.system.cashierservice.entity.TbShopTable; -import com.chaozhanggui.system.cashierservice.entity.dto.OrderDto; +import com.chaozhanggui.system.cashierservice.redis.RedisCst; import com.chaozhanggui.system.cashierservice.service.CartService; import com.chaozhanggui.system.cashierservice.service.OrderService; import com.chaozhanggui.system.cashierservice.sign.Result; import com.chaozhanggui.system.cashierservice.util.Utils; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import java.io.IOException; import java.text.ParseException; import java.util.Map; @@ -25,24 +22,23 @@ import java.util.Map; @RequestMapping("/order") public class OrderController { - @Resource - private OrderService orderService; + private final OrderService orderService; private final CartService cartService; - @Autowired - private StringRedisTemplate stringRedisTemplate; + private final StringRedisTemplate stringRedisTemplate; - public OrderController(CartService cartService) { + public OrderController(OrderService orderService, CartService cartService, StringRedisTemplate stringRedisTemplate) { + this.orderService = orderService; this.cartService = cartService; + this.stringRedisTemplate = stringRedisTemplate; } /** * 添加订单 * @return */ - @LimitSubmit(key = "memeberIn:%s") @PostMapping("/creatOrder") public Result createOrder(@RequestBody JSONObject jsonObject){ - return cartService.createOrder(jsonObject); + return Utils.runFunAndCheckKey(() -> cartService.createOrder(jsonObject), stringRedisTemplate, RedisCst.getLockKey("CREATE_ORDER_KEY")); // return orderService.createOrder(shopTable.getTableId(),shopTable.getShopId(),shopTable.getUserId()); } From 0065eb16bb97237f516a6bf9f0df6485731523e3 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Mon, 30 Sep 2024 13:40:25 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=20=E5=88=87=E6=8D=A2=E5=B0=B1=E9=A4=90?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chaozhanggui/system/cashierservice/service/CartService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java index 4b07d31..e28d0a1 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -1593,6 +1593,7 @@ public class CartService { .eq(TbCashierCart::getShopId, choseEatModelDTO.getShopId()) .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime()) .isNull(TbCashierCart::getOrderId) + .ne(TbCashierCart::getProductId, "-999") .eq(TbCashierCart::getStatus, "create"); // 外带模式 queryWrapper.eq(TbCashierCart::getUserId, userId);