<?php

namespace App\Http\Controllers;

use App\Model\PaymentDaysModel;
use App\Model\Pcb\PcbOrderModel;
use App\Model\Pcb\PcbPublicModel;
use App\Model\Pcb\PcbPurchaseModel;
use App\Model\Pcb\PcbServerModel;
use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class ApiController extends Controller
{
    public function Entrance(Request $request, $id ){
        $this->$id($request, $id);
    }

    private function Export($errcode=0,$errmsg='成功',$data=''){
        if(is_array($errcode)){
            ErrorLog($errcode[0],$errcode[1]);
            echo json_encode(['errcode'=>$errcode[0],'errmsg'=>$errcode[1],'data'=>!empty($errcode[2])?$errcode[2]:'']);
            exit();
        }else{
            ErrorLog($errcode,$errmsg);
            echo json_encode(['errcode'=>$errcode,'errmsg'=>$errmsg,'data'=>$data]);
            exit();
        }
    }

    private function ExportLayui($errcode=0,$errmsg=0,$data=[],$count=0,$total=''){
        if(is_array($errcode)){
            ErrorLog($errcode[0],$errcode[1]);
            echo json_encode(['code'=>$errcode[0],'msg'=>$errcode[1],'data'=>$errcode[2],'count'=>$errcode[3],'total'=>!empty($errcode[4])?$errcode[4]:'']);
        }else{
            ErrorLog($errcode,$errmsg);
            echo json_encode(['code'=>$errcode,'msg'=>$errmsg,'data'=>$data,'count'=>$count,'total'=>$total]);
        }
        exit();
    }

    private function ApiPaymentDaysList(){
        $Model=new PaymentDaysModel();
        $this->ExportLayui($Model->ApiPaymentDaysList());
    }

    private function ApiAuthPaymentDays($request){
        $Model=new PaymentDaysModel();
        $this->Export($Model->ApiAuthPaymentDays($request->user->userId));
    }
    //pcb订单列表
    private function ApiPcbOrderList($request){
        $this->ExportLayui((new PcbOrderModel())->getList());
    }
    //pcb订单列表导出
    private function ApiPcbOrderListExport($request){
        ((new PcbOrderModel())->export());
    }
    //pcb客服点击确定发货
    private function ApiSendStock($request){
        $this->Export((new PcbPublicModel())->orderShipping($request->user->userId,$request->all()));
    }
    //pcb客服点击转采购
    private function ApiAddPurchase($request){
        echo (new PcbServerModel())->AddPurchase($request->user->userId,$request->input("order_id"));
    }
    //pcb客服审核订单,反馈给前台
    private function ApiAuditOrder($request){
        $this->Export((new PcbPublicModel())->auditOrder($request->user->userId,$request->input("order_id"),$request->input("order_sn"),$request->input("content")));
    }
    //pcb订单列表
    private function ApiPcbPurchaseList($request){
        $this->ExportLayui((new PcbPurchaseModel())->getList());
    }
    //pcb订单列表导出
    private function ApiPcbPurchaseListExport($request){
        ((new PcbPurchaseModel())->export());
    }
    //pcb后台点击采购确认
    private function ApiConfirmOrder($request){
       echo  (new PcbServerModel())->confirmOrder($request->user->userId,$request->input("purchase_id"),$request->input("status"));
    }
    //pcb后台点击采购确认
    private function ApiOfflinePay($request){
        echo  (new PcbServerModel())->offlinePay($request->user->userId,$request->input("order_id"),$request->input("pay_money"));
    }
    //pcb后台点击采购确认
    private function ApiSetOrderProduct($request){
        echo  (new PcbServerModel())->setOrdserProduct($request->user->userId,$request->input("purchase_id"));
    }
}