我们的业务目前拥有一个网上商店,最近我们一直在提供免费的特惠给我们的客户。现在,我们只需显示特价商品,并向买家发出通知,说明我们会在结帐后向订单添加额外的免费商品。当然,将整个过程自动化会很好。务实加入赠送品/赠品到在线商店
我一直在思考几个想法,主要是创建一个折扣模型(我在这种情况下使用Django,但这更多的是一个逻辑问题),并让该模型具有各种标志和产品列表所以我可以创建一个这样的实例:
Discount(
description="Get one free pair of bands when you buy two pairs of shoes.",
valid_products=[BigProductA, BigProductB],
received_products=[FreebieProductA, FreebieProductB],
special_in_intervals=2, # Whenever the user buys 2, give one for free
)
这种逻辑类型的作品。然后,我可以看看他们的购物车中有什么,并测试模型中现有的折扣,看看他们是否申请了任何东西。最大的问题是它会变得非常混乱,特别是如果你有多个特别的事情发生,我只是不认为它工作得很好。
不幸的是,这是真正为这个权利我的最好的办法了。所以,我来问你们:你认为最好的方法是什么?我不是在寻找代码,只是一些逻辑思路和方法来做到这一点。 :)
在此先感谢!
感谢您的答案。到目前为止,我将所有的逻辑都保留在Discount模型中,并且我打算保持这种模式。我最大的问题是给用户免费的项目从列表中选择,然后不知道再做一次。你会在哪里存储这些数据?我有一些想法,但他们都开始良好,然后陷入凌乱的逻辑和太多的步骤。仍然认为,虽然... – Bartek 2009-11-09 16:22:58
我会将它存储在购物车中的特殊/其他领域。您必须能够识别添加折扣的额外项目等。这样,总计算器可以忽略它们,而渲染器仍然可以显示它们。如果你需要的话,不要犹豫,在购物车中的物品上添加短暂的场地;只是不要修改其他领域的数据。 – 2009-11-09 16:40:10
谢谢,这似乎是最好的路线。当然会写许多单元测试,以确保它能正常工作,哦,上帝.. :) – Bartek 2009-11-09 17:00:36