From 4e63fbf1c8c7c77496ba47dac823f60022d5a93f Mon Sep 17 00:00:00 2001 From: Tankaikai Date: Mon, 10 Mar 2025 16:31:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/ConsInfoController.java | 2 +- .../java/com/czg/product/dto/ProdSkuDTO.java | 32 +++++++++++++++++++ .../service/impl/ProductServiceImpl.java | 31 ++++++++++++++---- 3 files changed, 58 insertions(+), 7 deletions(-) diff --git a/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsInfoController.java b/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsInfoController.java index 7065c86b..b52af13e 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsInfoController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsInfoController.java @@ -139,7 +139,7 @@ public class ConsInfoController { * @param id 耗材信息id * @param isStock 库存开关 1-开启 0-关闭 */ - @PostMapping("on-off") + @PostMapping("onOff") @OperationLog("耗材信息-库存开关") //@SaAdminCheckPermission("consInfo:on-off") public CzgResult onOffConsInfo(@RequestParam Long id, @RequestParam Integer isStock) { diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProdSkuDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProdSkuDTO.java index b554bde0..d94fc728 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProdSkuDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/ProdSkuDTO.java @@ -101,5 +101,37 @@ public class ProdSkuDTO implements Serializable { * 逻辑删除字段 0否 1 删除 */ private Integer isDel; + /** + * sku名称 + */ + private String name; + /** + * 是否上架别名 + */ + private Integer isSale; + /** + * 是否售罄别名 + */ + private Integer isSoldStock; + /** + * 售价别名 + */ + private BigDecimal lowPrice; + + public String getName() { + return specInfo; + } + + public Integer getIsSale() { + return isGrounding; + } + + public Integer getIsSoldStock() { + return isPauseSale; + } + + public BigDecimal getLowPrice() { + return salePrice; + } } \ No newline at end of file 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 ea4397b8..21865bbb 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 @@ -148,6 +148,7 @@ public class ProductServiceImpl extends ServiceImpl impl @Override public List getProductList(ProductDTO param) { QueryWrapper queryWrapper = buildFullQueryWrapper(param); + queryWrapper.eq(Product::getIsSale, YesNoEnum.YES.value()); List records = super.listAs(queryWrapper, ProductDTO.class); buildProductExtInfo(records); return records; @@ -280,18 +281,36 @@ public class ProductServiceImpl extends ServiceImpl impl String type = param.getType(); Long id = param.getId(); Integer isSale = param.getIsSale(); - UpdateChain.of(ProdSku.class) - .set(ProdSku::getIsGrounding, isSale) - .eq(ProdSku::getId, id) - .eq(ProdSku::getShopId, shopId) - .update(); - if (ProductIsSaleTypeEnum.PRODUCT.value().equals(type)) { + if (ProductIsSaleTypeEnum.SKU.value().equals(type)) { + ProdSku prodSku = prodSkuMapper.selectOneById(id); + if (prodSku == null) { + throw new CzgException("SKU不存在"); + } + prodSku.setIsGrounding(isSale); + prodSkuMapper.update(prodSku); + long normalCount = prodSkuMapper.selectCountByQuery(QueryWrapper.create().eq(ProdSku::getProductId, prodSku.getProductId()).eq(ProdSku::getIsDel, DeleteEnum.NORMAL.value())); + if (normalCount == 0) { + UpdateChain.of(Product.class) + .set(Product::getIsSale, isSale) + .eq(Product::getId, prodSku.getProductId()) + .eq(Product::getShopId, shopId) + .update(); + } + } 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(); } + + prodSkuMapper.selectOneById(id); + } @Override