refactor: 规范Expection处理

This commit is contained in:
xboard
2023-12-04 20:40:49 +08:00
parent aa0fe64afe
commit 0ab7dee52d
65 changed files with 625 additions and 362 deletions
+6 -5
View File
@@ -2,6 +2,7 @@
namespace App\Plugins\Telegram\Commands;
use App\Exceptions\ApiException;
use App\Models\User;
use App\Plugins\Telegram\Telegram;
@@ -12,25 +13,25 @@ class Bind extends Telegram {
public function handle($message, $match = []) {
if (!$message->is_private) return;
if (!isset($message->args[0])) {
abort(500, '参数有误,请携带订阅地址发送');
throw new ApiException(422, '参数有误,请携带订阅地址发送');
}
$subscribeUrl = $message->args[0];
$subscribeUrl = parse_url($subscribeUrl);
parse_str($subscribeUrl['query'], $query);
$token = $query['token'];
if (!$token) {
abort(500, '订阅地址无效');
throw new ApiException(500, '订阅地址无效');
}
$user = User::where('token', $token)->first();
if (!$user) {
abort(500, '用户不存在');
throw new ApiException(500, '用户不存在');
}
if ($user->telegram_id) {
abort(500, '该账号已经绑定了Telegram账号');
throw new ApiException(500, '该账号已经绑定了Telegram账号');
}
$user->telegram_id = $message->chat_id;
if (!$user->save()) {
abort(500, '设置失败');
throw new ApiException(500, '设置失败');
}
$telegramService = $this->telegramService;
$telegramService->sendMessage($message->chat_id, '绑定成功');
@@ -2,6 +2,7 @@
namespace App\Plugins\Telegram\Commands;
use App\Exceptions\ApiException;
use App\Models\User;
use App\Plugins\Telegram\Telegram;
use App\Services\TicketService;
@@ -20,7 +21,7 @@ class ReplyTicket extends Telegram {
{
$user = User::where('telegram_id', $msg->chat_id)->first();
if (!$user) {
abort(500, '用户不存在');
throw new ApiException(500, '用户不存在');
}
if (!$msg->text) return;
if (!($user->is_admin || $user->is_staff)) return;
+2 -1
View File
@@ -2,6 +2,7 @@
namespace App\Plugins\Telegram\Commands;
use App\Exceptions\ApiException;
use App\Models\User;
use App\Plugins\Telegram\Telegram;
@@ -19,7 +20,7 @@ class UnBind extends Telegram {
}
$user->telegram_id = NULL;
if (!$user->save()) {
abort(500, '解绑失败');
throw new ApiException(500, '解绑失败');
}
$telegramService->sendMessage($message->chat_id, '解绑成功', 'markdown');
}