<?php

namespace catchAdmin\hydraulic\controller;

use catcher\base\CatchRequest as Request;
use catcher\CatchResponse;
use catcher\base\CatchController;
use catchAdmin\hydraulic\model\Hydraulic as hydraulicModel;

class Hydraulic extends CatchController
{
    protected $hydraulicModel;
    
    public function __construct(HydraulicModel $hydraulicModel)
    {
        $this->hydraulicModel = $hydraulicModel;
    }
    
    /**
     * 列表
     * @time 2022年03月03日 14:28
     * @param Request $request 
     */
    public function index(Request $request) : \think\Response
    {
        return CatchResponse::paginate($this->hydraulicModel->getList());
    }
    
    /**
     * 保存信息
     * @time 2022年03月03日 14:28
     * @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']);
        }
  
        return CatchResponse::success($this->hydraulicModel->storeBy($data));
    }
    
    /**
     * 读取
     * @time 2022年03月03日 14:28
     * @param $id 
     */
    public function read($id) : \think\Response
    {
        return CatchResponse::success($this->hydraulicModel->findBy($id));
    }
    
    /**
     * 更新
     * @time 2022年03月03日 14:28
     * @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']);
        }
        return CatchResponse::success($this->hydraulicModel->updateBy($id, $data));
    }
    
    /**
     * 删除
     * @time 2022年03月03日 14:28
     * @param $id
     */
    public function delete($id) : \think\Response
    {
        return CatchResponse::success($this->hydraulicModel->deleteBy($id,true));
    }
}