91 lines
2.7 KiB
PHP
91 lines
2.7 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace app\admin\controller;
|
||
|
|
|
||
|
|
use app\common\validate\RoleValidate;
|
||
|
|
use app\common\service\RoleService;
|
||
|
|
use support\Request;
|
||
|
|
|
||
|
|
class RoleController extends \app\common\controller\BaseController
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* 获取角色列表
|
||
|
|
*/
|
||
|
|
public function list(Request $request)
|
||
|
|
{
|
||
|
|
try {
|
||
|
|
$params = $request->all();
|
||
|
|
$result = (new RoleService())->getRoleList($params);
|
||
|
|
return $this->success($this->transformData($result), '角色列表获取成功');
|
||
|
|
} catch (\Throwable $e) {
|
||
|
|
return $this->error($e->getMessage(), 1, $e->getCode());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 获取角色详情
|
||
|
|
*/
|
||
|
|
public function detail(Request $request)
|
||
|
|
{
|
||
|
|
try {
|
||
|
|
$roleId = $request->get('role_id');
|
||
|
|
if (!$roleId) {
|
||
|
|
return $this->error('缺少角色ID', 422);
|
||
|
|
}
|
||
|
|
$result = (new RoleService())->getRoleDetail($roleId);
|
||
|
|
return $this->success($result, '角色详情获取成功');
|
||
|
|
} catch (\Throwable $e) {
|
||
|
|
return $this->error($e->getMessage(), 1, $e->getCode());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 增加角色
|
||
|
|
*/
|
||
|
|
public function create(Request $request)
|
||
|
|
{
|
||
|
|
try {
|
||
|
|
$data = $this->validate(new RoleValidate(), $request->post(), 'role_create');
|
||
|
|
$result = (new RoleService())->createRole($data);
|
||
|
|
return $this->success($result, '角色创建成功');
|
||
|
|
} catch (\think\exception\ValidateException $e) {
|
||
|
|
return $this->error($e->getError(), 422);
|
||
|
|
} catch (\Throwable $e) {
|
||
|
|
return $this->error($e->getMessage(), 1, $e->getCode());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 修改角色
|
||
|
|
*/
|
||
|
|
public function update(Request $request)
|
||
|
|
{
|
||
|
|
try {
|
||
|
|
$data = $this->validate(new RoleValidate(), $request->post(), 'role_update');
|
||
|
|
$result = (new RoleService())->updateRole($data);
|
||
|
|
return $this->success($result, '角色更新成功');
|
||
|
|
} catch (\think\exception\ValidateException $e) {
|
||
|
|
return $this->error($e->getError(), 422);
|
||
|
|
} catch (\Throwable $e) {
|
||
|
|
return $this->error($e->getMessage(), 1, $e->getCode());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 删除角色
|
||
|
|
*/
|
||
|
|
public function delete(Request $request)
|
||
|
|
{
|
||
|
|
try {
|
||
|
|
$roleId = $request->get('role_id');
|
||
|
|
if (!$roleId) {
|
||
|
|
return $this->error('缺少角色ID', 422);
|
||
|
|
}
|
||
|
|
(new RoleService())->deleteRole($roleId);
|
||
|
|
return $this->success([], '角色删除成功');
|
||
|
|
} catch (\Throwable $e) {
|
||
|
|
return $this->error($e->getMessage(), 1, $e->getCode());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|