From 22c143637509033937ef103018b3757f429dcf1a Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 30 Mar 2026 16:20:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98=20=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/product/param/ProductIsSaleParam.java | 8 ++++- .../service/impl/ProductServiceImpl.java | 32 ++++++++++++------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/param/ProductIsSaleParam.java b/cash-common/cash-common-service/src/main/java/com/czg/product/param/ProductIsSaleParam.java index 7083d303e..15ef37533 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/param/ProductIsSaleParam.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/param/ProductIsSaleParam.java @@ -25,9 +25,15 @@ public class ProductIsSaleParam implements Serializable { /** * 上下架类型 product-商品 sku-SKU */ - @NotBlank(message = "上下架类型不能为空", groups = DefaultGroup.class) + @NotBlank(message = "上下架属性不能为空", groups = DefaultGroup.class) private String type; + /** + * 操作类型 + * stock 库存 sale 上下架 + */ + private String optType = "sale"; + /** * 商品id/sku id */ diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java index 2a7cd2589..9a81ac6f0 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductServiceImpl.java @@ -717,11 +717,12 @@ public class ProductServiceImpl extends ServiceImpl impl sensitiveOperation = "下架"; } Long prodId = null; - if (ProductIsSaleTypeEnum.SKU.value().equals(type)) { + if (ProductIsSaleTypeEnum.SKU.value().equals(type) && "sale".equals(param.getOptType())) { ProdSku prodSku = prodSkuMapper.selectOneById(id); if (prodSku == null) { throw new CzgException("SKU不存在"); } + prodId = prodSku.getProductId(); prodSku.setIsGrounding(isSale); prodSkuMapper.update(prodSku); long normalCount = prodSkuMapper.selectCountByQuery(QueryWrapper.create() @@ -735,22 +736,29 @@ public class ProductServiceImpl extends ServiceImpl impl .eq(Product::getId, prodSku.getProductId()) .eq(Product::getShopId, shopId) .update(); - prodId = prodSku.getProductId(); } Long productId = prodSku.getProductId(); Product product = mapper.selectOneById(productId); sensitiveOperation = sensitiveOperation + "商品:" + product.getName() + " 规格:" + prodSku.getSpecInfo(); } else if (ProductIsSaleTypeEnum.PRODUCT.value().equals(type)) { - UpdateChain.of(Product.class) - .set(Product::getIsSale, isSale) - .eq(Product::getId, id) - .eq(Product::getShopId, shopId) - .update(); - UpdateChain.of(ProdSku.class) - .set(ProdSku::getIsGrounding, isSale) - .eq(ProdSku::getProductId, id) - .eq(ProdSku::getShopId, shopId) - .update(); + if("sale".equals(param.getOptType())){ + UpdateChain.of(Product.class) + .set(Product::getIsSale, isSale) + .eq(Product::getId, id) + .eq(Product::getShopId, shopId) + .update(); + UpdateChain.of(ProdSku.class) + .set(ProdSku::getIsGrounding, isSale) + .eq(ProdSku::getProductId, id) + .eq(ProdSku::getShopId, shopId) + .update(); + }else if("stock".equals(param.getOptType())){ + UpdateChain.of(Product.class) + .set(Product::getIsStock, isSale) + .eq(Product::getId, id) + .eq(Product::getShopId, shopId) + .update(); + } Product product = mapper.selectOneById(id); prodId = product.getId(); sensitiveOperation = sensitiveOperation + "商品:" + product.getName();