pintu2/app/Jobs/layananLombaJob.php
Fiky Baharudin 9b224935f4
Some checks failed
Run Action to Production / run pull to sync on target message (push) Failing after 1m7s
production tambah menu lomba
2025-03-07 09:57:56 +07:00

251 lines
10 KiB
PHP

<?php
namespace App\Jobs;
use App\Mail\pengajuanLombaMail;
use App\Models\Lomba;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail;
use Ixudra\Curl\Facades\Curl;
use Spatie\Permission\Models\Role;
class layananLombaJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $data;
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*/
public function handle(): void
{
$jenis = $this->data['jenis'];
$caseid = $this->data['caseid'];
$data = Lomba::
select('lombas.*',
'mahasiswas.*',
'dosen_pembimbing.nama_gelar as dosen_pembimbing',
'dosen_pembimbing.email as email_dosen_pembimbing',
)
->join('mahasiswas','mahasiswa_id','=','mahasiswas.id')
->join('users as dosen_pembimbing','dosen_pembimbing_lomba','=','dosen_pembimbing.id')
->where('caseid',$caseid)
->first();
if($jenis==="penolakan"){
//data email
$data_email = [
'subject' => $caseid.' - Pengajuan Bantuan Delegasi Lomba',
'judul' => 'Pengajuan Bantuan Delegasi Lomba',
'jenis' => 'penolakan',
'caseid' => $caseid,
'nama_mahasiswa' => $data->nama,
'nim_mahasiswa' => $data->nim,
'email' => $data->email,
'nama_kompetisi' => $data->nama_kompetisi,
'nama_penyelenggara' => $data->nama_penyelenggara,
'tanggal_mulai' => $data->tanggal_mulai,
'tanggal_berakhir' => $data->tanggal_berakhir,
'keterangan_operator' => $data->keterangan_operator,
];
// send email
$konten = new pengajuanLombaMail($data_email);
Mail::to($this->data['email'])
->bcc('f@unej.ac.id')
->send($konten);
//send email dummy
// $konten = new pengajuanLombaMail($data_email);
// Mail::to('f@unej.ac.id')
// ->bcc('f@unej.ac.id')
// ->send($konten);
//telegram
$text = "BETA\n".
"Penolakan Pengajuan Bantuan Delegasi Lomba Mahasiswa - ".$data_email['caseid'].":\n\n".
"Kepada Mahasiswa :".$data_email['nama_mahasiswa']."\n".
"Dengan Email : ".$data_email['email']."\n\n".
"Alasan : ".$data['keterangan_operator'];
//send telegram
Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
->get();
}
elseif($jenis==="mahasiswa"){
//data email
$data_email = [
'subject' => $caseid.' - Pengajuan Bantuan Delegasi Lomba',
'judul' => 'Pengajuan Bantuan Delegasi Lomba',
'jenis' => 'mahasiswa',
'caseid' => $caseid,
'nama_mahasiswa' => $data->nama,
'nim_mahasiswa' => $data->nim,
'email' => $data->email,
'nama_kompetisi' => $data->nama_kompetisi,
'nama_penyelenggara' => $data->nama_penyelenggara,
'tanggal_mulai' => $data->tanggal_mulai,
'tanggal_berakhir' => $data->tanggal_berakhir,
'url' => route('monitoring.caseid',['caseid'=>$data->caseid]),
];
// send email
$konten = new pengajuanLombaMail($data_email);
Mail::to($data_email['email'])
->bcc('f@unej.ac.id')
->send($konten);
//send email dummy
// $konten = new pengajuanLombaMail($data_email);
// Mail::to('f@unej.ac.id')
// ->send($konten);
//telegram
$text = "BETA\n".
"Kirim monitoring Pengajuan Bantuan Delegasi Lomba Mahasiswa:\n".
"Kepada Mahasiswa :".$data_email['nama_mahasiswa']."\n".
"Dengan Email : ".$data_email['email']."\n\n".
"URL : `".$data_email['url']."`";
//send telegram
Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
->get();
}
elseif($jenis==="mahasiswa_selesai"){
//data email
$data_email = [
'subject' => $caseid.' - Pengajuan Bantuan Delegasi Lomba',
'judul' => 'Pengajuan Bantuan Delegasi Lomba',
'jenis' => 'mahasiswa_selesai',
'caseid' => $caseid,
'nama_mahasiswa' => $data->nama,
'nim_mahasiswa' => $data->nim,
'email' => $data->email,
'nama_kompetisi' => $data->nama_kompetisi,
'nama_penyelenggara' => $data->nama_penyelenggara,
'tanggal_mulai' => $data->tanggal_mulai,
'tanggal_berakhir' => $data->tanggal_berakhir,
'url' => route('monitoring.caseid',['caseid'=>$data->caseid]),
];
// send email
$konten = new pengajuanLombaMail($data_email);
Mail::to($data_email['email'])
->bcc('f@unej.ac.id')
->send($konten);
//send email dummy
// $konten = new pengajuanLombaMail($data_email);
// Mail::to('f@unej.ac.id')
// ->send($konten);
//telegram
$text = "BETA\n".
"Kirim Notifikasi Selesai Pengajuan Bantuan Delegasi Lomba Mahasiswa:\n".
"Kepada Mahasiswa :".$data_email['nama_mahasiswa']."\n".
"Dengan Email : ".$data_email['email']."\n\n".
"URL : `".$data_email['url']."`";
//send telegram
Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
->get();
}
elseif($jenis==="dpl"){
//data email
$data_email = [
'subject' => $caseid.' - Pengajuan Bantuan Delegasi Lomba',
'judul' => 'Pengajuan Bantuan Delegasi Lomba',
'jenis' => 'dpl',
'caseid' => $caseid,
'nama_mahasiswa' => $data->nama,
'nim_mahasiswa' => $data->nim,
'nama_kompetisi' => $data->nama_kompetisi,
'nama_penyelenggara' => $data->nama_penyelenggara,
'tanggal_mulai' => $data->tanggal_mulai,
'tanggal_berakhir' => $data->tanggal_berakhir,
'dosen_pembimbing' => $data->dosen_pembimbing,
'email_dosen_pembimbing' => $data->email_dosen_pembimbing,
'url' => route('layanan-lomba.ettd',['url'=>$jenis,'caseid'=>$data->caseid]),
];
// send email
$konten = new pengajuanLombaMail($data_email);
Mail::to($data_email['email_dosen_pembimbing'])
->bcc('f@unej.ac.id')
->send($konten);
//send email dummy
// $konten = new pengajuanLombaMail($data_email);
// Mail::to('f@unej.ac.id')
// ->send($konten);
//telegram
$text = "BETA\n".
"Kirim ETTD Pengajuan Bantuan Delegasi Lomba Mahasiswa:\n".
"Kepada DPL :".$data_email['dosen_pembimbing']."\n".
"Dengan Email : ".$data_email['email_dosen_pembimbing']."\n\n".
"URL : `".$data_email['url']."`";
//send telegram
Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
->get();
}
elseif($jenis==="wd3"){
//data WD3
$dosen = Role::findByName('Wakil Dekan 3')->users->first();
//data email
$data_email = [
'subject' => $caseid.' - Pengajuan Bantuan Delegasi Lomba',
'judul' => 'Pengajuan Bantuan Delegasi Lomba',
'jenis' => 'wd3',
'caseid' => $caseid,
'nama_mahasiswa' => $data->nama,
'nim_mahasiswa' => $data->nim,
'nama_kompetisi' => $data->nama_kompetisi,
'nama_penyelenggara' => $data->nama_penyelenggara,
'tanggal_mulai' => $data->tanggal_mulai,
'tanggal_berakhir' => $data->tanggal_berakhir,
'dosen_pembimbing' => $dosen->nama_gelar,
'email_dosen_pembimbing' => $dosen->email,
'url' => route('layanan-lomba.ettd',['url'=>$jenis,'caseid'=>$data->caseid]),
];
// send email
$konten = new pengajuanLombaMail($data_email);
Mail::to($data_email['email_dosen_pembimbing'])
->bcc('f@unej.ac.id')
->send($konten);
//send email dummy
// $konten = new pengajuanLombaMail($data_email);
// Mail::to('f@unej.ac.id')
// ->send($konten);
//telegram
$text = "BETA\n".
"Kirim ETTD Pengajuan Bantuan Delegasi Lomba Mahasiswa:\n".
"Kepada Wakil Dekan 3 :".$data_email['dosen_pembimbing']."\n".
"Dengan Email : ".$data_email['email_dosen_pembimbing']."\n\n".
"URL : `".$data_email['url']."`";
//send telegram
Curl::to('https://api.telegram.org/bot6161516511:AAGZhf_o31HupIogjUbEgvwjukes-3P3zPo/sendMessage')
->withData( array( 'chat_id' => '-1001903808078', 'text' => $text, 'parse_mode' => 'Markdown') )
->get();
}
}
}