ProjectRoleController.php 3.2 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\ProjectRoleLogic;
use App\Http\Requests\Aside\User\ProjectRoleRequest;
use App\Models\Manage\Manage;
use App\Models\Project\Project;
use App\Models\User\ProjectRole as ProjectRoleModel;
use App\Models\User\User as UserModel;

/**
 * @remark :b端用户角色设置管理
 * @name   :ProjectRoleController
 * @author :lyh
 * @time   :2023/6/17 16:22
 */
class ProjectRoleController extends BaseController
{
    /**
     * @remark :用户角色列表
     * @name   :lists
     * @author :lyh
     * @method :post
     * @time   :2023/6/27 10:47
     */
    public function lists (){
        $roleModel = new ProjectRoleModel();
        $lists = $roleModel->lists($this->map,$this->page,$this->row,$this->order);
        if(!empty($lists['list'])){
            foreach ($lists['list'] as $k => $v){
                $userModel = new UserModel();
                $lists['list'][$k]['operator_name'] = $userModel->read(['id'=>$v['operator_id']],['name'])['name'];
                $lists['list'][$k]['project_name'] = (new Project())->read(['id'=>$v['project_id']],['title'])['title'];
            }
        }
        $this->response('success',Code::SUCCESS,$lists);
    }

    /**
     * @param ProjectRoleLogic $roleLogic
     * @remark :获取角色详情
     * @name   :info
     * @author :lyh
     * @method :post
     * @time   :2023/6/27 10:50
     */
    public function info(ProjectRoleLogic $roleLogic){
        $this->request->validate([
            'id'=>'required'
        ],[
            'id.required' => 'ID不能为空'
        ]);
        $roleLogic->role_info();
        $this->response('success');
    }

    /**
     * @param ProjectRoleLogic $roleLogic
     * @remark :添加角色时获取菜单列表
     * @name   :get_menu
     * @author :lyh
     * @method :post
     * @time   :2023/6/27 10:51
     */
    public function get_menu(ProjectRoleLogic $roleLogic){
        $list = $roleLogic->role_get_menu();
        $this->response('success',Code::SUCCESS,$list);
    }
    /**
     * @name :添加角色
     * @return void
     * @author :liyuhang
     * @method
     */
    public function add(ProjectRoleRequest $request,ProjectRoleLogic $roleLogic){
        $request->validated();
        //TODO::添加
        $roleLogic->role_add();
        $this->response('success');
    }

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

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