<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Services\SupplierExaminationService;
use App\Http\Transformers\SupplierLogTransformer;
use App\Http\Validators\SupplierExaminationValidator;
use App\Model\LogModel;
use App\Model\SupplierLogModel;
use Illuminate\Http\Request;

//供应商检测
class SupplierExaminationApiController extends Controller
{
    public function Entrance(Request $request, $id)
    {
        $this->$id($request, $id);
    }

    //获取供应商信息变更记录
    public function GetSupplierExaminationList($request)
    {
        $model = new SupplierExaminationService();
        $list = $model->getSupplierExaminationList($request);
        $this->response(0, 'ok', $list['data'], $list['total']);
    }

    //添加
    public function AddSupplierExamination($request)
    {
        $params = $request->only([
            'supplier_name',
            'examine_time',
            'purchase_name',
            'sku_name',
            'brand_name',
            'amount',
            'examine_amount',
            'unhealthy_amount',
            'unhealthy_content',
            'examine_result',
            'abnormal_level',
            'handle_way',
            'remark',
        ]);
        $validator = new SupplierExaminationValidator();
        $validateResult = $validator->checkSave($params);
        if ($validateResult) {
            $this->response(-1, $validateResult);
        }
        $result = (new SupplierExaminationService())->saveSupplierExamination($params);
        if ($result) {
            $this->response(0, '添加成功');
        }
        $this->response(-1, '添加失败', $result);
    }

    //修改
    //添加
    public function UpdateSupplierExamination($request)
    {
        $params = $request->only([
            'id',
            'supplier_name',
            'examine_time',
            'purchase_name',
            'sku_name',
            'brand_name',
            'amount',
            'examine_amount',
            'unhealthy_amount',
            'unhealthy_content',
            'examine_result',
            'abnormal_level',
            'handle_way',
            'remark',
        ]);
        $validator = new SupplierExaminationValidator();
        $validateResult = $validator->checkSave($params);
        if ($validateResult) {
            $this->response(-1, $validateResult);
        }
        $result = (new SupplierExaminationService())->saveSupplierExamination($params);
        if ($result) {
            $this->response(0, '修改成功');
        }
        $this->response(-1, '修改失败', $result);
    }

    //删除
    public function DeleteSupplierExaminations($request)
    {
        $ids = $request->get('ids');
        $ids = explode(',', trim($ids));
        if (empty($ids)) {
            $this->response(-1, '请选择需要删除的数据');
        }
        $result = (new SupplierExaminationService())->deleteSupplierExaminations($ids);
        if ($result) {
            $this->response(0, '删除成功');
        }
        $this->response(-1, '删除失败', $result);
    }
}