<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Transformers\SupplierLogTransformer;
use App\Model\LogModel;
use App\Model\SupplierLogModel;
use Illuminate\Http\Request;

//通用API,比如获取品牌列表,分类列表等
class SupplierLogApiController extends Controller
{
    public function Entrance(Request $request, $id)
    {
        $this->$id($request, $id);
    }

    //获取供应商信息变更记录
    public function GetSupplierLogList($request)
    {
        $supplierId = $request->get('supplier_id');
        $limit = $request->get('limit', 10);
        $model = new SupplierLogModel();
        $list = $model->where('supplier_id', $supplierId)->orderBy('id', 'desc')->paginate($limit)->toArray();
        $transformer = new SupplierLogTransformer();
        $list['data'] = $transformer->transformList($list['data']);
        $this->response(0, 'ok', $list['data'], $list['total']);
    }

    //添加
    public function AddSupplierLog($request)
    {
        $data = $request->only([
            'supplier_id',
            'type',
            'desc'
        ]);
        if (empty($data['type']) || empty($data['desc'])) {
            $this->response(-1, '类型或者描述都不能为空');
        }
        if (strlen($data['desc']) > 500) {
            $this->response(-1, '描述不能超过500个字');
        }
        $data['admin_id'] = $request->user->userId;
        $data['admin_name'] = $request->user->name;
        $data['add_time'] = time();
        $model = new SupplierLogModel();
        $result = $model->insert($data);
        if ($result) {
            //还要添加操作记录
            $logModel = new LogModel();
            $data = [
                'action' => '添加信息记录',
                'content' => $data['desc'],
                'add_time' => time(),
                'admin_name' => $request->user->name,
                'admin_id' => $request->user->userId,
            ];
            $logModel->insert($data);
            $this->response(0, '添加成功');
        }
        $this->response(-1, '添加失败', $result);
    }

    //删除
    public function DeleteSupplierLog($request)
    {
        $logId = $request->get('id');
        $model = new SupplierLogModel();
        $result = $model->where('id', $logId)->delete();
        if ($result) {
            $this->response(0, '删除成功');
        }
        $this->response(-1, '删除失败', $result);
    }
}