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