|
@@ -146,6 +146,39 @@ class WechatUser extends BaseModel
|
|
|
return $user['status'];
|
|
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
|
|
* @param $openid
|
|
@@ -166,7 +199,7 @@ class WechatUser extends BaseModel
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
self::beginTrans();
|
|
self::beginTrans();
|
|
|
-// $userInfo['uid'] = User::getkeytoid('uid');
|
|
|
|
|
|
|
+ $userInfo['uid'] = self::getNextUidWithoutFour();
|
|
|
$wechatUser = self::create(is_object($userInfo) ? $userInfo->toArray() : $userInfo);
|
|
$wechatUser = self::create(is_object($userInfo) ? $userInfo->toArray() : $userInfo);
|
|
|
if (!$wechatUser) {
|
|
if (!$wechatUser) {
|
|
|
self::rollbackTrans();
|
|
self::rollbackTrans();
|