<?php

namespace App\Http\Controllers\Admins\Dashboard;

use App\Helpers\ResponseFormatter;
use App\Http\Controllers\Controller;
use App\Models\KelompokKategori;
use App\Models\KelompokKategoriPivot;
use App\Models\MenuTerlarisView;
use Illuminate\Http\Request;

class DounatController extends Controller
{
    public function getChartDounat()
    {
        $menuPaket = $this->menuPaket();
        $menuIrit = $this->menuIrit();

        return ResponseFormatter::success(['menuPaket' => $menuPaket, 'menuIrit' => $menuIrit]);
    }

    public function menuPaket()
    {
        // get menu terlaris where kelompok kategori id = 1
        $data = MenuTerlarisView::whereHas('kelompokKategoriPivot', function ($query) {
            $query->where('kelompok_kategori_id', 1);
        })->where([
            ['nama_produk', 'not like', '%paket irit%'],
            ['kode_produk', 'not regexp', '^[a-zA-Z0-9]{2}$'],
            ['kode_produk', 'not regexp', '^[a-zA-Z0-9]{4}$']
        ])->orderBy('jumlah_produk_terjual', 'desc')->limit(6)->get();

        return [
            'labels' => $data->pluck('nama_produk'),
            'data' => $data->pluck('jumlah_produk_terjual')
        ];
    }

    public function menuIrit()
    {
        // get menu terlaris where kelompok kategori id = 1
        $data = MenuTerlarisView::whereHas('kelompokKategoriPivot', function ($query) {
            $query->where([['kelompok_kategori_id', 2]]);
        })->where([
            ['nama_produk', 'like', '%paket irit%'],
            ['kode_produk', 'not regexp', '^[a-zA-Z0-9]{2}$']
        ])->orderBy('jumlah_produk_terjual', 'desc')->limit(6)->get();

        return [
            'labels' => $data->pluck('nama_produk'),
            'data' => $data->pluck('jumlah_produk_terjual')
        ];
    }
}