From 90c834a37d6ed8190e600b924f053e915e3399fe Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Sat, 20 Jul 2024 15:24:42 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=B8=8B=E5=8D=95=E6=B7=BB=E5=8A=A0=E8=B4=AD?= =?UTF-8?q?=E7=89=A9=E8=BD=A6=E5=90=8C=E6=AD=A5=E6=A0=A1=E9=AA=8C=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=9E=B6=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/entity/TbProductSku.java | 9 ++++++++ .../cashierservice/service/CartService.java | 23 +++++++++++++++++++ .../resources/mapper/TbProductSkuMapper.xml | 3 ++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbProductSku.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbProductSku.java index f034ae1..1f805f4 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbProductSku.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbProductSku.java @@ -50,9 +50,18 @@ public class TbProductSku implements Serializable { private Integer isPauseSale = 0; private Integer isDel; + private Integer isGrounding; private static final long serialVersionUID = 1L; + public Integer getIsGrounding() { + return isGrounding; + } + + public void setIsGrounding(Integer isGrounding) { + this.isGrounding = isGrounding; + } + public Integer getId() { return id; } 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 b63c266..f910a1d 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/CartService.java @@ -310,7 +310,20 @@ public class CartService { Integer buyNum = jsonObject.getInteger("num"); String skuId = jsonObject.getString("skuId"); + // 判断商品是否已下架 TbProductSkuWithBLOBs tbProductSkuWithBLOBs = productSkuMapper.selectByPrimaryKey(Integer.valueOf(skuId)); + if (tbProductSkuWithBLOBs ==null || tbProductSkuWithBLOBs.getIsGrounding().equals(0)) { + JSONObject jsonObject1 = new JSONObject(); + jsonObject1.put("status", "fail"); + jsonObject1.put("msg", "此商品已下架"); + jsonObject1.put("data", new ArrayList<>()); + jsonObject1.put("reqData", jsonObject); + + PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), key, jsonObject.getString("userId"), true); + log.error("商品已下架 skuId:{}", skuId); + return; + } + if (tbProduct.getIsStock() == 1) { // 1:共享库存 0:独立库存 if (Integer.valueOf(tbProduct.getIsDistribute()).equals(1)) { @@ -585,6 +598,16 @@ public class CartService { TbProductSkuWithBLOBs tbProduct = productSkuMapper.selectByPrimaryKey(Integer.valueOf(cashierCart.getSkuId())); TbProduct tbProduct1 = tbProductMapper.selectById(Integer.valueOf(tbProduct.getProductId())); + // 判断商品是否已下架 + if (tbProduct.getIsGrounding().equals(0)) { + JSONObject jsonObject1 = new JSONObject(); + jsonObject1.put("status", "fail"); + jsonObject1.put("msg", "商品已下架:" + tbProduct1.getName()); + jsonObject1.put("data", new ArrayList<>()); + PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), key, jsonObject.getString("userId"), true); + return; + } + log.info("下单,开始校验库存预警,购物车id:{}", cashierCart.getId()); CompletableFuture.runAsync(() -> checkWarnLineAndSendMsg(tbProduct, tbProduct1, cashierCart.getNumber())); diff --git a/src/main/resources/mapper/TbProductSkuMapper.xml b/src/main/resources/mapper/TbProductSkuMapper.xml index 973a81a..b5f7766 100644 --- a/src/main/resources/mapper/TbProductSkuMapper.xml +++ b/src/main/resources/mapper/TbProductSkuMapper.xml @@ -26,6 +26,7 @@ + @@ -34,7 +35,7 @@ id, shop_id, bar_code, product_id, origin_price, cost_price, member_price, meal_price, sale_price, guide_price,suit, strategy_price, stock_number, cover_img, warn_line, weight, - volume, real_sales_number, first_shared, second_shared, created_at, updated_at, is_pause_sale ,is_del + volume, real_sales_number, first_shared, second_shared, created_at, updated_at, is_pause_sale ,is_del,is_grounding spec_info, spec_snap