|
|
@@ -140,45 +140,12 @@ class AdminClass extends BaseClass
|
|
|
public static function replaceAdmin($adminInfo, $source)
|
|
|
{
|
|
|
$adminInfo = self::switchAdminInfo($adminInfo, $source);
|
|
|
- $adminSource = UserClass::$userSourceId;
|
|
|
$unionId = isset($adminInfo['unionId']) && !empty($adminInfo['unionId']) ? $adminInfo['unionId'] : '';
|
|
|
- $unionAdmin = [];
|
|
|
- if (!empty($unionId)) {
|
|
|
- $unionAdmin = self::getByUnionId($unionId);
|
|
|
- }
|
|
|
- switch ($source) {
|
|
|
- case $adminSource['mini']['name']:
|
|
|
- $sourceId = $adminSource['mini']['id'];
|
|
|
- $miniOpenId = $adminInfo['miniOpenId'];
|
|
|
- $admin = self::getByMiniOpenId($miniOpenId);
|
|
|
- break;
|
|
|
- case $adminSource['official']['name']:
|
|
|
- $sourceId = $adminSource['official']['id'];
|
|
|
- $openId = isset($adminInfo['openId']) ? $adminInfo['openId'] : '';
|
|
|
- $admin = [];
|
|
|
- if (!empty($openId)) {
|
|
|
- $admin = self::getByOpenId($openId);
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new \Exception('未知来源的用户');
|
|
|
- }
|
|
|
+ $ptStyle = Yii::$app->params['ptStyle'];
|
|
|
+ $admin = self::getByCondition(['unionId' => $unionId, 'style' => $ptStyle]);
|
|
|
if (empty($admin)) {
|
|
|
- if (!empty($unionAdmin)) {
|
|
|
- //1、在小程序端已经授权用户信息和unionId之后,关注公众号时走这里
|
|
|
- //2、关注了公众号或者H5已经授权时,并首次访问小程序
|
|
|
- $admin = self::updateAdmin($unionAdmin, $adminInfo);
|
|
|
- } else {
|
|
|
- $adminInfo['sourceType'] = $sourceId;
|
|
|
- $admin = self::generateAdmin($adminInfo);
|
|
|
- }
|
|
|
+ $admin = self::generateAdmin($adminInfo);
|
|
|
} else {
|
|
|
- if (!empty($unionAdmin)) {
|
|
|
- if (isset($unionAdmin['id']) && isset($admin['id']) && $admin['id'] != $unionAdmin['id']) {
|
|
|
- //合并相同管理员,小程序管理保留,其它删除
|
|
|
- $admin = self::mergeAdmin($unionAdmin, $admin);
|
|
|
- }
|
|
|
- }
|
|
|
$admin = self::updateAdmin($admin, $adminInfo);
|
|
|
}
|
|
|
return $admin;
|