DeptController.php 1.6 KB
<?php

namespace App\Http\Controllers\Bside\User;

use App\Enums\Common\Code;
use App\Helper\Arr;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\User\DeptLogic;
use App\Http\Requests\Bside\User\DeptRequest;
use App\Rules\Ids;
use Illuminate\Http\Request;

/**
 * Class DeptController
 * @package App\Http\Controllers\Bside
 * @author zbj
 * @date 2023/4/18
 */
class DeptController extends BaseController
{

    public function index(DeptLogic $logic)
    {
        $map = [];
        if(!empty($this->param['search'])){
            $map[] = ['title', 'like', "%{$this->param['search']}%"];
        }
        $sort = ['id' => 'desc'];
        $data = $logic->getList($map, $sort, ['id', 'pid', 'title'],0);
        $this->response('success',Code::SUCCESS,Arr::listToTree($data));
    }

    public function info(Request $request, DeptLogic $logic){
        $request->validate([
            'id'=>'required'
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $data = $logic->getInfo($this->param['id']);
        $this->response('success',Code::SUCCESS,Arr::twoKeepKeys($data, ['id', 'pid', 'title', 'manager_uids', 'remark']));
    }

    public function save(DeptRequest $request, DeptLogic $logic)
    {
        $data = $logic->save($this->param);
        $this->response('success',Code::SUCCESS,$data);
    }

    public function delete(DeptLogic $logic)
    {
        $this->request->validate([
            'ids'=>['required', new Ids()]
        ],[
            'ids.required' => 'ID不能为空'
        ]);

        $data = $logic->delete($this->param['ids']);
        $this->response('success',Code::SUCCESS,$data);
    }
}