From 90074c65cce31804bff926783fae89820daa449d Mon Sep 17 00:00:00 2001 From: BTMS2 Date: Mon, 10 Jun 2024 15:38:57 +0800 Subject: [PATCH 1/4] tambah function auto tamat lelong selepas 2jam lelong --- app/Http/Controllers/HomeController.php | 4 +- app/Http/Controllers/LelongController.php | 19 +- app/Http/Controllers/PenggunaController.php | 23 +- app/Jobs/AutoTamatLelong.php | 83 +++++ app/Models/Lelong.php | 1 + database/seeders/RolesSeeder.php | 18 ++ resources/views/homeajk.blade.php | 16 + resources/views/homeoperasi.blade.php | 42 +-- resources/views/includes/sidebar.blade.php | 37 +++ resources/views/parameter/listajk.blade.php | 304 ++++++++++++++++++ .../views/pengurusanpengguna/index.blade.php | 11 + .../views/pengurusanpengguna/show.blade.php | 15 +- routes/web.php | 5 + 13 files changed, 552 insertions(+), 26 deletions(-) create mode 100644 app/Jobs/AutoTamatLelong.php create mode 100644 resources/views/homeajk.blade.php create mode 100644 resources/views/parameter/listajk.blade.php diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 2f80ec25..01052082 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -426,7 +426,9 @@ class HomeController extends Controller $user = Auth::user(); $dateTime = date('Y-m-d'); - if ($user->hasRole('callcenter')) { + if ($user->hasRole('ajk')) { + return view('homeajk'); + } else if ($user->hasRole('callcenter')) { return view('homecallcenter'); } else if ($user->hasRole('operasi-kpi')) { return view('homeoperasikpi'); diff --git a/app/Http/Controllers/LelongController.php b/app/Http/Controllers/LelongController.php index 95864f19..80c76755 100644 --- a/app/Http/Controllers/LelongController.php +++ b/app/Http/Controllers/LelongController.php @@ -54,6 +54,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use App\Jobs\HantarMail; use App\Jobs\WhatsappPemenang; +use App\Jobs\AutoTamatlelong; class LelongController extends Controller { @@ -1935,6 +1936,8 @@ class LelongController extends Controller $currentdate = Carbon::now(); $currenttime = $currentdate->toTimeString(); $endtime = $currentdate->addHours(2); + // $endtime = $currentdate->addMinutes(1); + $lelong = Lelong::where('id','=',$id)->first(); $lelong->masamula_lelong = $currenttime; @@ -1948,8 +1951,22 @@ class LelongController extends Controller $cawlel->masamula_lelong = $currenttime; $cawlel->masatamat_lelong = $endtime->toTimeString(); $cawlel->status_online = 1; //start lelong - $cawlel->save(); + $cawlel->save(); } + //run job tamat lelong + AutoTamatLelong::dispatch()->delay(Carbon::now()->addHours(2)); + // AutoTamatLelong::dispatch()->delay(Carbon::now()->addMinutes(1)); + + + //insert loguser + $loguser = new LogUser; + // $loguser->user_id = $user->id; + $loguser->date = $currentdate; + $loguser->username = 'System'; + $loguser->nama_user = 'System'; + // $loguser->norujukan = $data['norujukan']; + $loguser->nota = 'Lelongan Mula'; + $loguser->save(); return redirect()->route('home'); } diff --git a/app/Http/Controllers/PenggunaController.php b/app/Http/Controllers/PenggunaController.php index a8af394b..eedb0ecb 100644 --- a/app/Http/Controllers/PenggunaController.php +++ b/app/Http/Controllers/PenggunaController.php @@ -112,12 +112,19 @@ class PenggunaController extends Controller $user->name = $request->name; $user->username = $request->username; $user->kodcaw = $request->caw; + $user->notelbimbit = $request->notelbimbit; $user->status = 'active'; $user->t_daftar = $currentdate; $user->email = $request->email; $user->email_verified_at = $currentdate; $user->password = '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'; //password - $user->user_type = 1; + if($arraytaraf[0] == 'ajk'){ + $user->user_type = 3; + } + else{ + $user->user_type = 1; + } + $user->save(); $user->syncRoles($arraytaraf); @@ -173,7 +180,7 @@ class PenggunaController extends Controller $user->email = $request->emel; $user->kodcaw = $request->caw; $user->username = $request->username; - // $user->notelbimbit = $request->notelbimbit; + $user->notelbimbit = $request->notelbimbit; // $user->nokp = $request->nokp; $user->updated_at = $currentdate; $user->status = $status; @@ -358,6 +365,18 @@ class PenggunaController extends Controller // return $pdf->download('Roles.pdf'); } } + + public function listajk() + { + $alluser = User::with('roles','cawangan')->whereHas("roles", function($q) { + $q->where("name",'=', 'ajk');}) + ->orderBy('name','ASC') + ->get(); + $allroles = Role::all(); + $allRolesPluck= $allroles->pluck('name'); + $caw = Cawangan::all(); + return view('parameter.listajk',compact('alluser','allroles','caw', 'allRolesPluck')); + } } \ No newline at end of file diff --git a/app/Jobs/AutoTamatLelong.php b/app/Jobs/AutoTamatLelong.php new file mode 100644 index 00000000..4a967ab8 --- /dev/null +++ b/app/Jobs/AutoTamatLelong.php @@ -0,0 +1,83 @@ +toTimeString(); + $tarikhlelong = $dt->toDateString(); + + event(new LelongNotify('stop')); + $updatestatus = Lelong::where('sts_lelong',1) + ->where('tarikh_lelong',$tarikhlelong) + ->update(['sts_lelong' => 2]); + + $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' => 'Lelongan Telah Tamat, Sila Jana Pemenang', + 'instance_id' => env('WABOT_INSTANCES_ID'), + 'access_token' => env('WABOT_TOKEN_KEYS') + ]); + } + + //insert loguser + $loguser = new LogUser; + // $loguser->user_id = $user->id; + $loguser->date = $dt; + $loguser->username = 'System'; + $loguser->nama_user = 'System'; + // $loguser->norujukan = $data['norujukan']; + $loguser->nota = 'Lelongan Tamat'; + $loguser->save(); + + Log::info("Lelongan Telah Tamat" . $response); + // } + + // event(new LelongNotify('stop')); + // } + } +} diff --git a/app/Models/Lelong.php b/app/Models/Lelong.php index 3dc88a4f..e9a16bc9 100644 --- a/app/Models/Lelong.php +++ b/app/Models/Lelong.php @@ -13,6 +13,7 @@ class Lelong extends Model protected $fillable = [ 'tarikh_lelong', + 'masamula_lelong', 'masatamat_lelong', 'kali', 'harga_emas_asas', diff --git a/database/seeders/RolesSeeder.php b/database/seeders/RolesSeeder.php index 58056523..0014c83b 100644 --- a/database/seeders/RolesSeeder.php +++ b/database/seeders/RolesSeeder.php @@ -196,6 +196,13 @@ class RolesSeeder extends Seeder 'name' => 'skoptugasan', 'description' => 'Skop Tugasan Cawangan Kegunaan E-KPI' ]); + + //ajklelong + Permission::create([ + 'name' => 'semakanlelong', + 'description' => 'Semakan Lelongan' + ]); + // create roles and assign existing permissions $role1 = Role::create(['name' => 'admin']); $role1->givePermissionTo('pengguna'); @@ -290,6 +297,9 @@ class RolesSeeder extends Seeder $role14->givePermissionTo('pengurusangambar'); $role14->givePermissionTo('pendaftaranbatch'); + $role15 = Role::create(['name' => 'ajk']); + $role15->givePermissionTo('semakanlelong'); + // $role3 = Role::create(['name' => 'Super-Admin']); // gets all permissions via Gate::before rule; see AuthServiceProvider @@ -410,5 +420,13 @@ class RolesSeeder extends Seeder 'user_type' => 1 ]); $user->assignRole($role14); + + $user = \App\Models\User::factory()->create([ + 'name' => 'Ahli Jawatan Kuasa', + 'username' => 'ajk', + 'email' => 'ajk@example.com', + 'user_type' => 3 + ]); + $user->assignRole($role15); } } diff --git a/resources/views/homeajk.blade.php b/resources/views/homeajk.blade.php new file mode 100644 index 00000000..facff10c --- /dev/null +++ b/resources/views/homeajk.blade.php @@ -0,0 +1,16 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Dashboard') }}
+
+ Ahli Jawatan Kuasa Page +
+
+
+
+
+@endsection \ No newline at end of file diff --git a/resources/views/homeoperasi.blade.php b/resources/views/homeoperasi.blade.php index 980e99a5..56abad66 100644 --- a/resources/views/homeoperasi.blade.php +++ b/resources/views/homeoperasi.blade.php @@ -88,7 +88,8 @@ @else @endif @elseif ($lel['info']['sts_lelong'] == 1) - Tamat Lelong Semua Cawangan + + Tamat Lelong Semua Cawangan @elseif ($lel['info']['sts_lelong'] == 2) Jana Pemenang @else @@ -124,7 +125,8 @@ @if($cawangan_detail['status_online'] == 0 && $cawangan_detail['belum_semak'] == 0) Mula Lelong @elseif($cawangan_detail['status_online'] == 1) - Tamat Lelong + Tamat Lelong + @endif @elseif($lel['info']['sts_lelong'] == 2) @endif @@ -347,24 +349,24 @@ } }); - $('a.stoplelongall').confirm({ - title: 'Tamat Lelong Semua Cawangan', - content: 'Adakah anda pasti?', - type: 'red', - typeAnimated: true, - buttons: { - Kembali: { - btnClass: 'btn-default', - action: function() {} - }, - Teruskan: { - btnClass: 'btn-danger', - action: function() { - location.href = this.$target.attr('href'); - } - }, - } - }); + // $('a.stoplelongall').confirm({ + // title: 'Tamat Lelong Semua Cawangan', + // content: 'Adakah anda pasti?', + // type: 'red', + // typeAnimated: true, + // buttons: { + // Kembali: { + // btnClass: 'btn-default', + // action: function() {} + // }, + // Teruskan: { + // btnClass: 'btn-danger', + // action: function() { + // location.href = this.$target.attr('href'); + // } + // }, + // } + // }); $('a.janapemenangall').confirm({ title: 'Jana Pemenang', diff --git a/resources/views/includes/sidebar.blade.php b/resources/views/includes/sidebar.blade.php index 2e700eb3..53615681 100644 --- a/resources/views/includes/sidebar.blade.php +++ b/resources/views/includes/sidebar.blade.php @@ -211,6 +211,16 @@ +
  • + + + +
  • @endhasrole @hasrole('callcenter')
  • @@ -1043,6 +1053,33 @@
  • @endhasrole + @hasrole('ajk') +
  • + + +
  • + @endhasrole + + + + +@endsection \ No newline at end of file diff --git a/resources/views/pengurusanpengguna/index.blade.php b/resources/views/pengurusanpengguna/index.blade.php index 141aac1d..e3ef3778 100644 --- a/resources/views/pengurusanpengguna/index.blade.php +++ b/resources/views/pengurusanpengguna/index.blade.php @@ -130,6 +130,13 @@ +
    + +
    + + +
    +

    Taraf Pengguna

    @@ -172,6 +179,10 @@ $(".checkbox").each(function() { $(this).not('#tarafaccount').prop("disabled", true); }); + }else if (taraf.id == "tarafajk") { + $(".checkbox").each(function() { + $(this).not('#tarafajk').prop("disabled", true); + }); } else if (taraf.id == "tarafcallcenter") { $(".checkbox").each(function() { $(this).not('#tarafcallcenter').prop("disabled", true); diff --git a/resources/views/pengurusanpengguna/show.blade.php b/resources/views/pengurusanpengguna/show.blade.php index 16a15186..5107dccc 100644 --- a/resources/views/pengurusanpengguna/show.blade.php +++ b/resources/views/pengurusanpengguna/show.blade.php @@ -40,6 +40,12 @@
    + @if($user->user_type == 3) +
    + + +
    + @endif

    Taraf Pengguna

    @@ -53,7 +59,7 @@ @endforeach
    - @if($user->user_type == 1) + @if($user->user_type == 1 | $user->user_type == 3)
    @@ -110,7 +116,12 @@ $(".checkbox").each(function() { $(this).not('#tarafaccount').prop("disabled", true); }); - } else if (taraf.id == "tarafcallcenter") { + }else if (taraf.id == "tarafajk") { + $(".checkbox").each(function() { + $(this).not('#tarafajk').prop("disabled", true); + }); + } + else if (taraf.id == "tarafcallcenter") { $(".checkbox").each(function() { $(this).not('#tarafcallcenter').prop("disabled", true); }); diff --git a/routes/web.php b/routes/web.php index e346b7b5..f71f1b1e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -727,6 +727,11 @@ Route::group(['middleware' => ['permission:parameter'],'prefix'=>'parameter'], f Route::get('/kemaskininotislelwabot',['as'=>'parameter.kemaskininotislelwabot','uses'=>'NotisController@kemaskininotislelwabot']); Route::post('/storepara2blast',['as'=>'parameter.storepara2blast','uses'=>'NotisController@storepara2blast']); Route::post('/storepara3blast',['as'=>'parameter.storepara3blast','uses'=>'NotisController@storepara3blast']); + + //blastnotifikasitamatlelongajk + Route::get('/notifikasitamatlelong',['as'=>'parameter.notifikasitamatlelong','uses'=>'PenggunaController@notifikasitamatlelong']); + Route::get('/listajk',['as'=>'parameter.listajk','uses'=>'PenggunaController@listajk']); + }); Route::group(['middleware' => ['permission:WTD'],'prefix'=>'wtd'], function () { From be39254e52c0ebdc95a3905ae7aff731cce0a232 Mon Sep 17 00:00:00 2001 From: BTMS2 Date: Mon, 1 Jul 2024 13:20:37 +0800 Subject: [PATCH 2/4] Tambah Function declare xlaku joybidder-temp --- app/Http/Controllers/AccountController.php | 83 ++++++++++++++----- app/Http/Controllers/LelongController.php | 36 +++++++- app/Http/Controllers/PembidaController.php | 42 ++++++++++ app/Jobs/AutoTamatLelong.php | 20 ++++- app/Jobs/WhatsappPengesahanPembida.php | 61 ++++++++++++++ app/Jobs/WhatsappTidakSahBayaran.php | 58 +++++++++++++ app/Models/LelongBidderTemp.php | 40 +++++++++ ...2021_12_14_041557_create_lelongs_table.php | 1 + ..._27_052051_add_para2_to_cawangan_table.php | 35 -------- ..._123008_create_lelongbidder_temp_table.php | 44 ++++++++++ resources/views/account/sahsagcdm.blade.php | 40 ++++++++- .../views/account/sahsagonline.blade.php | 35 +++++++- resources/views/homeoperasi.blade.php | 16 ++-- routes/web.php | 6 ++ 14 files changed, 443 insertions(+), 74 deletions(-) create mode 100644 app/Jobs/WhatsappPengesahanPembida.php create mode 100644 app/Jobs/WhatsappTidakSahBayaran.php create mode 100644 app/Models/LelongBidderTemp.php delete mode 100644 database/migrations/2022_02_27_052051_add_para2_to_cawangan_table.php create mode 100644 database/migrations/2024_06_11_123008_create_lelongbidder_temp_table.php diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php index 6b942503..fca6d2a6 100644 --- a/app/Http/Controllers/AccountController.php +++ b/app/Http/Controllers/AccountController.php @@ -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'); } diff --git a/app/Http/Controllers/LelongController.php b/app/Http/Controllers/LelongController.php index 80c76755..8d62fec4 100644 --- a/app/Http/Controllers/LelongController.php +++ b/app/Http/Controllers/LelongController.php @@ -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(); diff --git a/app/Http/Controllers/PembidaController.php b/app/Http/Controllers/PembidaController.php index ec31b174..597b7b45 100644 --- a/app/Http/Controllers/PembidaController.php +++ b/app/Http/Controllers/PembidaController.php @@ -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) diff --git a/app/Jobs/AutoTamatLelong.php b/app/Jobs/AutoTamatLelong.php index 4a967ab8..6818c1d7 100644 --- a/app/Jobs/AutoTamatLelong.php +++ b/app/Jobs/AutoTamatLelong.php @@ -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; diff --git a/app/Jobs/WhatsappPengesahanPembida.php b/app/Jobs/WhatsappPengesahanPembida.php new file mode 100644 index 00000000..45338a91 --- /dev/null +++ b/app/Jobs/WhatsappPengesahanPembida.php @@ -0,0 +1,61 @@ +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); + } +} diff --git a/app/Jobs/WhatsappTidakSahBayaran.php b/app/Jobs/WhatsappTidakSahBayaran.php new file mode 100644 index 00000000..3cf7b056 --- /dev/null +++ b/app/Jobs/WhatsappTidakSahBayaran.php @@ -0,0 +1,58 @@ +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') + ]); + } + } +} + diff --git a/app/Models/LelongBidderTemp.php b/app/Models/LelongBidderTemp.php new file mode 100644 index 00000000..df83b5cc --- /dev/null +++ b/app/Models/LelongBidderTemp.php @@ -0,0 +1,40 @@ +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'); + } + +} diff --git a/database/migrations/2021_12_14_041557_create_lelongs_table.php b/database/migrations/2021_12_14_041557_create_lelongs_table.php index bfb6efed..9246f49d 100644 --- a/database/migrations/2021_12_14_041557_create_lelongs_table.php +++ b/database/migrations/2021_12_14_041557_create_lelongs_table.php @@ -244,6 +244,7 @@ class CreateLelongsTable extends Migration $table->string('mora_upah'); $table->integer('fasa')->default(0); $table->integer('opencash')->default(0); + $table->integer('xlaku')->default(0); $table->timestamps(); // $table->foreign('caw_id') diff --git a/database/migrations/2022_02_27_052051_add_para2_to_cawangan_table.php b/database/migrations/2022_02_27_052051_add_para2_to_cawangan_table.php deleted file mode 100644 index 24621f04..00000000 --- a/database/migrations/2022_02_27_052051_add_para2_to_cawangan_table.php +++ /dev/null @@ -1,35 +0,0 @@ -longText('para2')->nullable(); - $table->longText('para3')->nullable(); - }); - - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::table('cawangan', function (Blueprint $table) { - $table->dropColumn('para2') ; - $table->dropColumn('para3') ; - }); - } -} diff --git a/database/migrations/2024_06_11_123008_create_lelongbidder_temp_table.php b/database/migrations/2024_06_11_123008_create_lelongbidder_temp_table.php new file mode 100644 index 00000000..7bb56af3 --- /dev/null +++ b/database/migrations/2024_06_11_123008_create_lelongbidder_temp_table.php @@ -0,0 +1,44 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->unsigned(); + $table->unsignedBigInteger('lelongbid_id')->unsigned(); + $table->string('kodcaw')->nullable(); + $table->string('nama_bidder'); + $table->decimal('hargabida'); + $table->string('notelbimbit'); + $table->decimal('nilaimarhun'); + $table->decimal('cajlelong'); + $table->integer('status_bidder')->nullable(); //1 = win + $table->integer('payment_id')->nullable(); + $table->integer('status_payment')->nullable(); // 1=paid, 2=memerlukan pengesahan operasi (CDM) + $table->datetime('masa_bidaan'); + $table->timestamps(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('lelongbidder_temp'); + } +} diff --git a/resources/views/account/sahsagcdm.blade.php b/resources/views/account/sahsagcdm.blade.php index 1488ad73..b1c9ba15 100644 --- a/resources/views/account/sahsagcdm.blade.php +++ b/resources/views/account/sahsagcdm.blade.php @@ -40,6 +40,12 @@ + + + + + + {{-- @@ -127,7 +133,8 @@ {{-- @if($sag['checking_payment']) @else --}} - + + {{-- @endif --}} {{-- @endforeach --}} @@ -163,6 +170,7 @@