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这几个概念是如何协同工作的