mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 09:21:46 +08:00 
			
		
		
		
	telegram: order notify
This commit is contained in:
		| @@ -3,6 +3,7 @@ | ||||
| namespace App\Http\Controllers\Guest; | ||||
|  | ||||
| use App\Services\OrderService; | ||||
| use App\Services\TelegramService; | ||||
| use Illuminate\Http\Request; | ||||
| use App\Http\Controllers\Controller; | ||||
| use App\Models\Order; | ||||
| @@ -160,6 +161,16 @@ class OrderController extends Controller | ||||
|             abort(500, 'order is not found'); | ||||
|         } | ||||
|         $orderService = new OrderService($order); | ||||
|         return $orderService->success($callbackNo); | ||||
|         if (!$orderService->success($callbackNo)) { | ||||
|             return false; | ||||
|         } | ||||
|         $telegramService = new TelegramService(); | ||||
|         $message = sprintf( | ||||
|             "💰成功收款%s元\n———————————————\n订单号:%s", | ||||
|             $order->total_amount / 100, | ||||
|             $order->trade_no | ||||
|         ); | ||||
|         $telegramService->sendMessageWithAdmin($message); | ||||
|         return true; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -7,6 +7,7 @@ use App\Http\Requests\User\TicketSave; | ||||
| use App\Http\Requests\User\TicketWithdraw; | ||||
| use App\Jobs\SendTelegramJob; | ||||
| use App\Models\User; | ||||
| use App\Services\TelegramService; | ||||
| use Illuminate\Http\Request; | ||||
| use App\Models\Ticket; | ||||
| use App\Models\TicketMessage; | ||||
| @@ -180,21 +181,10 @@ class TicketController extends Controller | ||||
|             abort(500, '工单创建失败'); | ||||
|         } | ||||
|         DB::commit(); | ||||
|         $this->sendNotify($ticket, $ticketMessage); | ||||
|         $telegramService = new TelegramService(); | ||||
|         $telegramService->sendMessageWithAdmin("📮工单提醒 #{$ticket->id}\n———————————————\n主题:\n`{$ticket->subject}`\n内容:\n`{$ticketMessage->message}`"); | ||||
|         return response([ | ||||
|             'data' => true | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     private function sendNotify(Ticket $ticket, TicketMessage $ticketMessage) | ||||
|     { | ||||
|         if (!config('v2board.telegram_bot_enable', 0)) return; | ||||
|         $users = User::where('is_admin', 1) | ||||
|             ->where('telegram_id', '!=', NULL) | ||||
|             ->get(); | ||||
|         foreach ($users as $user) { | ||||
|             $text = "📮工单提醒 #{$ticket->id}\n———————————————\n主题:\n`{$ticket->subject}`\n内容:\n`{$ticketMessage->message}`"; | ||||
|             SendTelegramJob::dispatch($user->telegram_id, $text); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| <?php | ||||
| namespace App\Services; | ||||
|  | ||||
| use App\Jobs\SendTelegramJob; | ||||
| use \Curl\Curl; | ||||
|  | ||||
| class TelegramService { | ||||
| @@ -43,4 +44,15 @@ class TelegramService { | ||||
|         } | ||||
|         return $response; | ||||
|     } | ||||
|  | ||||
|     public function sendMessageWithAdmin($message) | ||||
|     { | ||||
|         if (!config('v2board.telegram_bot_enable', 0)) return; | ||||
|         $users = User::where('is_admin', 1) | ||||
|             ->where('telegram_id', '!=', NULL) | ||||
|             ->get(); | ||||
|         foreach ($users as $user) { | ||||
|             SendTelegramJob::dispatch($user->telegram_id, $message); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user