Files
webstatement/app/Console/ProcessDailyMigration.php
Daeng Deni Mardaeni 701432a6e7 feat(webstatement): sesuaikan logika pemrosesan parameter migrasi harian
- Memperbarui pemrosesan parameter pada `ProcessDailyMigration`:
  - Mengubah logika pengiriman parameter `process_parameter` ke `MigrasiController`:
    - Sebelumnya mengirimkan parameter dalam bentuk array.
    - Sekarang parameter dikirimkan langsung tanpa pembungkusan array.
  - Memastikan parameter diterima dan diproses sesuai dengan perubahan pada controller.

- Memodifikasi fungsi `index` pada `MigrasiController`:
  - Menambahkan parameter opsional `$processParameter` pada fungsi.
  - Mengganti penggunaan `request('process_parameter')` dengan langsung memeriksa `$processParameter`.
  - Menghilangkan dependensi langsung terhadap input request untuk meningkatkan fleksibilitas pemrosesan.

- Tujuan pembaruan ini:
  - Menyederhanakan struktur parameter yang digunakan dalam pemrosesan migrasi harian.
  - Mengurangi gangguan yang mungkin terjadi akibat ketergantungan terhadap input langsung dari request.
  - Memastikan konsistensi dan kompatibilitas pengiriman parameter dari command ke controller.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-06-04 15:09:08 +07:00

52 lines
1.6 KiB
PHP

<?php
namespace Modules\Webstatement\Console;
use Exception;
use Illuminate\Console\Command;
use Modules\Webstatement\Http\Controllers\MigrasiController;
class ProcessDailyMigration extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'webstatement:process-daily-migration
{--process_parameter= : To process migration parameter true/false}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Process data migration for the previous day\'s period';
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
$processParameter = $this->option('process_parameter');
$this->info('Starting daily data migration process...');
$this->info('Process Parameter: ' . ($processParameter ?? 'False'));
try {
$controller = app(MigrasiController::class);
$response = $controller->index($processParameter);
$responseData = json_decode($response->getContent(), true);
$this->info($responseData['message'] ?? 'Process completed');
return Command::SUCCESS;
} catch (Exception $e) {
$this->error('Error processing daily migration: ' . $e->getMessage());
return Command::FAILURE;
}
}
}