Update janapemenang
This commit is contained in:
@@ -51,6 +51,7 @@ use App\Models\TransaksiKeuntungan;
|
||||
use DateTime;
|
||||
// use Nexmo\Laravel\Facade\Nexmo;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class LelongController extends Controller
|
||||
{
|
||||
@@ -2363,6 +2364,168 @@ class LelongController extends Controller
|
||||
->with('success', 'Selesai menjana pemenang');
|
||||
}
|
||||
|
||||
public function janapemenangallcaw2($lelong_id)
|
||||
{
|
||||
|
||||
$current_default = new Carbon();
|
||||
$day = $current_default->day;
|
||||
$month = $current_default->month;
|
||||
$year = $current_default->format('y');
|
||||
$current = $current_default->toDateString();
|
||||
|
||||
$lelong = Lelong::find($lelong_id, ['id', 'cajlelong']);
|
||||
$lelong_bid_all = LelongBid::select('id')->where('lelong_id', '=', $lelong_id)->where('status_jual', '=', 0)->get();
|
||||
|
||||
$lelong_bid_all_pluck_id = $lelong_bid_all->pluck('id');
|
||||
$lelong_bid_all_key_by_id = $lelong_bid_all->keyBy('id');
|
||||
|
||||
$lelong_bidder_all = LelongBidder::whereIn('lelongbid_id', $lelong_bid_all_pluck_id)
|
||||
->select('id', 'lelongbid_id', 'hargabida', 'user_id')
|
||||
->where('masa_bidaan', 'LIKE', '%' . $current . '%')
|
||||
->orderBy('masa_bidaan', 'ASC')
|
||||
->get();
|
||||
|
||||
$lelong_bidder_group_by_lelong_bid_id = $lelong_bidder_all->groupBy('lelongbid_id');
|
||||
|
||||
$collection_lelong_bidder_menang = collect();
|
||||
foreach ($lelong_bidder_group_by_lelong_bid_id as $lelong_bidders) {
|
||||
$bidder_paling_tinggi = new LelongBidder();
|
||||
foreach ($lelong_bidders as $lelong_bidder) {
|
||||
if ($bidder_paling_tinggi->hargabida == null) {
|
||||
$bidder_paling_tinggi = $lelong_bidder;
|
||||
} else {
|
||||
if ($lelong_bidder->hargabida > $bidder_paling_tinggi->hargabida) {
|
||||
$bidder_paling_tinggi = $lelong_bidder;
|
||||
}
|
||||
}
|
||||
}
|
||||
$collection_lelong_bidder_menang->add($bidder_paling_tinggi);
|
||||
}
|
||||
|
||||
$cases_update_caj_lelong = '';
|
||||
$cases_update_baki_lelong = '';
|
||||
$cases_update_harga_jual = '';
|
||||
$cases_update_t_jual = '';
|
||||
$cases_update_no_pembeli = '';
|
||||
$cases_update_status_jual = '';
|
||||
$lelong_bid_array = [];
|
||||
|
||||
foreach ($collection_lelong_bidder_menang as $lel_bidder_menang) {
|
||||
array_push($lelong_bid_array, $lel_bidder_menang->lelongbid_id);
|
||||
if ($lelong_bid_all_key_by_id[$lel_bidder_menang->lelongbid_id]) {
|
||||
$lel_bid_true = $lelong_bid_all_key_by_id[$lel_bidder_menang->lelongbid_id];
|
||||
|
||||
$caj_lelong_bid = $lel_bidder_menang->hargabida * ($lelong->cajlelong / 100);
|
||||
$baki_lelong_bid = $lel_bidder_menang->hargabida - $lel_bid_true->pinjaman - bcdiv($lel_bid_true->bakiupah, 1, 1) - round($caj_lelong_bid);
|
||||
|
||||
$caj_lelong_bid = bcdiv($caj_lelong_bid, 1, 2);
|
||||
$baki_lelong_bid = bcdiv($baki_lelong_bid, 1, 2);
|
||||
|
||||
$cases_update_caj_lelong .= sprintf(' WHEN id = %d THEN %s ', $lel_bid_true->id, $caj_lelong_bid);
|
||||
$cases_update_baki_lelong .= sprintf(' WHEN id = %d THEN %s ', $lel_bid_true->id, $baki_lelong_bid);
|
||||
$cases_update_harga_jual .= sprintf(' WHEN id = %d THEN %s ', $lel_bid_true->id, $lel_bidder_menang->hargabida);
|
||||
$cases_update_t_jual .= sprintf(' WHEN id = %d THEN \'%s\' ', $lel_bid_true->id, $current);
|
||||
$cases_update_no_pembeli .= sprintf(' WHEN id = %d THEN %s ', $lel_bid_true->id, $lel_bidder_menang->user_id);
|
||||
$cases_update_status_jual .= sprintf(' WHEN id = %d THEN %s ', $lel_bid_true->id, 1);
|
||||
}
|
||||
}
|
||||
$build_query_update_caj_lelong = sprintf("CASE %s END", $cases_update_caj_lelong);
|
||||
$build_query_update_baki_lelong = sprintf("CASE %s END", $cases_update_baki_lelong);
|
||||
$build_query_update_harga_jual = sprintf("CASE %s END", $cases_update_harga_jual);
|
||||
$build_query_update_t_jual = sprintf("CASE %s END", $cases_update_t_jual);
|
||||
$build_query_update_no_pembeli = sprintf("CASE %s END", $cases_update_no_pembeli);
|
||||
$build_query_update_status_jual = sprintf("CASE %s END", $cases_update_status_jual);
|
||||
|
||||
LelongBid::query()->whereIn('id', $lelong_bid_array)->update(['cajlelong' => DB::raw($build_query_update_caj_lelong)]);
|
||||
LelongBid::query()->whereIn('id', $lelong_bid_array)->update(['baki' => DB::raw($build_query_update_baki_lelong)]);
|
||||
LelongBid::query()->whereIn('id', $lelong_bid_array)->update(['hargajual' => DB::raw($build_query_update_harga_jual)]);
|
||||
LelongBid::query()->whereIn('id', $lelong_bid_array)->update(['t_jual' => DB::raw($build_query_update_t_jual)]);
|
||||
LelongBid::query()->whereIn('id', $lelong_bid_array)->update(['nopembeli' => DB::raw($build_query_update_no_pembeli)]);
|
||||
LelongBid::query()->whereIn('id', $lelong_bid_array)->update(['status_jual' => DB::raw($build_query_update_status_jual)]);
|
||||
|
||||
$cases_update_status_bidder = '';
|
||||
$lelong_bidder_array = [];
|
||||
|
||||
foreach ($lelong_bidder_all as $lel_bidder) {
|
||||
array_push($lelong_bidder_array, $lel_bidder->id);
|
||||
if ($collection_lelong_bidder_menang->contains('id', $lel_bidder->id)) {
|
||||
$cases_update_status_bidder .= sprintf(' WHEN id = %d THEN %s ', $lel_bidder->id, 1);
|
||||
} else {
|
||||
$cases_update_status_bidder .= sprintf(' WHEN id = %d THEN %s ', $lel_bidder->id, 0);
|
||||
}
|
||||
}
|
||||
$build_query_update_status_bidder = sprintf("CASE %s END", $cases_update_status_bidder);
|
||||
|
||||
LelongBidder::query()->whereIn('id', $lelong_bidder_array)->update(['status_bidder' => DB::raw($build_query_update_status_bidder)]);
|
||||
|
||||
$users_bid = $collection_lelong_bidder_menang->pluck('user_id')->unique();
|
||||
$users = User::whereIn('id', $users_bid)->select('id', 'name', 'email', 'notelbimbit')->get()->keyBy('id');
|
||||
|
||||
$collection_pemenang = $collection_lelong_bidder_menang->groupBy('user_id');
|
||||
|
||||
$invoice_array = [];
|
||||
|
||||
$previous_siri = Invoice::select('id')->orderBy('id', 'desc')->first();
|
||||
|
||||
if ($previous_siri) {
|
||||
$nosiri = $previous_siri->id + 1;
|
||||
} else {
|
||||
$nosiri = 1;
|
||||
}
|
||||
|
||||
foreach ($collection_pemenang as $index => $pemenang) {
|
||||
$user_true = $users[$index];
|
||||
|
||||
$reference_no = 'iPKB' . $day . $month . $year . sprintf("%08d", $nosiri);
|
||||
|
||||
$invoice_to_be_inserted = [
|
||||
'user_id' => $user_true->id,
|
||||
'lelong_id' => $lelong_id,
|
||||
'invoice_no' => $reference_no,
|
||||
'total_invoice' => $pemenang->sum('hargabida'),
|
||||
'invoice_type' => 2,
|
||||
'created_at' => $current_default,
|
||||
'updated_at' => $current_default,
|
||||
];
|
||||
|
||||
array_push($invoice_array, $invoice_to_be_inserted);
|
||||
|
||||
$nosiri += 1;
|
||||
|
||||
$total_bid_win = $pemenang->sum('hargabida');
|
||||
$total_bid_win_converted = number_format($total_bid_win, 2, '.', ',');
|
||||
|
||||
Mail::to($user_true->email)->send(new Pemenang($user_true->name, $total_bid_win_converted));
|
||||
|
||||
$mobile_no = ltrim($user_true->notelbimbit, '+');
|
||||
$message = 'AR-RAHN PKB: Tahniah Anda Menang Bidaan Sebanyak RM' . $total_bid_win_converted . '. Sila Semak Melalui Sistem ArrahnBid. Terima Kasih.';
|
||||
|
||||
$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')
|
||||
]);
|
||||
|
||||
$res_json = $response->json();
|
||||
if ($res_json['status'] == "error") {
|
||||
$message = "WABOT: " . $res_json['message'] . " - " . $res_json['data'];
|
||||
Log::error($message);
|
||||
} else {
|
||||
$message = "WABOT: Success " . $res_json['data']['key']['remoteJid'] . " - " . $res_json['data']['message']['extendedTextMessage']['text'];
|
||||
Log::info($message);
|
||||
}
|
||||
}
|
||||
|
||||
Invoice::insert($invoice_array);
|
||||
|
||||
$lelong->sts_lelong = 3;
|
||||
$lelong->save();
|
||||
|
||||
return redirect()->route('lelong.senarailelong')->with('success', 'Selesai menjana pemenang');
|
||||
}
|
||||
|
||||
public function kemaskinidata($lelong_id)
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
@@ -20,13 +20,15 @@ class Pemenang extends Mailable
|
||||
*/
|
||||
|
||||
public $name;
|
||||
public $total_bid_win;
|
||||
// public $id;
|
||||
// public $lelong_id;
|
||||
// public $token;
|
||||
|
||||
public function __construct($name)
|
||||
public function __construct($name, $total_bid_win)
|
||||
{
|
||||
$this->name = $name;
|
||||
$this->total_bid_win = $total_bid_win;
|
||||
// $this->id = $id;
|
||||
// $this->lelong_id = $lelong_id;
|
||||
// $this->token = $token;
|
||||
@@ -40,6 +42,7 @@ class Pemenang extends Mailable
|
||||
{
|
||||
// return $this->view('view.name');
|
||||
$user['name'] = $this->name;
|
||||
$user['total_bid_win'] = $this->total_bid_win;
|
||||
// $user['id'] = $this->id;
|
||||
// $user['lelong_id'] = $this->lelong_id;
|
||||
// $user['token'] = $this->token;
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
@elseif ($lel['info']['sts_lelong'] == 2)
|
||||
<a class="janapemenangall btn btn-success" href="{{ route('lelong.janapemenangallcaw',$lel['info']['id']) }}" data-toggle="tooltip" data-placement="top" title="Jana Pemenang">Jana Pemenang <i class="fas fa-users-cog"></i></a>
|
||||
@else
|
||||
<a href="{{ route('lelong.listpemenang') }}" data-toggle="tooltip" data-placement="top" title="Senarai Pemenang"><i class="fas fa-trophy"></i></a>
|
||||
<a class="btn btn-secondary" href="{{ route('lelong.listpemenang') }}" data-toggle="tooltip" data-placement="top" title="Butiran Pemenang">Senarai Pemenang <i class="fas fa-trophy"></i></a>
|
||||
@endif
|
||||
</div>
|
||||
<div style="overflow-x: auto;">
|
||||
@@ -372,6 +372,14 @@
|
||||
btnClass: 'btn-success',
|
||||
action: function() {
|
||||
location.href = this.$target.attr('href');
|
||||
$.dialog({
|
||||
icon: 'fa fa-spinner fa-spin',
|
||||
title: 'Dalam Proses !',
|
||||
content: 'Halaman akan dikemaskini selepas proses selesai.',
|
||||
closeIcon: false,
|
||||
boxWidth: '500px',
|
||||
useBootstrap: false,
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
@@ -50,10 +50,10 @@
|
||||
<tr>
|
||||
<td style="padding:0 0 36px 0;color:#153643;">
|
||||
<p style="font-weight:bold;margin:0 0 20px 0;font-family:Arial,sans-serif;">
|
||||
Kepada {{ $user ? $user['name'] : '' }},</h1>
|
||||
Kepada {{ $user ? strtoupper($user['name']) : '' }},</h1>
|
||||
<p
|
||||
style="margin:0 0 12px 0;font-size:14px;line-height:24px;font-family:Arial,sans-serif;">
|
||||
Tahniah, Anda Telah Berjaya Dalam Bidaan Emas Hari Ini, Sila Semak Bidaan Anda Dalam Pautan ini.
|
||||
Tahniah, Anda Telah Berjaya Menang Bidaan Sebanyak RM{{ $user ? $user['total_bid_win'] : '' }}, Sila Semak Maklumat Dalam Pautan ini.
|
||||
</p>
|
||||
|
||||
<p style="text-align: center;">
|
||||
|
||||
+1
-1
@@ -248,7 +248,7 @@ Route::group(['prefix'=>'lelong'], function () {
|
||||
Route::get('/janapemenang/{id}',['as'=>'lelong.janapemenang','uses'=>'LelongController@janapemenang']);
|
||||
Route::get('/listcawangan',['as'=>'lelong.listcawangan','uses'=>'LelongController@listcawangan']);
|
||||
Route::get('/janapemenangbycaw/{lelong_id}/{cawid}',['as'=>'lelong.janapemenangbycaw','uses'=>'LelongController@janapemenangbycaw']);
|
||||
Route::get('/janapemenangallcaw/{lelong_id}',['as'=>'lelong.janapemenangallcaw','uses'=>'LelongController@janapemenangallcaw']);
|
||||
Route::get('/janapemenangallcaw/{lelong_id}',['as'=>'lelong.janapemenangallcaw','uses'=>'LelongController@janapemenangallcaw2']);
|
||||
Route::get('/listpemenang',['as'=>'lelong.listpemenang','uses'=>'LelongController@listpemenang']);
|
||||
Route::get('/senaraipemenang/{lelong_id}/{caw_code}',['as'=>'pemenang.senaraipemenang','uses'=>'LelongController@senaraipemenang']);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user