目前,我正在寻找对购物车/订单“应用折扣”的最佳实践。
因此,我计划实施此类折扣......
固定用户折扣(例如,我想给我最喜欢的客户 10% 的折扣)
商品数量折扣(例如,您购买 10 支不同颜色的钢笔,您将获得 1.5% 的折扣)
优惠券折扣(例如,在促销活动期间,我们制作了 100 张优惠券,每张优惠券有 10% 折扣。优惠券仅适用于一个订单,并于年月日到期)
购买物品或物品组时赠送(例如,您要购买钢笔、纸张清单,商店会向您赠送磨刀器)
订单总价折扣(例如,您购买 10 支笔且没有折扣,那么您再添加 5 支笔并获得 5% 的折扣)
特定商品只能享受一次折扣。我们总是应用最大的折扣。对用户来说最有利可图的折扣。
除此之外,管理员应该能够修改特定订单中的商品价格并取消该订单中的折扣。
坦率地说,这是我的第一个电子商务应用程序,在我看来,实现所有这些折扣是一项艰巨的任务。
好吧,现在让我告诉你我将如何实施......
固定用户折扣它只是用户表中的一个字段,其中包含有关折扣的信息。它是通过控制面板手动设置的,或者由 cron 自动设置的,用于总订单总和超过该 N 的用途。
商品数量折扣我将创建额外的表来存储此类折扣的商品组。此外,我还需要一张桌子来将这些组与商店中的商品连接起来。
优惠券折扣只是一个包含优惠券的表,其中包含过期日期、优惠券状态、优惠券折扣以及可能的 user_id (优惠券所有者)字段。也许我还会为物品类别实施优惠券。
购买物品或物品组时赠送这真的很痛苦,我完全不知道如何实施。请帮忙!
订单总价折扣很简单,恕我直言。
好的,现在我正在寻找最佳实践将此类折扣存储在数据库中。另外,我正在寻找 OOP 实践来将此折扣应用于购物车。任何帮助表示赞赏!
PS:很抱歉这么长的帖子,但我认为这不仅对我来说很有趣。
谢谢。
当前购买商品或商品组需求的基本解决方案是拥有类似捆绑包和捆绑商品表之类的东西。
bundle table.
id int primary key
giftproductId int foreign key - product table
bundleitem table.
id int primary key
bundleid int foreign key - bundle table
requiredproductid int foreign key - product table
您的捆绑包表包含礼品项目 ID,捆绑项目表包含与捆绑包关联的所有项目,用户必须订购这些项目才有资格获得礼物。
您的“Bundle”类将包含这些必需产品项目的数组、礼品项目和一个方法,该方法采用购物车对象并检查购物车是否包含此特定捆绑优惠的所有必需产品 - 类似于内部的简单 foreach foreach 循环...
这是一个简单的解决方案,根据这些礼品的规则,事情可能会变得复杂,例如如果我订购 2 支笔和 2 张纸,我可以获得 2 个卷笔刀吗? - 祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)