drag-create-api/app/admin/controller/Role/Role.php
2023-06-25 08:51:24 +08:00

199 lines
4.5 KiB
PHP

<?php
namespace app\admin\controller\Role;
use app\BaseController;
use app\common\model\Role\Role as ModelRole;
use app\Request;
class Role extends BaseController
{
/**
* 获取用户角色列表
*
* @param Request $request
* @return array
* @date 2022-03-02
* @example
* @author admin
* @since 1.0.0
*/
public function getUserRoleList(Request $request)
{
}
/**
* 获取角色列表
*
* @param Request $request
* @date 2022-02-25
* @example
* @author admin
* @since 1.0.0
*/
public function getRoleList(Request $request): array
{
$role_status = $request->param('role_status');
$role = $request->param('role');
$scope = explode(',', $request->param('scope', ''));
$con = [
// 'role_status' => 1
];
if ($role) {
$con['role_name'] = $role;
}
if ($role_status) {
$con['role_status'] = $role_status;
}
$query = ModelRole::scope($scope)->withSearch(['role_name'], $con)->where($con);
$select = self::pageWrapper($query)->field([
'role_name',
'role_status',
'role_guid',
])->append([
'role_status_text'
])->order([
'role_id' => 'desc'
])->select();
$count = $query->count();
return [
'code' => 0,
'data' => $select,
'count' => $count,
'msg' => 'ok'
];
}
/**
* 获取角色菜单
*
* @param Request $request
* @date 2022-03-08
* @example
* @author admin
* @since 1.0.0
*/
public function getRoleMenu(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'role_guid' => 'require'
]);
dump(ModelRole::getByRoleGuid($params['role_guid'])->menus);
return [
'code' => 0,
'msg' => 'ok',
// 'data' => $data
];
}
/**
* 编辑角色
*
* @param Request $request
* @date 2022-02-28
* @example
* @author admin
* @since 1.0.0
*/
public function editRole(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'role_guid' => 'require',
'role_name' => 'require',
]);
$role = ModelRole::where([
'role_guid' => $params['role_guid']
])->find();
if (!$role) {
throwErrorMsg("角色不存在", 1);
}
$role->save([
'role_name' => $params['role_name'],
]);
return [
'code' => 0,
'msg' => '编辑成功'
];
}
/**
* 添加角色
*
* @param Request $request
* @date 2022-02-28
* @example
* @author admin
* @since 1.0.0
*/
public function addRole(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'role_name' => 'require',
]);
ModelRole::create([
'role_name' => $params['role_name'],
]);
return [
'code' => 0,
'msg' => '添加成功'
];
}
/**
* 删除角色
*
* @param Request $request
* @date 2022-02-28
* @example
* @author admin
* @since 1.0.0
*/
public function deleteRole(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'role_guid' => 'require',
]);
$roles = ModelRole::where([
'role_guid' => ['in', $params['role_guid']]
])->select();
$roles->delete();
return [
'code' => 0,
'msg' => "删除成功"
];
}
/**
* 更新角色状态
*
* @param Request $request
* @date 2022-02-28
* @example
* @author admin
* @since 1.0.0
*/
public function updateRoleStatus(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'role_guid' => 'require',
'role_status' => 'require|in:1,2',
]);
$role_status = $params['role_status'];
$roles = ModelRole::where([
'role_guid' => explode(',', $params['role_guid'])
])->select();
$roles->update([
'role_status' => $role_status
]);
return [
'code' => 0,
'msg' => "更新成功"
];
}
}