商品模块代码提交

This commit is contained in:
Tankaikai
2025-02-18 18:56:04 +08:00
parent ceb5343542
commit 17768de6ba
5 changed files with 64 additions and 3 deletions

View File

@@ -13,7 +13,9 @@ import com.czg.product.dto.ProdSkuDTO;
import com.czg.product.dto.ProductDTO;
import com.czg.product.entity.ProdSku;
import com.czg.product.entity.Product;
import com.czg.product.enums.ProductIsSaleTypeEnum;
import com.czg.product.enums.ProductTypeEnum;
import com.czg.product.param.ProductIsSaleParam;
import com.czg.product.service.ProductService;
import com.czg.sa.StpKit;
import com.czg.service.product.mapper.ProdSkuMapper;
@@ -233,4 +235,30 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
.update();
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean onOffProduct(ProductIsSaleParam param) {
Long shopId = StpKit.USER.getLoginIdAsLong();
String type = param.getType();
Long id = param.getId();
Integer isSale = param.getIsSale();
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)
.update();
} else if (ProductIsSaleTypeEnum.SKU.value().equals(type)) {
UpdateChain.of(ProdSku.class)
.set(ProdSku::getIsGrounding, isSale)
.eq(ProdSku::getId, id)
.update();
}
return true;
}
}

View File

@@ -95,7 +95,11 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
return Collections.emptyList();
}
List<Long> prodIdList = dtoList.stream().map(ProductDTO::getId).distinct().toList();
List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query().in(ProdSku::getProductId, prodIdList).eq(ProdSku::getIsDel, DeleteEnum.NORMAL.value()), ProdSkuDTO.class);
List<ProdSkuDTO> skuList = prodSkuMapper.selectListByQueryAs(query()
.in(ProdSku::getProductId, prodIdList)
.eq(ProdSku::getIsDel, DeleteEnum.NORMAL.value())
.eq(ProdSku::getIsGrounding, YesNoEnum.YES.value())
, ProdSkuDTO.class);
Map<Long, List<ProdSkuDTO>> collect = skuList.stream().collect(Collectors.groupingBy(ProdSkuDTO::getProductId));
List<MiniAppHomeProductInfoVo> products = new ArrayList<>();
for (ProductDTO dto : dtoList) {
@@ -109,6 +113,9 @@ public class UProductServiceImpl extends ServiceImpl<ProductMapper, Product> imp
prod.setType(dto.getType());
prod.setGroupType(dto.getGroupType());
prod.setSelectSpecInfo(dto.getSelectSpecInfo());
prod.setIsSoldStock(dto.getIsSoldStock());
prod.setStockNumber(dto.getStockNumber());
prod.setIsSale(dto.getIsSale());
List<ProdSkuDTO> list = collect.getOrDefault(dto.getId(), Collections.emptyList());
Optional<BigDecimal> lowPriceIsPresent = list.stream().map(ProdSkuDTO::getSalePrice).min(BigDecimal::compareTo);