ProjectRoleController.php 3.3 KB
<?php

namespace App\Http\Controllers\Bside;

use App\Enums\Common\Code;
use App\Http\Logic\Bside\RoleLogic;
use App\Http\Requests\Bside\ProjectRoleRequest;
use App\Models\ProjectRole as ProjectRoleModel;
use App\Models\User as UserModel;
use Illuminate\Http\Request;

class ProjectRoleController extends BaseController
{
    /**
     * @name :用户角色列表()
     * @return json
     * @author :liyuhang
     * @method
     */
    public function lists(){
        //TODO::根据当前登录用户返回
        $projectRoleModel = new ProjectRoleModel();
        $this->map['status'] = 0;
        $this->map['project_id'] = $this->user['project_id'];
        //获取当前登录用户自己的菜单栏
        $lists = $projectRoleModel->lists($this->map,$this->page,$this->row,$this->order);
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @name :根据角色获取会员列表
     * @return void
     * @author :liyuhang
     * @method
     */
    public function get_user_list(){
        $userModel = new UserModel();
        $list = $userModel->list(['role_id'=>$this->param['id']],'id',['id','name','mobile']);
        $this->response('success',Code::SUCCESS,$list);
    }
    /**
     * @name :详情
     * @return json
     * @author :liyuhang
     * @method
     */
    public function info(Request $request,RoleLogic $roleLogic){
        $request->validate([
            'id'=>['required'],
        ],[
            'id.required' => 'ID不能为空',
        ]);
        $info = $roleLogic->role_info();
        $this->response('success',Code::SUCCESS,$info);
    }
    /**
     * @name :添加/编辑角色时获取菜单列表
     * @return void
     * @author :liyuhang
     * @method
     */
    public function get_role_menu(RoleLogic $roleLogic){
        $menu = $roleLogic->role_get_menu();
        $this->response('当前用户菜单列表',Code::SUCCESS,$menu);
    }
    /**
     * @name :添加角色
     * @return void
     * @author :liyuhang
     * @method
     */
    public function add(ProjectRoleRequest $request,RoleLogic $roleLogic){
        $request->validated();
        $roleLogic->role_add();
        $this->response('添加成功');
    }

    /**
     * @name :编辑角色
     * @return void
     * @author :liyuhang
     * @method
     */
    public function edit(ProjectRoleRequest $request,RoleLogic $roleLogic){
        $request->validate([
            'id'=>['required']
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $roleLogic->role_edit();
        $this->response('编辑成功');
    }

    /**
     * @name :修改用户状态
     * @return void
     * @author :liyuhang
     * @method
     */
    public function status(Request $request,RoleLogic $roleLogic){
        $request->validate([
            'id'=>['required'],
        ],[
            'id.required' => 'ID不能为空',
        ]);
        $roleLogic->role_status();
        $this->response($this->param['status'] == 0 ? '启用成功' : '禁用成功');
    }

    /**
     * @name :删除角色
     * @return void
     * @author :liyuhang
     * @method
     */
    public function del(Request $request,RoleLogic $roleLogic){
        $request->validate([
            'id'=>['required']
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $roleLogic->role_del();
        $this->response('success');
    }
}