1

我生成唯一代码以将它们用作优惠券代码。这就是优惠券代码的生成方式

public function generateCoupon(){
    $chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $res = "";

    for ($i = 0; $i < 6; $i++) {
        $res .= $chars[mt_rand(0, strlen($chars) - 1)];
    }

    return $res;
}

为了确保我在 DB 中没有多次使用相同的代码,我检查生成的代码是否存在:

$coupon = $this->generateCoupon();

while($repository->findOneByCode($coupon) != null){
    $coupon = $this->generateCoupon();
}

用户请求优惠券代码并将其分配给用户,直到使用为止。

优惠券在使用时应该如何处理?现在代码已从数据库中删除,可以再次使用。这是好习惯吗?还是我应该永远存储代码?您将如何管理您的优惠券?

4

1 回答 1

1

您可以使用UUID作为您的优惠券代码,以确保唯一性,或将优惠券代码存储在“永久”记录中,标记为已使用。

于 2012-12-02T13:48:46.867 回答