mirror of
https://github.com/easychen/pushdeer.git
synced 2025-02-22 16:04:56 +08:00
修正代码合并逻辑,id唯一,先删除后添加
This commit is contained in:
parent
ff21e69382
commit
3faff74557
@ -60,7 +60,7 @@ class PushDeerUserController extends Controller
|
|||||||
{
|
{
|
||||||
$validated = $request->validate(
|
$validated = $request->validate(
|
||||||
[
|
[
|
||||||
'code' => 'string|required',
|
'code' => 'string',
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ class PushDeerUserController extends Controller
|
|||||||
{
|
{
|
||||||
$validated = $request->validate(
|
$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';
|
$type_field = strtolower($validated['type']) == 'apple' ? 'apple_id' : 'wechat_id';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$identiy_string = false;
|
$identiy_string = false;
|
||||||
if ($type_field == 'apple_id') {
|
if ($type_field == 'apple_id') {
|
||||||
$info = getUserDataFromIdentityToken($validated['tokenorcode']);
|
$info = getUserDataFromIdentityToken($validated['tokenorcode']);
|
||||||
@ -194,32 +197,33 @@ class PushDeerUserController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$user2delete = PushDeerUser::where($type_field, $identiy_string)->get()->first();
|
$user2delete = PushDeerUser::where($type_field, $identiy_string)->get()->first();
|
||||||
|
|
||||||
// 更新对应的字段到当前用户
|
|
||||||
$current_user = PushDeerUser::where('id', uid())->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) {
|
||||||
|
if ($user2delete['id'] == $current_user['id']) {
|
||||||
|
return send_error("不能合并当前账号本身", ErrorCode('ARGS'));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 删除Key
|
// 删除Key
|
||||||
PushDeerKey::where('uid', $user2delete['id'])->delete();
|
PushDeerKey::where('uid', $user2delete['id'])->delete();
|
||||||
|
|
||||||
// message合并
|
// 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();
|
$user2delete->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$current_user[$type_field] = $identiy_string;
|
||||||
|
$current_user->save();
|
||||||
|
|
||||||
return http_result(['result'=>'done']);
|
return http_result(['result'=>'done']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user