PHP - 处理电子商务中的折扣

时间:2014-02-26 15:48:03

标签: php performance database-design architecture e-commerce

我的问题是关于电子商务行业中使用的折扣和促销,在特定级别上添加折扣很容易,假设我正在输入一个产品,我可以用简单的PHP做50%的折扣。如果我有3种类型的产品有不同的折扣怎么办?

示例:

在我的例子中,我使用三个插座(NIKE / PUMA / ADIDAS)

阿迪达斯:所有商品均可享受五折优惠。

PUMA:购买2件物品并在第三件物品上获得50%的折扣。

NIKE:购买一件物品并获得其他免费物品。

我刚刚创建了随机方案,但有数百个品牌都有自己的折扣标准。我应该在哪里处理这件事?

我的数据库架构有两个关于产品的表格:

产品表:详细了解产品,即名称,图片,品牌

产品库存表:有产品选项,即尺寸,颜色

我希望我的问题清楚,非常感谢。

1 个答案:

答案 0 :(得分:2)

我最近一直在处理这个问题。这是一种痛苦!显然它很容易,如果它50%的折扣,因为你可以应用每个产品。它的价格比买三送五折50% - 或购买价值100美元的“合格”商品,免运费。换句话说,你不能只购买购物车,因为你必须验证每件商品是否合格。

执行此操作的唯一方法是浏览购物车中的所有商品。特别是如果你想给他们留言 - 比如客户在购物车中放了两件物品 - 现在你想告诉顾客第三件将是50%的折扣。或者他们有价值95美元的东西,你想告诉他们 - 只需多买5美元就可以免运费。

创建促销表并按顺序识别它们:promo01,promo02,promo03等 在表中有单独的阈值字段(“3”项,“100”美元免费送货等),折扣百分比,您将显示给客户的文本等。您仍然需要自定义代码进行最终计算,但这有助于组织。它还可以创建管理屏幕来设置或更改促销。

将产品与相关促销号直接关联到带有促销字段的产品表或其他表中。如果您的促销活动延伸到整个品牌,那么这也是一个选择。

当物品放入购物车并从产品表中获得价格等时 - 获取促销编号并将其存储在购物车表中。

总计你的购物车。你想要原始总数,这样你就可以计算他们已经保存了多少。

根据具体的门槛等检查所有购物车项目的促销活动。

创建新总计和销售额节省。创建销售信息。

将促销方法与向购物车添加商品分开 - 因为如果他们通过更改产品数量来“更新”表格,则需要运行此方法。

======

编辑如果您为品牌做这件事并且您没有或无法更新您的产品表,它仍然是相同的想法。实际上在某些方面它更容易!有一个单独的表,只有品牌名称和相关的促销号码。

客户在购物车中添加Nike运动鞋,在该表中查找“Nike”,它有Promo03,然后将Promo03添加到购物车表中的商品信息(以及产品名称,价格,数量等) )。

然后你可以遍历所有购物车商品寻找促销活动 - 让我们说客户有2件商品是Promo03s - 你在单独的促销表中查看 - Promo03的门槛是3 - 然后你可以回来适当的信息(“买一送一半”)。或者,如果他们已经买了3,他们已达到门槛,你应用折扣并创建适当的消息(“你的第三个项目减半”)