ProjectMenuController.php 3.4 KB
<?php

namespace App\Http\Controllers\Aside\User;

use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\User\ProjectMenuLogic;
use App\Http\Requests\Aside\User\ProjectMenuRequest;
use App\Http\Requests\Aside\User\ProjectRoleRequest;
use App\Models\User\ProjectMenu;
use App\Models\User\ProjectMenu as ProjectMenuModel;
use Illuminate\Http\Request;

/**
 * @remark :b端菜单管理
 * @name   :ProjectMenuController
 * @author :lyh
 * @time   :2023/6/17 16:23
 */
class ProjectMenuController extends BaseController
{

    /**
     * @remark :用户菜单列表
     * @name   :lists
     * @author :lyh
     * @method :post
     * @time   :2023/6/21 17:24
     */
    public function lists(){
        $menuModel = new ProjectMenuModel();
        if(isset($this->param['pid'])){
            $this->map['pid'] = $this->param['pid'];
        }
        //是否为权限菜单
        if(isset($this->param['is_role'])){
            $this->map['is_role'] = $this->param['is_role'];
        }
        $lists = $menuModel->lists($this->map,$this->page,$this->row,$this->order,['*']);
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @remark :添加菜单时获取菜单列表
     * @name   :list
     * @author :lyh
     * @method :post
     * @time   :2023/6/21 17:24
     */
    public function list(ProjectMenuLogic $projectMenuLogic){
        $lists = $projectMenuLogic->MenuList();
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @param ProjectMenuLogic $projectMenuLogic
     * @remark :详情
     * @name   :info
     * @author :lyh
     * @method :post
     * @time   :2023/6/21 17:23
     */
    public function info(ProjectMenuLogic $projectMenuLogic){
        $this->request->validate([
            'id'=>'required'
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $info = $projectMenuLogic->menu_info();
        $this->response('success',Code::SUCCESS,$info);
    }

    /**
     * @param ProjectMenuRequest $request
     * @param ProjectMenuLogic $projectMenuLogic
     * @remark :添加菜单
     * @name   :add
     * @author :lyh
     * @method :post
     * @time   :2023/6/21 17:23
     */
    public function add(ProjectMenuRequest $request,ProjectMenuLogic $projectMenuLogic){
        $request->validated();
        $projectMenuLogic->menu_add();
        $this->response('success');
    }

    /**
     * @param ProjectMenuRequest $request
     * @param ProjectMenuLogic $projectMenuLogic
     * @remark :编辑菜单
     * @name   :edit
     * @author :lyh
     * @method :post
     * @time   :2023/6/21 17:22
     */
    public function edit(ProjectMenuRequest $request,ProjectMenuLogic $projectMenuLogic){
        $request->validate([
            'id'=>'required'
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $projectMenuLogic->menu_edit();
        $this->response('success');
    }

    /**
     * @param ProjectMenuLogic $projectMenuLogic
     * @remark :删除菜单
     * @name   :del
     * @author :lyh
     * @method :post
     * @time   :2023/6/21 17:22
     */
    public function del(ProjectMenuLogic $projectMenuLogic){
        $this->request->validate([
            'id'=>['required','array'],
        ],[
            'id.required' => 'ID不能为空',
            'id.array' => 'ID为数组',
        ]);
        $projectMenuLogic->menu_del();
        $this->response('success');
    }
}