SAP CX (HYBRIS) : 如何从保存的购物车中删除已删除的产品

Posted

技术标签:

【中文标题】SAP CX (HYBRIS) : 如何从保存的购物车中删除已删除的产品【英文标题】:SAP CX (HYBRIS) : How to remove deleted products from the saved cart 【发布时间】:2021-08-23 19:13:16 【问题描述】:

您好,我在访问“我保存的购物车”时遇到问题,出现 500 错误。由于已保存购物车列表中的购物车包含来自 /commercefacades/order/impl/DefaultSaveCartFacade.java 的产品,因此它不再存在于我们的存储库中。

所以,当我们想将 SavedCartModel CartModel 转换为 SavedCartData CartData 时,就会出现问题。填充产品数据的填充器称为:

public class ProductBasicPopulator<SOURCE extends ProductModel, TARGET extends ProductData> extends
    AbstractProductPopulator<SOURCE, TARGET>

    private ProductConfigurableChecker productConfigurableChecker;

@Override
public void populate(final SOURCE productModel, final TARGET productData) throws ConversionException

    productData.setName((String) getProductAttribute(productModel, ProductModel.NAME));
    productData.setManufacturer((String) getProductAttribute(productModel, ProductModel.MANUFACTURERNAME));

    productData.setAverageRating(productModel.getAverageRating());
    if (productModel.getVariantType() != null)
    
        productData.setVariantType(productModel.getVariantType().getCode());
    
    if (productModel instanceof VariantProductModel)
    
        final VariantProductModel variantProduct = (VariantProductModel) productModel;
        productData.setBaseProduct(variantProduct.getBaseProduct() != null ? variantProduct.getBaseProduct().getCode() : null);
    
    productData.setPurchasable(Boolean.valueOf(productModel.getVariantType() == null && isApproved(productModel)));
    productData.setConfigurable(Boolean.valueOf(getProductConfigurableChecker().isProductConfigurable(productModel)));
    productData.setConfiguratorType(getProductConfigurableChecker().getFirstConfiguratorType(productModel));

// code

在populate方法的第一个参数中传递的ProductModel为空,因此抛出空指针异常。

我该如何处理这种情况?有没有办法从保存的购物车中删除不再存在的产品?或其他无需删除已保存购物车即可解决此问题的解决方案。

请帮我解决这个问题。 提前致谢。 问候,

【问题讨论】:

【参考方案1】:

你如何删除产品?

通常我们会检查现有的购物车并删除商品,在删除之前计算 = false。

另一方面,产品删除并不是一个好的概念。如果您删除产品、订单、寄售等问题。您需要将这些产品标记为不可销售而不是删除。

【讨论】:

以上是关于SAP CX (HYBRIS) : 如何从保存的购物车中删除已删除的产品的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SAP Hybris WCMS cockpit 里创建新的 website

如何在 SAP Hybris WCMS cockpit 里创建新的 website

SAP Hybris的Convertor, Populator, Facade和DTO这几个概念是如何协同工作的

SAP Commerce/Hybris 升级多个版本

运行 cron 作业按钮在后台 SAP Hybris 1905 中不可见?

SAP Hybris Commerce product读取的调试截图