<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Filter\LogFilter;
use App\Http\Controllers\Filter\SupplierLogFilter;
use App\Http\Services\LogService;
use App\Model\ApplyExamineUserModel;
use App\Model\ApplyModel;
use App\Model\DingTalk;
use App\Model\LogModel;
use App\Model\SupplierLogModel;
use App\Model\UserInfoModel;
use Common\Model\RedisModel;
use Illuminate\Http\Request;
use DB;

class LogController extends Controller
{
    public function Entrance(Request $request, $id = 'index')
    {
        if ($request->path() == '/') {
            $path = 'web/index';
        } else {
            $path = $request->path();
        }

        $this->data = [
            'menus' => $request->menus,
            'header' => $request->user->header,
            'username' => $request->user->email,
            'user_email' => $request->user->email,
            'uri' => '/' . $path,
            'id' => $id
        ];
        return $this->$id($request);
    }

    public function __call($method, $parameters)
    {
        return $this->errhtml('Not', '没有这个页面');
    }

    public function SupplierLog($request)
    {
        $supplierId = $request->get('supplier_id', 1);
        $logService = new LogService();
        $logs = $logService->getLogs($supplierId);
        $updateLogs = $logService->getLogs($supplierId, LogModel::UPDATE_OPERATE);
        $viewLogs = $logService->getLogs($supplierId, LogModel::VIEW_OPERATE);

        $supplierLogFilter = new SupplierLogFilter();
        $query = $supplierLogFilter->listFilter(new SupplierLogModel());
        $supplierLogs = $query->where('supplier_id', $supplierId)->get();
        foreach ($supplierLogs as &$supplierLog) {
            $supplierLog['desc'] =  array_get(config('fixed.SupplierLogType'), $supplierLog['type']) . ' : ' . $supplierLog['desc'];
            $supplierLog['add_time'] = date('Y-m-d H:i:s', $supplierLog['add_time']);
        }
        unset($supplierLog);

        $this->data['logs'] = $logs;
        $this->data['supplierId'] = $supplierId;
        $this->data['updateLogs'] = $updateLogs;
        $this->data['viewLogs'] = $viewLogs;
        $this->data['supplierLogs'] = $supplierLogs;
        return $this->view('供应商日志');
    }

}