Implement seeders instead of seeding using migrations, log whatasapp message
This commit is contained in:
@@ -104,19 +104,22 @@ class SettingController extends Controller
|
||||
// flushed the fail job in queueu
|
||||
Artisan::call('queue:flush');
|
||||
|
||||
$getClassNameString = function($className){
|
||||
$ola = explode("\\", $className);
|
||||
return end($ola);
|
||||
$getClassNameString = function ($className) {
|
||||
$name = explode("\\", $className);
|
||||
return end($name);
|
||||
};
|
||||
|
||||
DB::connection('mysql7')
|
||||
->table('jobs')
|
||||
->where('payload', 'like', '%' . $getClassNameString(WhatsappUnsoldCommodityNotification::class) . '%')
|
||||
->delete();
|
||||
$commodityNotificationClasses = [
|
||||
WhatsappUnsoldCommodityNotification::class,
|
||||
WhatsappUnsoldCommodityScanner::class,
|
||||
];
|
||||
|
||||
DB::connection('mysql7')
|
||||
->table('jobs')
|
||||
->where('payload', 'like', '%' . $getClassNameString(WhatsappUnsoldCommodityScanner::class) . '%')
|
||||
->delete();
|
||||
|
||||
foreach ($commodityNotificationClasses as $class) {
|
||||
DB::connection('mysql7')
|
||||
->table('jobs')
|
||||
->where('payload', 'like', '%' . $getClassNameString($class) . '%')
|
||||
->delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Jobs;
|
||||
|
||||
use App\BlastWasap;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use App\Setting;
|
||||
use Carbon\Carbon;
|
||||
@@ -64,20 +65,35 @@ class WhatsappUnsoldCommodityNotification extends Job
|
||||
return false;
|
||||
}
|
||||
|
||||
// if (!$isKomoditiStillAvailable) {
|
||||
// return false;
|
||||
// }
|
||||
if (!$isKomoditiStillAvailable) {
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ($phone_numbers as $phone_number) {
|
||||
Http::get(env('WABOT_API'), [
|
||||
$response = Http::get(env('WABOT_API'), [
|
||||
'number' => $phone_number,
|
||||
'type' => 'text',
|
||||
'message' => $message,
|
||||
'instance_id' => env('WABOT_INSTANCES_ID'),
|
||||
'access_token' => env('WABOT_TOKEN_KEYS')
|
||||
]);
|
||||
|
||||
|
||||
//insert log blast wasap
|
||||
$logblastwasap = new BlastWasap();
|
||||
$logblastwasap->kodcaw = 'OPERASI';
|
||||
$logblastwasap->notelefon = $phone_number;
|
||||
$logblastwasap->norujukan = 'Notifikasi Komoditi Tidak Terjual';
|
||||
$logblastwasap->status = $response;
|
||||
$logblastwasap->created_at = Carbon::now();
|
||||
$logblastwasap->updated_at = Carbon::now();
|
||||
$logblastwasap->save();
|
||||
|
||||
Log::info("WABOT - Notifikasi Komoditi Tidak Terjual".$response);
|
||||
}
|
||||
|
||||
|
||||
|
||||
dispatch((new WhatsappUnsoldCommodityNotification($this->message))->delay(Carbon::now()->addMinutes(5)));
|
||||
|
||||
}
|
||||
|
||||
@@ -21,6 +21,10 @@ class CreateSettingsTable extends Migration
|
||||
$table->text('description')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
|
||||
// Call the seeder
|
||||
(new UnsoldCommodityNotificationSettingSeeders())->run();
|
||||
(new UnsoldCommodityNotificationPICSeeders())->run();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
use App\Setting;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class UnsoldCommodityNotificationPICSeeders extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
$data_pic = [
|
||||
'pic_sunday' => [
|
||||
[
|
||||
'id' => 366, // nurasiah@pkb.net.my
|
||||
'no_telefon' => '0123456789',
|
||||
]
|
||||
],
|
||||
'pic_monday' => [
|
||||
[
|
||||
'id' => 343, // syada@pkb.net.my
|
||||
'no_telefon' => '0139403344',
|
||||
],
|
||||
[
|
||||
'id' => 54, // shahmin@pkb.net.my
|
||||
'no_telefon' => '0196438873',
|
||||
]
|
||||
],
|
||||
'pic_tuesday' => [
|
||||
[
|
||||
'id' => 55, // manita@pkb.net.my
|
||||
'no_telefon' => '0179545432',
|
||||
]
|
||||
],
|
||||
'pic_wednesday' => [
|
||||
[
|
||||
'id' => 52, // izzudin@pkb.net.my
|
||||
'no_telefon' => '0199011095',
|
||||
]
|
||||
],
|
||||
'pic_thursday' => [
|
||||
[
|
||||
'id' => 53, // norosmini@pkb.net.my
|
||||
'no_telefon' => '0129493588',
|
||||
],
|
||||
[
|
||||
'id' => 56, // rozarina@pkb.net.my
|
||||
'no_telefon' => '0129616201',
|
||||
],
|
||||
],
|
||||
'pic_friday' => [[]],
|
||||
'pic_saturday' => [[]],
|
||||
];
|
||||
|
||||
$transformed_data = array_map(function($pic){
|
||||
return json_encode($pic);
|
||||
}, $data_pic);
|
||||
|
||||
$outputs = array_combine(array_keys($data_pic), $transformed_data);
|
||||
|
||||
foreach ($outputs as $key => $data) {
|
||||
Setting::where('group', 'unsold_commodity_notifications')
|
||||
->where('key', $key)
|
||||
->update(['value' => $data]);
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-17
@@ -1,22 +1,21 @@
|
||||
<?php
|
||||
|
||||
use App\Setting;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class AddUnsoldCommoditiesSettings extends Migration
|
||||
class UnsoldCommodityNotificationSettingSeeders extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
public function run()
|
||||
{
|
||||
$data = [
|
||||
[
|
||||
'key' => 'status',
|
||||
'value' => 'true',
|
||||
'value' => '1',
|
||||
'group' => 'unsold_commodity_notifications',
|
||||
'description' => 'Turn on or turn off notification for unsold commodity notifications',
|
||||
],
|
||||
@@ -83,18 +82,8 @@ class AddUnsoldCommoditiesSettings extends Migration
|
||||
|
||||
];
|
||||
|
||||
array_walk($data, function($setting){
|
||||
array_walk($data, function ($setting) {
|
||||
Setting::create($setting);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('settings');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user