|
|
@@ -487,6 +487,11 @@ class UserClass extends BaseClass
|
|
|
public static function replaceUser($userInfo, $source, $merchantId)
|
|
|
{
|
|
|
$userInfo = self::switchUserInfo($userInfo, $source);
|
|
|
+ $unionId = isset($userInfo['unionId']) && !empty($userInfo['unionId']) ? $userInfo['unionId'] : '';
|
|
|
+ $unionUser = [];
|
|
|
+ if (!empty($unionId)) {
|
|
|
+ $unionUser = self::getByUnionId($unionId);
|
|
|
+ }
|
|
|
$userSource = self::$userSourceId;
|
|
|
switch ($source) {
|
|
|
case $userSource['mini']['name']:
|
|
|
@@ -512,9 +517,15 @@ class UserClass extends BaseClass
|
|
|
throw new \Exception('未知来源的用户');
|
|
|
}
|
|
|
if (empty($user)) {
|
|
|
- $userInfo['source'] = $sourceId;
|
|
|
- $userInfo['merchantId'] = $merchantId;
|
|
|
- $user = self::generateUser($userInfo, $merchantId);
|
|
|
+ if (!empty($unionUser)) {
|
|
|
+ //如在小程序端已经授权用户信息和unionId之后,关注公众号会走这里
|
|
|
+ $user = self::updateUser($unionUser, $userInfo, $merchantId);
|
|
|
+ } else {
|
|
|
+ $userInfo['source'] = $sourceId;
|
|
|
+ $userInfo['merchantId'] = $merchantId;
|
|
|
+ $user = self::generateUser($userInfo, $merchantId);
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
//支付宝付款时不需要每次更新用户信息
|
|
|
if ($source != $userSource['alipay']['name']) {
|