<?php

namespace catchAdmin\hydraulic\controller;

use catcher\base\CatchRequest as Request;
use catcher\CatchResponse;
use catcher\base\CatchController;
use catchAdmin\hydraulic\model\Wrench as wrenchModel;

class Wrench extends CatchController
{
    protected $wrenchModel;
    
    public function __construct(WrenchModel $wrenchModel)
    {
        $this->wrenchModel = $wrenchModel;
    }
    
    /**
     * 列表
     * @time 2022年05月06日 14:11
     * @param Request $request 
     */
    public function index(Request $request) : \think\Response
    {
        return CatchResponse::paginate($this->wrenchModel->getList());
    }
   
    /**
     * 获取扳手列表
     *
     * @return void
     */
    public function getWrenchList(Request $request): \think\Response
    {
        $list = $this->wrenchModel->select();
        return CatchResponse::success($list);
    }
    /**
     * 保存信息
     * @time 2022年05月06日 14:11
     * @param Request $request 
     */
    public function save(Request $request) : \think\Response
    {
        $data = $request->post();
        if(isset($data['out_date'])  && is_int($data['out_date'])){
            $data['out_date'] = date('Y-m-d',$data['out_date']);
        }
        if(isset($data['out_date']) && !$data['out_date']){
            $data['out_date'] = null;
        }
        return CatchResponse::success($this->wrenchModel->storeBy($data));
    }
    
    /**
     * 读取
     * @time 2022年05月06日 14:11
     * @param $id 
     */
    public function read($id) : \think\Response
    {
        return CatchResponse::success($this->wrenchModel->findBy($id));
    }
    
    /**
     * 更新
     * @time 2022年05月06日 14:11
     * @param Request $request 
     * @param $id
     */
    public function update(Request $request, $id) : \think\Response
    {
        $data = $request->post();
        if(isset($data['out_date']) && is_int($data['out_date'])){
            $data['out_date'] = date('Y-m-d',$data['out_date']);
        }
        if(isset($data['out_date']) && !$data['out_date']){
            $data['out_date'] = null;
        }
        return CatchResponse::success($this->wrenchModel->updateBy($id, $data));
    }
    
    /**
     * 删除
     * @time 2022年05月06日 14:11
     * @param $id
     */
    public function delete($id) : \think\Response
    {
        return CatchResponse::success($this->wrenchModel->deleteBy($id,true));
    }
}