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/AtualizaProdutosTiny.php
<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Modules\ProdutoErp\Models\ProdutoErp;
use App\Modules\Empresa\Models\Empresa;
use App\Modules\PedidoEntrega\Models\PedidoEntrega;
use App\Services\ErpService;
use App\Services\GeralService;

use Illuminate\Support\Facades\Log;

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

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Sincronização Automática dos Produtos Tiny';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $produtosPorVez = 20;
        $empresas       = GeralService::buscarEmpresasIntegracao();
        $message        = "Registros sincronizados com sucesso!";
        
        foreach ($empresas as $empresa) {
            $query         = ProdutoErp::where('id_tiny', '=', NULL)->where('log_tiny', '=', NULL);
            $query         = $query->where('produto_id', '>', 4274)->where('empresa_id', '=', $empresa->id);
            $query         = $query->whereRaw('EXISTS (SELECT 1 FROM produto WHERE produto.id = produto_erp.produto_id AND produto.sincronizar_tiny = 1)');
            $listaProdutos = $query->limit($produtosPorVez)->get();
            if(count($listaProdutos) > 0){
                $sync = ErpService::sincronizarProdutos($listaProdutos, $empresa->id);
                if($sync->status == false){
                    $message = $sync;
                }
            }
        }

        if(is_array($message) || is_object($message)){
            Log::info('AtualizaProdutosTiny: ' . json_encode($message));
        }else{
            printf($message);
            printf("\n");
        }

        $this->atualizaPedidosEntrega();

    }

    public function atualizaPedidosEntrega(){

        $pedidosPorVez = 20;
        $Pedidos       = PedidoEntrega::where('disponibilidade', 1)->whereRaw('id_nota_fiscal_erp IS NOT NULL AND peso_nota_fiscal_erp IS NULL AND empresa_id IS NOT NULL AND log_nota IS NULL')->whereYear('data_solicitacao', '>=', 2020)->orderBy('id', 'DESC')->limit($pedidosPorVez)->get();

        foreach ($Pedidos as $pedido) {
            $resultado = GeralService::obterNotaFiscalPedido($pedido);
            if(isset($resultado['status']) && $resultado['status'] == false){
                $pedido->log_nota = json_encode($resultado['message']);
                $pedido->save();
            }
        }

        return true;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit