调整账号合并

This commit is contained in:
luofei 2024-03-08 17:59:25 +08:00
parent 1a335ed8b8
commit 34187247aa

View File

@ -48,6 +48,7 @@ use app\common\model\user\User as UserModel;
use app\common\model\user\UserAddress;
use app\common\model\user\UserRecharge;
use think\db\Query;
use think\exception\ValidateException;
use think\facade\Cache;
use think\facade\Db;
@ -624,27 +625,28 @@ class User extends BaseController
return app('json')->fail('验证码不正确');
}
$auth = Cache::get('u_try' . $data['auth_token']);
// $auth && Cache::delete('u_try' . $data['auth_token']);
$auth && Cache::delete('u_try' . $data['auth_token']);
if (empty($auth)) {
return app('json')->fail('授权已过期,请重新登录');
}
$user = $repository->wechatUserIdBytUser($auth['id']);
if (!empty($user['account'])) {
return app('json')->fail('已绑定手机号');
}
$targetUser = $repository->accountByUser($data['phone']);
if (!empty($user) && empty($targetUser)) {
$user->account = $data['phone'];
$user->phone = $data['phone'];
$user->save();
$tokenInfo = $repository->createToken($user);
return app('json')->success($repository->returnToken($user, $tokenInfo));
if (empty($targetUser) && !empty($user)) {
if (!empty($user)) {
$user->account = $data['phone'];
$user->phone = $data['phone'];
$user->save();
$tokenInfo = $repository->createToken($user);
return app('json')->success($repository->returnToken($user, $tokenInfo));
} else {
$targetUser = $repository->registr($data['phone'], $data['pwd'], $data['user_type']);
$repository->bindSpread($targetUser, intval($data['spread']));
}
}
if (empty($targetUser) && empty($user)) {
$targetUser = $repository->registr($data['phone'], $data['pwd'], $data['user_type']);
}
if ($auth) {
$repository->syncBaseAuth($auth, $targetUser);
}
$targetUser = $repository->mainUser($targetUser);
$repository->bindSpread($targetUser, intval($data['spread']));
$repository->syncBaseAuth($auth, $targetUser);
Db::startTrans();
try {
StoreGroupOrder::where('uid', $user['uid'])->update(['uid' => $targetUser['uid']]);
@ -702,11 +704,12 @@ class User extends BaseController
$user->save();
}
Db::commit();
$tokenInfo = $repository->createToken($targetUser);
return app('json')->success($repository->returnToken($targetUser, $tokenInfo));
} catch (\Throwable $e) {
Db::rollback();
throw new ValidateException('绑定出错');
}
$tokenInfo = $repository->createToken($targetUser);
return app('json')->success($repository->returnToken($targetUser, $tokenInfo));
}
}