我浏览了BroadliveBusinessv2.2文档/教程,具体地定制了Add和动态定价模块。
当产品被添加到购物车中时,我想动态地为它定价。
我的想法正确吗?当产品必须重新定价时,有两种方法可以做到这一点:
可以说明这一点:
方法1:
class DynamicPricingActivity extends BaseActivity{
....
@Override
public ProcessContext execute(ProcessContext context) throws Exception {
CartOperationRequest request = ((CartOperationContext) context).getSeedData();
updatePhonePrice(request.getOrder());
return context;
}
....
}办法2:
在动态定价配置中有一些关于指令的问题。
MyDynamicSkuPricingServiceImpl # getSkuPrices()方法?
(在文档中提到,当调用MyDynamicSkuPricingServiceImpl#getSkuPrices() ()方法时,将调用getPrice()方法,我配置了文档中提到的所有内容,但getSkuPrices()从未隐式调用)更新了-我发现如果HashMap pricingConsiderations在DynamicPricingFilter__中为空,则不会调用DynamicPricingService#getSkuPrices()。因此,要使dynamicPricingService工作,就必须有一个非空的HashMap,并且它将被调用implicitly.Not,确定为什么需要它.
如何更新添加到购物车中的产品的定价,而不将此值保存在数据库中?
更新
我能够添加动态定价,而不必将值保存在数据库中。
DiscreteOrderItem orderItem = orderItemService.createDynamicPriceDiscreteOrderItem(orderRequest, pricingConsiderations);
orderItem.setRetailPrice(new Money("623.34"));
orderItem.setSalePrice(new Money("888.888"));
orderItem.setPrice(orderItem.getSalePrice());
cart.addOrderItem(orderItem);
cart = orderService.save(cart, true);然而,将购物车总数设置为零售价格值: 623.34。我如何得到正确的总数(888.888)__?
发布于 2013-07-03 21:07:18
关于你最后一个关于超越价格的问题。阔叶树提供了超越价格(orderItem.setOverrideRetailPrice(), orderItem.setOverrideSalePrice())的方法。
如果不使用这些方法,定价服务将重置为SKU上的当前价格(或动态定价实现)。
在任何情况下,都会忽略大于的salePrice .。
通常情况下,当高于价格时,你也想绕过折扣引擎。您可以使用orderItem.setDiscountingAllowed(false)。
因为这是典型的行为,所以还提供了一种方便的[orderItem.setPrice()]方法,它将覆盖销售和零售价格以及允许虚假的设置折扣。
布赖恩波斯特-阔叶树商业
https://stackoverflow.com/questions/17351401
复制相似问题