Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 预付费制度建议_Php_Mysql_Transactions - Fatal编程技术网

Php 预付费制度建议

Php 预付费制度建议,php,mysql,transactions,Php,Mysql,Transactions,我正在为咖啡馆或快餐店开发预付款系统。前提是零售商将登录到管理页面,发布自己的代码,以提供给在柜台预装信用卡的客户 目前,我已经对代码系统进行了排序,系统将发出一个10位数的唯一代码,在存储到数据库之前对其进行哈希和盐析。信用被分配给代码 如果客户愿意,他们可以购买多个“代码”来建立信用 我在购买时的流程是用户尝试购买物品。所有优惠券的余额在购买时计算。如果有足够的信用,则购买该物品时,余额将扣除任何有足够信用的优惠券。如果物品为5.60美元,则使用信用最低的优惠券,该优惠券现在为0.00美元。

我正在为咖啡馆或快餐店开发预付款系统。前提是零售商将登录到管理页面,发布自己的代码,以提供给在柜台预装信用卡的客户

目前,我已经对代码系统进行了排序,系统将发出一个10位数的唯一代码,在存储到数据库之前对其进行哈希和盐析。信用被分配给代码

如果客户愿意,他们可以购买多个“代码”来建立信用

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

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

事务表类似于

  +------------+----------------+----------------------+ 
  |    id      |      coupon    |    value             |
  +------------+----------------+----------------------+
  |    1       |      abcde     |    2.59              |
  +------------+----------------+----------------------+
  |    2       |      abcde     |    4.50              |
  +------------+----------------+----------------------+
  |    3       |      klmno     |    25.00             |
  +------------+----------------+----------------------+
我的理论是,息票的价值永远不会改变,但交易的价值会在购买时计算并扣除,以获得剩余部分

这似乎是一种切实可行的方法吗


如果你觉得这个问题不属于这里,而不是否决投票,那就提供一个更好的论坛

理论上听起来不错,但既然你必须记录所有优惠券和交易,那么购买哪一张优惠券是平衡的并不重要,你只需要总数。 如果优惠券可在个人之间转让,则您必须首先扫描客户可获得的所有优惠券,然后再决定要检查其余额的优惠券。对我来说似乎不切实际。 如果优惠券不可转让,那么它们只是客户个人账户存款的收据,因此没有必要选择其中一张进行核对

  +------------+----------------+----------------------+ 
  |    id      |      coupon    |    value             |
  +------------+----------------+----------------------+
  |    1       |      abcde     |    2.59              |
  +------------+----------------+----------------------+
  |    2       |      abcde     |    4.50              |
  +------------+----------------+----------------------+
  |    3       |      klmno     |    25.00             |
  +------------+----------------+----------------------+