【问题标题】:Coupon code Verification in an Ecommerce site [closed]电子商务网站中的优惠券代码验证[关闭]
【发布时间】:2013-08-31 04:50:27
【问题描述】:

大家好,我正在我的电子商务网站中实施优惠券代码验证选项。我有两种类型的优惠券,固定金额或百分比。如何在后端解决这两个问题。我的意思是在数据库模式中。

【问题讨论】:

  • 假设您有coupons 表。与其他字段(键、描述等)一起添加coupon_typeENUM('percentage','amount')coupon_valuedecimal(12,2)(或更短)。在coupon_value 中保存文字值(0.XX 代表 XX%),稍后在代码中只需添加或多个 - 取决于 coupon_type
  • 对于已发布的答案 - 从不将价格保留为浮点数 - 这些是精确值,将它们保留为浮点数会在以后给您带来问题。

标签: php mysql shopping-cart coupon


【解决方案1】:
CouponTypeTBL
id type
1  flat
2  percent

CouponTBL
id  typeid  uniquecode  amount   validfromdate   validtodate  useddate  status etc...
1   1       a1-xx       100.00   ....
2   2       cvd11       7.5      ...

所以你这里有一张优惠券:

a1-xx,即100的固定金额

cvd11 提供 7.5% 的折扣。

你可以让这个模型更复杂,哪种货币,如果是平的,如果在固定金额下使用会留下一个金额等等..等等..

【讨论】:

    【解决方案2】:

    我会使用一个有

    的表

    CUPON 代码、PERCENT、AMOUNT、USABLE_COUNT

    这样你就可以拥有两者兼得的杯子(如果有人想要的话)。

    USABLE_COUNT 适用于只能使用一定次数的杯子。

    但您可能会考虑许多其他功能,例如杯子的最低购买量。

    【讨论】:

      【解决方案3】:

      百分比 = 整数(1%、10%、100% 等)或双/浮点数(1.11% 10.1%、99.999% 等)

      固定金额 = 整数(1、10、100 等)或双精度/浮点数(1.11、10.1、99.999 等)

      将其保存为整数或双/浮点/十进制...

      【讨论】:

        【解决方案4】:
        CREATE TABLE IF NOT EXISTS `coupon` (
            `code` varchar(20) NOT NULL,
            `type` varchar(10) NOT NULL,
            `amount` float NOT NULL,
            UNIQUE KEY `code` (`code`)
        );
        

        简单的例子...

        【讨论】:

          【解决方案5】:

          将数量和百分比都作为化脓列。否则,如果通过提供一个鉴别器列将百分比和金额都放在单列中,如果您想为 amt r 百分比提供一个域,则会出现问题,例如:不允许超过 100% 作为折扣或最少 10 rs作为折扣。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-01-17
            • 2014-11-26
            • 1970-01-01
            • 2011-01-02
            • 1970-01-01
            相关资源
            最近更新 更多