首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预付费系统建议

预付费系统建议
EN

Stack Overflow用户
提问于 2012-10-12 15:21:08
回答 1查看 78关注 0票数 0

我正在开发一个咖啡馆或快餐店的预付费系统。

目前,我有代码系统排序,该系统将发出一个10位唯一的代码,这是散列和盐化前存储在数据库中。信用被分配给代码。

客户可以购买多个“代码”来建立信用,如果他们想的话。

我在购买时的流程是用户尝试购买一件物品。所有优惠券的余额在购买时计算。如果有足够的信用额度购买该商品,则余额将扣除任何有足够信用额度的优惠券。如果物品是5.60美元,则使用信用最低的优惠券,该优惠券现在是0.00。如果资金不足,剩余部分将从下一张可用优惠券中扣除。这将防止任何人因为购买而拥有数十张价值.25或.50的优惠券。

在优惠券表格中,我有以下结构(省略了一些表格数据)

代码语言:javascript
复制
  +------------+----------------+----------------------+ 
  |    id      |      code      |    balance           |
  +------------+----------------+----------------------+
  |    1       |      abcde     |    10.00             |
  +------------+----------------+----------------------+
  |    2       |      fghij     |    20.00             |
  +------------+----------------+----------------------+
  |    3       |      klmno     |    25.00             |
  +------------+----------------+----------------------+

事务处理表类似于..

代码语言:javascript
复制
  +------------+----------------+----------------------+ 
  |    id      |      coupon    |    value             |
  +------------+----------------+----------------------+
  |    1       |      abcde     |    2.59              |
  +------------+----------------+----------------------+
  |    2       |      abcde     |    4.50              |
  +------------+----------------+----------------------+
  |    3       |      klmno     |    25.00             |
  +------------+----------------+----------------------+

我的理论是,优惠券的价值永远不会改变,但交易的价值会在购买时计算并扣除,以得出剩余部分。

这看起来像是一种实用的方法吗?

如果你觉得这个问题不属于这里,而不是投反对票,请提供一个更好的论坛。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-12 15:56:05

理论上听起来不错,但既然你必须记录所有的优惠券和交易记录,那么购买哪种优惠券是平衡的并不重要-你只需要金额。如果优惠券可以在个人之间转移,您必须首先扫描客户可用的所有优惠券,然后再决定您要检查他的余额。在我看来不切实际。如果优惠券不能转让,它们只是客户自己账户上的存款收据,挑出其中一张来核对是没有意义的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12854139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档