<?php

namespace App\Http\Controllers\V1;

use App\Repositories\StatisticsRepository;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Tymon\JWTAuth\Facades\JWTAuth;

class IndexController extends Controller
{
    public function __construct(StatisticsRepository $statisticsRepository)
    {
        $this->statisticsRepository = $statisticsRepository;
    }

    /**
     * 获取统计信息
     * @param Request $request
     */
    public function index(Request $request)
    {
       // $shopId = 1;
        $token =  JWTAuth::decode(JWTAuth::getToken());
        if($token['type'] == 2){
            $shopId = $token['shop']->shop_id;
        }
//        $user = Auth::user();
//        $shopId = $user->shop_id;
 //       $shopId = 1;
        $request = $request->all();
        $start = Carbon::parse(isset($request['start']) ? $request['start'] : Carbon::now())->startOfDay()->format('Y-m-d\TH:i:s\Z');
        $end = Carbon::parse(isset($request['end']) ? $request['end'] : Carbon::now())->endOfDay()->format('Y-m-d\TH:i:s\Z');
        $data['paid'] = $this->statisticsRepository->getOrderPayInfo($start, $end, $shopId);
        $data['dfh_order'] = $this->statisticsRepository->getDfhOrder($start, $end, $shopId);
        $data['finish_order'] = $this->statisticsRepository->getFinishOrder($start, $end, $shopId);
        $data['total_order'] = $this->statisticsRepository->getOrderNum($start, $end, $shopId);
        $data['refund_order'] = $this->statisticsRepository->getRefundOrderNum($start, $end, $shopId);
        $data['feedback_order'] = $this->statisticsRepository->getFeedBackOrderNum($start, $end, $shopId);
        return $data;
    }

    /**
     * 获取销售额
     * @param Request $request
     * @return array
     */
    public function sales(Request $request)
    {
//        $user = Auth::user();
//        $shopId = $user->shop_id;
        $shopId = 1;
        $request = $request->all();
        $start = Carbon::parse(isset($request['start']) ? $request['start'] : '-6 days')->startOfDay()->format('Y-m-d\TH:i:s\Z');
        $end = Carbon::parse(isset($request['end']) ? $request['end'] : Carbon::now())->endOfDay()->format('Y-m-d\TH:i:s\Z');
        return $this->statisticsRepository->getSaleMoney($start, $end, $shopId);
    }
}