【问题标题】:PHP - Handling discounts in e commercePHP - 处理电子商务中的折扣
【发布时间】:2014-03-29 13:49:11
【问题描述】:

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

示例:

在我的示例中,我使用三个网点(NIKE/PUMA/ADIDAS)

阿迪达斯:所有产品均享有 50% 的折扣。

PUMA:购买 2 件商品,第三件可享受 50% 的折扣。

NIKE:购买一件,免费获得另一件。

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

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

产品表:包含有关产品的详细信息,例如名称、图片、品牌

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

希望我把问题说清楚了,非常感谢。

【问题讨论】:

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


    【解决方案1】:

    哈哈,我最近一直在处理这个问题。它很痛苦!显然,如果 50% 的折扣很容易,因为你可以为每个产品应用它。像购买 2 一样的产品可享受第三个 50% 的折扣 - 或购买价值 100 美元的“合格”商品,享受免费送货服务。换句话说,您不能只是合计购物车,因为您必须验证每件商品以查看它是否符合条件。

    这样做的唯一方法是查看购物车中的所有商品。特别是如果你想给他们发消息——比如如果客户在购物车里放了两件商品——现在你想告诉客户第三件商品将享受 50% 的折扣。或者他们有价值 95 美元的东西,你想告诉他们 - 只需多买 5 美元,就可以免费送货。

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

    在产品表中直接将产品与相关促销号关联到促销字段,或在另一个表中。如果您的促销活动涵盖整个品牌,那么这也是一种选择。

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

    总计您的购物车。您需要原始总数,以便计算他们节省了多少。

    根据特定阈值等检查所有购物车中的促销活动。

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

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

    =========

    编辑如果您为品牌执行此操作并且您没有或无法更新您的产品表,那么它仍然是相同的想法。实际上在某些方面它更容易!有一个单独的表格,其中只有品牌名称和相关的促销编号。

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

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

    【讨论】:

    • 非常感谢您的回答,但我的情况有点不同,因为我的折扣取决于品牌
    • 品牌在某些方面实际上更容易,因为它们适用于更多产品。见上面的编辑...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多