您好,我无法访问“我保存的购物车”,出现 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
}
ProductModel
在 populate 方法的第一个参数中传递的参数为 null,因此会引发 Null 指针异常。
我该如何处理这个案子?有没有办法从保存的购物车中删除不再存在的产品?或另一种解决方案,可以在不删除保存的购物车的情况下解决此问题。
请帮助我如何解决这个问题。提前致谢。问候,