BLC 5.1.5
对于OrderItem#getRetailPrice,有以下文档:
在添加时添加到订单中的商品的零售价格。相对于检查从目录域中添加的项目的价格(如在DiscreteOrderItem中,使用DiscreteOrderItem.getSku()的零售价格),这一方法更可取,因为目录域中的价格可能在商品被添加到订单后发生了变化。
baseRetailPrice的getter上没有文档。
基本零售与零售的一般概念是什么?什么时候应该使用基本零售价格?
发布于 2019-11-15 17:56:51
在DiscreteOrderItemImpl#setSku中:
@Override
public void setSku(Sku sku) {
this.sku = sku;
if (sku.hasRetailPrice()) {
this.baseRetailPrice = sku.getRetailPrice().getAmount();
}
if (sku.hasSalePrice()) {
this.baseSalePrice = sku.getSalePrice().getAmount();
}
this.itemTaxable = sku.isTaxable();
setName(sku.getName());
}当在DiscreteOrderItem上设置Sku时,我们查找Sku的retailPrice,并将其设置为DiscreteOrderItem的baseRetailPrice。
回想起来,这个问题的答案可能是显而易见的。baseRetailPrice是DiscreteOrderItem创建时的零售价格。因此,DiscreteOrderItem和Sku的零售价不同步,这可能是大多数商业情况下您想要的,例如在报价中。如果你是电子商务新手,这个细节可能并不明显,当你对相关的OrderItem的当前价格感兴趣时,你可能会错误地检查它的价格。
如果需要访问DiscreteOrderItem中Sku数据库中的当前价格,则需要调用DiscreteOrderItem#getSku#getRetailPrice。如果您想要同步DiscreteOrderItem价格及其相关的Sku,就会有DiscreteOrderItem#updateSaleAndRetailPrices。
如果任何人有额外的细节,请添加它们。
https://stackoverflow.com/questions/58881995
复制相似问题