<?php

namespace App\Http\Controllers\Backend;

use App\Jobs\SendMessageBot;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class MessageController extends AdminController
{
    //
    public function index()
    {
        $phones = User::groupBy('phone')
            ->pluck('phone')
            ->toArray();

        return view('admin.message.index', compact('phones'));
    }

    public function send(Request $request)
    {
        $data = $request->all();
        $content = $data['content'];
        $phones = $data['phones'];

        if ($data['type'] == 'all') {
            $users = User::whereIn('type', [User::OWNER, User::RENTER])->get();
            foreach ($users as $user) {
                dispatch(new SendMessageBot($content, $user->id));
            }
        } else if ($data['type'] == 'owner') {
            $users = User::where('type', User::OWNER)->get();
            foreach ($users as $user) {
                dispatch(new SendMessageBot($content, $user->id));
            }
        } else if ($data['type'] == 'renter') {
            $users = User::where('type', User::RENTER)->get();
            foreach ($users as $user) {
                dispatch(new SendMessageBot($content, $user->id));
            }
        } else if ($data['type'] == 'include') {
            if (is_array($phones) && !empty($phones)) {
                foreach ($phones as $phone) {
                    $user = User::where('phone', $phone)->first();
                    if ($user) {
                        dispatch(new SendMessageBot($content, $user->id));
                    }
                }
            }
        } else if ($data['type'] == 'exclude') {
            if (is_array($phones) && !empty($phones)) {
                $users = User::whereNotIn('phone', $phones)->get();
                foreach ($users as $user) {
                    dispatch(new SendMessageBot($content, $user->id));
                }
            }
        }
        return redirect()->back()->with('success', 'Gửi tin nhắn thành công');
    }
}
