WIN-2308041133\Administrator пре 2 недеља
родитељ
комит
4188d431e5
1 измењених фајлова са 34 додато и 1 уклоњено
  1. 34 1
      app/models/user/WechatUser.php

+ 34 - 1
app/models/user/WechatUser.php

@@ -146,6 +146,39 @@ class WechatUser extends BaseModel
         return $user['status'];
     }
 
+    /**
+     * 检查数字是否包含4
+     * @param $number
+     * @return bool
+     */
+    protected static function hasDigitFour($number)
+    {
+        return strpos((string)$number, '4') !== false;
+    }
+
+    /**
+     * 生成不包含数字4的下一个uid
+     * @param int|null $startUid
+     * @return int
+     */
+    protected static function getNextUidWithoutFour($startUid = null)
+    {
+        if ($startUid === null) {
+            $startUid = self::max('uid') ?: 0;
+        }
+
+        $uid = $startUid + 1;
+
+        while (self::hasDigitFour($uid)) {
+            $uid++;
+            if ($uid - $startUid > 1000) {
+                return $startUid + 1;
+            }
+        }
+
+        return $uid;
+    }
+
     /**
      * .添加新用户
      * @param $openid
@@ -166,7 +199,7 @@ class WechatUser extends BaseModel
             }
         }
         self::beginTrans();
-//        $userInfo['uid'] = User::getkeytoid('uid');
+        $userInfo['uid'] = self::getNextUidWithoutFour();
         $wechatUser = self::create(is_object($userInfo) ? $userInfo->toArray() : $userInfo);
         if (!$wechatUser) {
             self::rollbackTrans();