Tambah Function declare xlaku joybidder-temp

This commit is contained in:
BTMS2
2024-07-01 13:20:37 +08:00
parent 90074c65cc
commit be39254e52
14 changed files with 443 additions and 74 deletions
+61 -22
View File
@@ -20,6 +20,11 @@ use App\Models\FileMarhun;
use App\Services\MarhunPhotoService;
use App\Models\Pengesahan;
use App\Models\LelongBidMarhun;
use App\Models\LogUser;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use App\Jobs\WhatsappPengesahanPembida;
use App\Jobs\WhatsappTidakSahBayaran;
use PDF;
class AccountController extends Controller
@@ -277,6 +282,7 @@ class AccountController extends Controller
public function sahbayaronline(Request $request)
{
// dd($request->all());
$currentdate = Carbon::now();
$currentdate = $currentdate->toDateTimeString();
@@ -285,32 +291,65 @@ class AccountController extends Controller
$total_payment = 0;
$senaraisag = $request->senarai_sag;
$user_notelbimbit = $request->notel_pembida;
$user_namapembida = $request->nama_pembida;
if($request->jenis_button == 'tidaksah'){
//insert loguser
$loguser = new LogUser;
$loguser->user_id = $user->id;
$loguser->date = $currentdate;
$loguser->username = $user->username;
$loguser->nama_user = $user->name;
// $loguser->norujukan = $data['norujukan'];
$loguser->nota = $request->kodcaw.': '.$request->nama_pembida.' ('.$request->nokp_pembida.'): Bukti Bayaran Tidak Sah';
$loguser->save();
WhatsappTidakSahBayaran::dispatch($user_namapembida);
return redirect()->route('home')->with('failed','Pembayaran Tidak Sah');
}elseif($request->jenis_button == 'sah'){
foreach(json_decode($senaraisag) as $sag)
{
$payment = Payment::where('id', $sag->payment_id)->first();
$payment->disahkan_oleh = $user->id;
$payment->disahkan_pada = $currentdate;
$payment->save();
foreach(json_decode($senaraisag) as $sag)
{
$payment = Payment::where('id', $sag->payment_id)->first();
$payment->disahkan_oleh = $user->id;
$payment->disahkan_pada = $currentdate;
$payment->save();
$total_payment = $total_payment + $payment->total_payment;
$total_payment = $total_payment + $payment->total_payment;
$eachbid = LelongBid::where('id',$sag->lelongbid_id)->first();
$eachbid->status_payment = 1;
$eachbid->status_jual = 1;
$eachbid->status_semak = 1;
$eachbid->t_jual = $currentdate;
$eachbid->save();
$eachbid = LelongBid::where('id',$sag->lelongbid_id)->first();
$eachbid->status_payment = 1;
$eachbid->status_jual = 1;
$eachbid->status_semak = 1;
$eachbid->t_jual = $currentdate;
$eachbid->save();
$bidder = LelongBidder::where('lelongbid_id', $sag->lelongbid_id)
->where('payment_id', $sag->payment_id)
->where('user_id', $sag->user_id)
->first();
$bidder->status_payment = 1;
$bidder->update();
$bidder = LelongBidder::where('lelongbid_id', $sag->lelongbid_id)
->where('payment_id', $sag->payment_id)
->where('user_id', $sag->user_id)
->first();
$bidder->status_payment = 1;
$bidder->update();
}
WhatsappPengesahanPembida::dispatch($user_notelbimbit,$user_namapembida);
//insert loguser
$loguser = new LogUser;
$loguser->user_id = $user->id;
$loguser->date = $currentdate;
$loguser->username = $user->username;
$loguser->nama_user = $user->name;
// $loguser->norujukan = $data['norujukan'];
$loguser->nota = $request->kodcaw.': '.$request->nama_pembida.' ('.$request->nokp_pembida.'): Bukti Bayaran Telah Sah';
$loguser->save();
return redirect()->route('home')->with('success','Pembayaran Berjaya');
}
return redirect()->route('home')->with('success','Pembayaran Berjaya');
}
+32 -4
View File
@@ -1936,7 +1936,7 @@ class LelongController extends Controller
$currentdate = Carbon::now();
$currenttime = $currentdate->toTimeString();
$endtime = $currentdate->addHours(2);
// $endtime = $currentdate->addMinutes(1);
// $endtime = $currentdate->addMinutes(3);
$lelong = Lelong::where('id','=',$id)->first();
@@ -1954,8 +1954,8 @@ class LelongController extends Controller
$cawlel->save();
}
//run job tamat lelong
AutoTamatLelong::dispatch()->delay(Carbon::now()->addHours(2));
// AutoTamatLelong::dispatch()->delay(Carbon::now()->addMinutes(1));
AutoTamatLelong::dispatch($id)->delay(Carbon::now()->addHours(2));
// AutoTamatLelong::dispatch($id)->delay(Carbon::now()->addMinutes(3));
//insert loguser
@@ -3598,11 +3598,39 @@ class LelongController extends Controller
$datalelbid = LelongBid::where('caw_id','=',$caw->caw_id)->where('lelong_id',$id)->where('status_jual','=', 0)->get();
$suratcaw = $datalelbid->all();
foreach(array_chunk($suratcaw,100) as $data_chunk)
{
// dd($datalelbid);
foreach($data_chunk as $data1)
{
$biddersag = LelongBidder::where('lelongbid_id', $data1->id)
->where('status_bidder','=', 0)->first();
if($biddersag){
$savedatabidder = $biddersag->replicate();
$savedatabidder->setTable('lelongbidder_temp');
$savedatabidder->save();
//insert loguser
$loguser = new LogUser;
$loguser->user_id = $biddersag->user_id;
$loguser->date = $currentdate;
$loguser->nama_user = $biddersag->nama_bidder;
$loguser->norujukan = $data1->norujukan;
$loguser->nota = 'Pernah Bid Sebelum Ini Tapi Kalah';
$loguser->save();
//hapus lelongbidder yg pernah bid
$lelongbidder = LelongBidder::where('lelongbid_id', $data1->id)
->where('status_bidder', 0)
->delete();
}
}
foreach($data_chunk as $data)
{
{
$savedata = $data->replicate();
$savedata->setTable('lelongbid_xlaku');
$savedata->save();
@@ -519,6 +519,48 @@ class PembidaController extends Controller
$bida->save();
// dd($request->user_id);
//temp lelongbidder
$datalelbid = LelongBidder::where('lelongbid_id', $bida->id)
->where('user_id', $infos->user_id)->get();
$suratcaw = $datalelbid->all();
foreach(array_chunk($suratcaw,100) as $data_chunk)
{
// dd($datalelbid);
foreach($data_chunk as $data)
{
$savedata = $data->replicate();
$savedata->setTable('lelongbidder_temp');
$savedata->save();
//audit trail
$loguser = new LogUser;
$loguser->user_id = $user->id;
$loguser->date = $currentdate;
$loguser->username = $user->username;
$loguser->nama_user = $user->name;
$loguser->norujukan = $norujukan;
$loguser->nota = 'Isytihar Joy Bidder';
$loguser->save();
}
}
$datalelbidxlaku = LelongBid::where('norujukan', $bida->norujukan)->get();
$suratcawxlaku = $datalelbidxlaku->all();
foreach(array_chunk($suratcawxlaku,100) as $data_chunkxlaku)
{
// dd($datalelbid);
foreach($data_chunkxlaku as $dataxlaku)
{
$savedataxlaku = $dataxlaku->replicate();
$savedataxlaku->setTable('lelongbid_xlaku');
$savedataxlaku->save();
// dd($caw_lelsag);
$caw_lelsag = LelongBid::where('norujukan', $dataxlaku->norujukan)->first();
$caw_lelsag->status_payment = '0';
$caw_lelsag->xlaku = '1';
$caw_lelsag->update();
}
}
//hapus lelongbidder
$lelongbidder = LelongBidder::where('lelongbid_id', $bida->id)
->where('user_id', $infos->user_id)
+18 -2
View File
@@ -15,6 +15,8 @@ use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
use App\Models\LogUser;
use App\Models\User;
use App\Models\CawanganLelong;
use App\Models\Cart;
@@ -22,14 +24,16 @@ class AutoTamatLelong implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $id;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
public function __construct($id)
{
//
$this->id = $id;
}
/**
@@ -48,6 +52,18 @@ class AutoTamatLelong implements ShouldQueue
->where('tarikh_lelong',$tarikhlelong)
->update(['sts_lelong' => 2]);
$cawlelong = CawanganLelong::where('lelong_id','=',$this->id)->get();
foreach($cawlelong as $cawlel) //save old harga asas
{
// $cawlel->masatamat_lelong = $currenttime;
$cawlel->status_online = 0; //start lelong
$cawlel->save();
}
$hapuscart = Cart::truncate();
$getnoajk = User::where('user_type', 3)->get();
foreach($getnoajk as $notifikasi){
$mobile_no = '6'.$notifikasi->notelbimbit;
+61
View File
@@ -0,0 +1,61 @@
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Models\Cawangan;
use Carbon\Carbon;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Artisan;
class WhatsappPengesahanPembida implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $user_notelbimbit;
public $user_namapembida;
// protected $notisid;
// protected $cawid;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($user_notelbimbit,$user_namapembida)
{
$this->user_notelbimbit = $user_notelbimbit;
$this->user_namapembida = $user_namapembida;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$mobile_no = ltrim($this->user_notelbimbit, '+');
$message = 'AR-RAHN PKB: Terima Kasih '.$this->user_namapembida .', Pembayaran Anda Telah Disahkan, Sila Ke Cawangan Berkenaan Untuk Tuntutan Barang Bidaan Anda Hari Ini.';
if(config('app.env') != 'production'){
$mobile_no = config('app.admin_phone_number');
}
$response = Http::get(env('WABOT_API'), [
'number' => $mobile_no,
'type' => 'text',
'message' => $message,
'instance_id' => env('WABOT_INSTANCES_ID'),
'access_token' => env('WABOT_TOKEN_KEYS')
]);
Log::info("WABOT - Akaun Telah Sahkan Pembayaran: ".$this->user_namapembida .'' . $response);
}
}
+58
View File
@@ -0,0 +1,58 @@
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Models\LogUser;
use App\Models\User;
use Illuminate\Support\Facades\Http;
class WhatsappTidakSahBayaran implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $user_namapembida;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($user_namapembida)
{
$this->user_namapembida = $user_namapembida;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$getnoajk = User::where('user_type', 3)->get();
foreach($getnoajk as $notifikasi){
$mobile_no = '6'.$notifikasi->notelbimbit;
if(config('app.env') != 'production'){
$mobile_no = config('app.admin_phone_number');
}
$response = Http::get(env('WABOT_API'), [
'number' => $mobile_no,
'type' => 'text',
'message' => 'Bayaran Pembida yang bernama *'.$this->user_namapembida.'* Adalah *Tidak Sah*, Mohon Pihak AJK Lelong Untuk Buat Semakan, Terima Kasih.' ,
'instance_id' => env('WABOT_INSTANCES_ID'),
'access_token' => env('WABOT_TOKEN_KEYS')
]);
}
}
}
+40
View File
@@ -0,0 +1,40 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class LelongBidderTemp extends Model
{
use HasFactory;
protected $table = 'lelongbidder_temp';
protected $fillable = [
'user_id',
'lelongbid_id',
'nama_bidder',
'hargabida',
'notelbimbit',
'nilaimarhun',
'cajlelong',
'status_bidder',
'status_payment',
'masa_bidaan'
];
public function lelongbid() {
return $this->hasOne(LelongBid::class,'id', 'lelongbid_id');
}
public function payment()
{
return $this->hasOne(Payment::class, 'lelongbid_id', 'lelongbid_id')->where('remark', '<>', '');
}
public function scanjual() {
return $this->hasOne(ScanJual::class, 'lelongbid_id', 'lelongbid_id');
}
}