]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
add 3 nums instead of 2 chars at base to generate single use promocodes
authorAlexander Smirnov <fredeom@mail.ru>
Mon, 10 Jun 2024 09:45:22 +0000 (12:45 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Mon, 10 Jun 2024 09:45:22 +0000 (12:45 +0300)
erp24/services/PromocodeService.php

index 55ec6190c20883a895ae4f37e24e039fb00e46d0..fa37b02a1946977463944ebdf4f09113cef80130 100644 (file)
@@ -7,17 +7,18 @@ use yii_app\records\Promocode;
 
 class PromocodeService
 {
-    private static function generateTwoChars() {
-        $chars = "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
-        return mb_substr($chars, rand() % mb_strlen($chars), 1) .
-               mb_substr($chars, rand() % mb_strlen($chars), 1);
+    private static function generateThreeNums() {
+//        $chars = "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
+//        return mb_substr($chars, rand() % mb_strlen($chars), 1) .
+//               mb_substr($chars, rand() % mb_strlen($chars), 1);
+        return (rand() % 10) . (rand() % 10) . (rand() % 10);
     }
 
     public static function generateSingleUsePromocodes(Promocode $basePromocode) {
         foreach (range(1, $basePromocode->generatePromocodeCount) as $num) {
-            $word = self::generateTwoChars();
+            $word = self::generateThreeNums();
             while (Promocode::find()->where(['code' => $basePromocode->code . $word])->one()) {
-                $word = self::generateTwoChars();
+                $word = self::generateThreeNums();
             }
             $singleUsePromocode = new Promocode;
             $singleUsePromocode->code = mb_strtoupper($basePromocode->code . $word, 'UTF-8');