随机分配X个红包,初始版,暂留在这里笔记。。年后再处理,
实际应用中需要结合redis等考虑并发的东西。
<?php
/**
*
*/
class readPack {
//总金额
public $sumMoney = 0;
//要发的红包个数
public $nums = 0;
//单个最小获得红包
public $min = 0;
//红包数组
public $packArr = [];
//已发放的数量
public $hasAllot = 0;
//已发送的个数
public $hasAllotNums = 0;
function __construct($sumMoney, $nums, $min = 0.01){
$this->sumMoney = $sumMoney;
$this->nums = $nums;
$this->min = $min;
}
//获得单个红包
private function _generateSignPack(){
//剩余未分配的金额
$leftMoney = $this->sumMoney - $this->hasAllot;
//剩余还要发的红包个数
$leftNums = $this->nums - $this->hasAllotNums;
//按最小金额发需要的约包金额
$mustRetain = $leftNums * $this->min;
//最后一个直接得剩余红包
if( $leftNums == 1){