From 3faff7455702eeebb6001961d4c6485233b5546b Mon Sep 17 00:00:00 2001 From: EasyChen Date: Tue, 25 Jan 2022 12:58:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BB=A3=E7=A0=81=E5=90=88?= =?UTF-8?q?=E5=B9=B6=E9=80=BB=E8=BE=91=EF=BC=8Cid=E5=94=AF=E4=B8=80?= =?UTF-8?q?=EF=BC=8C=E5=85=88=E5=88=A0=E9=99=A4=E5=90=8E=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/PushDeerUserController.php | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/api/app/Http/Controllers/PushDeerUserController.php b/api/app/Http/Controllers/PushDeerUserController.php index 174e757..12b3ad5 100644 --- a/api/app/Http/Controllers/PushDeerUserController.php +++ b/api/app/Http/Controllers/PushDeerUserController.php @@ -60,7 +60,7 @@ class PushDeerUserController extends Controller { $validated = $request->validate( [ - 'code' => 'string|required', + 'code' => 'string', ] ); @@ -115,7 +115,7 @@ class PushDeerUserController extends Controller { $validated = $request->validate( [ - 'idToken' => 'string|required', + 'idToken' => 'string', ] ); @@ -163,8 +163,11 @@ class PushDeerUserController extends Controller ); + $type_field = strtolower($validated['type']) == 'apple' ? 'apple_id' : 'wechat_id'; + + $identiy_string = false; if ($type_field == 'apple_id') { $info = getUserDataFromIdentityToken($validated['tokenorcode']); @@ -194,32 +197,33 @@ class PushDeerUserController extends Controller } $user2delete = PushDeerUser::where($type_field, $identiy_string)->get()->first(); - - // 更新对应的字段到当前用户 $current_user = PushDeerUser::where('id', uid())->get()->first(); - if ($user2delete && $user2delete['id'] == $current_user['id']) { - return send_error("不能合并当前账号本身", ErrorCode('ARGS')); - } - $current_user[$type_field] = $identiy_string; - $current_user->save(); // 如果存在旧用户,合并并删除 if ($user2delete) { + if ($user2delete['id'] == $current_user['id']) { + return send_error("不能合并当前账号本身", ErrorCode('ARGS')); + } + + // 删除Key PushDeerKey::where('uid', $user2delete['id'])->delete(); // message合并 - PushDeerMessage::where('uid', $user2delete['id'])->update(['uid', uid()]); + PushDeerMessage::where('uid', $user2delete['id'])->update(['uid'=>uid()]); // 设备合并 - PushDeerDevice::where('uid', $user2delete['id'])->update(['uid', uid()]); + PushDeerDevice::where('uid', $user2delete['id'])->update(['uid'=>uid()]); // 删除用户 $user2delete->delete(); } + $current_user[$type_field] = $identiy_string; + $current_user->save(); + return http_result(['result'=>'done']); } }