ManageController.php 3.0 KB
<?php

namespace App\Http\Controllers\Aside\Manage;

use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Manage\ManageLogic;
use App\Http\Requests\Aside\Manage\ManageRequest;
use App\Models\Manage\MenuSpecial;
use App\Models\User\ProjectRole;
use App\Rules\Ids;
use Illuminate\Http\Request;

/**
 * 后台用户
 * Class ManageController
 * @package App\Http\Controllers\Aside
 * @author zbj
 * @date 2023/4/20
 */
class ManageController extends BaseController
{

    /**
     * @remark :列表
     * @name   :list
     * @author :lyh
     * @method :post
     * @time   :2023/8/28 10:04
     */
    public function list(Request $request, ManageLogic $logic)
    {
        $map = [];
        if(!empty($this->param['search'])){
            $map[] = ['name|mobile', 'like', "%{$this->param['search']}%"];
        }
        if(!empty($this->param['dept_id'])){
            $map[] = ['dept_id', $this->param['dept_id']];
        }
        if(!empty($this->param['gid'])){
            $map[] = ['gid', $this->param['gid']];
        }
        $list = $logic->getList($map,['sort' => 'desc'],['*'],$this->row);
        $this->response('success',Code::SUCCESS,$list);
    }

    /**
     * @remark :详情
     * @name   :info
     * @author :lyh
     * @method :post
     * @time   :2023/8/28 10:04
     */
    public function info(ManageLogic $logic){
        $this->request->validate([
            'id'=>'required'
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $data = $logic->getManagerInfo();
        //获取当前用户特殊模块权限
        $specialMenuModel = new MenuSpecial();
        $data['special'] = $specialMenuModel->list(['user_list'=>['like','%,'.$this->param['id'].',%']],'id',['id','name','remark']);
        $this->response('success',Code::SUCCESS,$data);
    }

    /**
     * @remark :保存
     * @name   :save
     * @author :lyh
     * @method :post
     * @time   :2023/8/28 10:04
     */
    public function save(ManageRequest $request, ManageLogic $logic){
        $request->validated();
        $logic->managerSave();
        $this->response('success');
    }

    /**
     * @remark :删除
     * @name   :delete
     * @author :lyh
     * @method :post
     * @time   :2023/8/28 16:11
     */
    public function delete(ManageLogic $logic){
        $this->request->validate([
            'ids'=>['required', new Ids()]
        ],[
            'ids.required' => 'ID不能为空'
        ]);
        $logic->delete($this->param['ids']);
        $this->response('success');
    }

    /**
     * @remark :排序
     * @name   :setSort
     * @author :lyh
     * @method :post
     * @time   :2023/8/10 16:40
     */
    public function setSort(ManageLogic $logic){
        $this->request->validate([
            'id'=>'required',
            'sort'=>'required',
        ],[
            'id.required' => 'ID不能为空',
            'sort.required' => 'sort不能为空',
        ]);
        $logic->setParamStatus();
        $this->response('success');
    }


}