Last active
July 30, 2018 16:37
-
-
Save tiagoandrepro/604573a0cd18c2d23601a379390a9a21 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Jobs; | |
use Illuminate\Bus\Queueable; | |
use Illuminate\Queue\SerializesModels; | |
use Illuminate\Queue\InteractsWithQueue; | |
use Illuminate\Contracts\Queue\ShouldQueue; | |
use Illuminate\Foundation\Bus\Dispatchable; | |
use GuzzleHttp; | |
use Storage; | |
use Carbon\Carbon; | |
use App\Models\Subscriber; | |
use App\Models\Send; | |
use Auth; | |
use App\Jobs\UpdateProcessing; | |
class AddTableSend implements ShouldQueue | |
{ | |
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; | |
protected $messages; | |
protected $subscribers; | |
protected $user; | |
public function __construct($messages, $subscribers, $user) | |
{ | |
$this->messages = $messages; | |
$this->subscribers = $subscribers; | |
$this->user = $user; | |
} | |
public function handle(Send $update) | |
{ | |
$current = Carbon::now(); | |
foreach($this->subscribers as $subscriber) { | |
foreach($this->messages as $message) { | |
$send = new Send; | |
$send->name = $message->name; | |
$send->message = $message->message; | |
$send->type = $message->type; | |
$send->user_id = $this->user; | |
$send->mobile = $subscriber->mobile; | |
$send->subscriber_id = $subscriber->id; | |
$send->save(); | |
} | |
} | |
$subscribers2 = $update->getAllSend(); | |
UpdateProcessing:: dispatch($subscribers2); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Jobs; | |
use Illuminate\Bus\Queueable; | |
use Illuminate\Queue\SerializesModels; | |
use Illuminate\Queue\InteractsWithQueue; | |
use Illuminate\Contracts\Queue\ShouldQueue; | |
use Illuminate\Foundation\Bus\Dispatchable; | |
use GuzzleHttp; | |
use Storage; | |
use Carbon\Carbon; | |
use App\Models\Subscriber; | |
use App\Models\Send; | |
class MessageSend implements ShouldQueue | |
{ | |
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; | |
protected $sends; | |
public function __construct($sends) | |
{ | |
$this->sends = $sends; | |
} | |
public function handle(Send $update) | |
{ | |
foreach($this->sends as $send) { | |
$current = Carbon::now(); | |
$update->setDone($send->id); | |
Storage::append('MessageSend.log', "$send->id; $current; $send->mobile; $send->message"); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Http\Controllers; | |
use Illuminate\Http\Request; | |
use Auth; | |
use App\Models\Send; | |
use App\Models\Message; | |
use App\Models\Category; | |
use App\Jobs\AddTableSend; | |
use App\Models\Subscriber; | |
class SendController extends Controller | |
{ | |
public function __construct() | |
{ | |
$this->middleware('auth'); | |
} | |
public function index() | |
{ | |
return view ('panel.send.index'); | |
} | |
public function create() | |
{ | |
$user = Auth::id(); | |
$messages = Message::with('user')->where('user_id', $user)->get(); | |
$categories = Category::with('user')->where('user_id', $user)->get(); | |
return view('panel.send.create', compact('messages', 'categories')); | |
} | |
public function store(Request $request, Send $send) | |
{ | |
$user = Auth::id(); | |
$message = Message::where('id',$request->message)->get(); | |
$subscribers = Subscriber::whereHas('category', function ($query){ | |
return $query->where('id', 1); | |
})->get(); | |
AddTableSend::dispatch($message, $subscribers, $user); | |
return redirect()->route('send.index')->with('message', "Suas mensagens estão sendo enviadas. Você receberá uma mensagem quando envio finalizar.!"); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Jobs; | |
use Illuminate\Bus\Queueable; | |
use Illuminate\Queue\SerializesModels; | |
use Illuminate\Queue\InteractsWithQueue; | |
use Illuminate\Contracts\Queue\ShouldQueue; | |
use Illuminate\Foundation\Bus\Dispatchable; | |
use App\Models\Send; | |
class UpdateProcessing implements ShouldQueue | |
{ | |
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; | |
protected $subscribers; | |
public function __construct($subscribers) | |
{ | |
$this->subscribers = $subscribers; | |
} | |
public function handle(Send $update) | |
{ | |
foreach($this->subscribers as $send) { | |
$update->sendUpdate($send['id']); | |
} | |
$subscribers3 = $update->getAllQueue(); | |
MessageSend::dispatch($subscribers3); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment