Files
fdesk/app/admin/controller/RoleController.php
T
2025-07-11 14:52:16 +08:00

99 lines
3.0 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);
// 定义后处理器
$postProcessor = function($formattedData) {
if (isset($formattedData['created_at']))
$formattedData['created_at'] = date('Y-m-d H:i:s', $formattedData['created_at']);
if (isset($formattedData['updated_at']))
$formattedData['updated_at'] = date('Y-m-d H:i:s', $formattedData['updated_at']);
return $formattedData;
};
return $this->success($this->transformData($result, $postProcessor), '角色列表获取成功');
} catch (\Throwable $e) {
return $this->error($e->getMessage());
}
}
/**
* 获取角色详情
*/
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());
}
}
/**
* 增加角色
*/
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());
}
}
/**
* 修改角色
*/
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());
}
}
/**
* 删除角色
*/
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());
}
}
}