- 新增角色菜单关联模型、控制器、请求验证和业务逻辑 - 新增用户角色关联模型、控制器、请求验证和业务逻辑 - 更新系统角色模型,增加与用户和菜单的关联 - 更新用户模型,增加与角色的关联和相关方法 - 在路由文件中添加新功能的路由定义
106 lines
2.6 KiB
PHP
106 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin\System;
|
|
|
|
use App\Http\Controllers\BaseController;
|
|
use App\Http\Requests\Admin\System\SystemMenuRequest;
|
|
use App\Services\System\SystemMenuService;
|
|
use Illuminate\Http\JsonResponse;
|
|
|
|
/**
|
|
* 系统菜单控制器
|
|
*/
|
|
class SystemMenuController extends BaseController
|
|
{
|
|
public function __construct(
|
|
private SystemMenuService $systemMenuService
|
|
) {}
|
|
|
|
/**
|
|
* 获取系统菜单列表
|
|
*/
|
|
public function list(SystemMenuRequest $request): JsonResponse
|
|
{
|
|
$params = $request->validated();
|
|
$result = $this->systemMenuService->getList($params);
|
|
|
|
return $this->SuccessPage($result->items(), $result->total());
|
|
}
|
|
|
|
/**
|
|
* 获取简单列表
|
|
*/
|
|
public function simpleList(): JsonResponse
|
|
{
|
|
$result = $this->systemMenuService->getSimpleList();
|
|
return $this->Success($result);
|
|
}
|
|
|
|
/**
|
|
* 获取树形菜单
|
|
*/
|
|
public function tree(): JsonResponse
|
|
{
|
|
$result = $this->systemMenuService->getMenuTree();
|
|
return $this->Success($result);
|
|
}
|
|
|
|
/**
|
|
* 获取父级菜单列表
|
|
*/
|
|
public function parentMenus(): JsonResponse
|
|
{
|
|
$result = $this->systemMenuService->getParentMenus();
|
|
return $this->Success($result);
|
|
}
|
|
|
|
/**
|
|
* 获取系统菜单详情
|
|
*/
|
|
public function detail(SystemMenuRequest $request): JsonResponse
|
|
{
|
|
$params = $request->validated();
|
|
$result = $this->systemMenuService->detail($params['id']);
|
|
return $this->Success($result);
|
|
}
|
|
|
|
/**
|
|
* 创建系统菜单
|
|
*/
|
|
public function create(SystemMenuRequest $request): JsonResponse
|
|
{
|
|
$data = $request->validated();
|
|
$result = $this->systemMenuService->create($data);
|
|
return $this->Success($result);
|
|
}
|
|
|
|
/**
|
|
* 更新系统菜单
|
|
*/
|
|
public function update(SystemMenuRequest $request): JsonResponse
|
|
{
|
|
$params = $request->validated();
|
|
$result = $this->systemMenuService->update($params['id'], $params);
|
|
return $this->Success($result);
|
|
}
|
|
|
|
/**
|
|
* 删除系统菜单
|
|
*/
|
|
public function delete(SystemMenuRequest $request): JsonResponse
|
|
{
|
|
$params = $request->validated();
|
|
$this->systemMenuService->delete($params['id']);
|
|
return $this->Success();
|
|
}
|
|
|
|
/**
|
|
* 批量删除系统菜单
|
|
*/
|
|
public function batchDelete(SystemMenuRequest $request): JsonResponse
|
|
{
|
|
$params = $request->validated();
|
|
$this->systemMenuService->batchDelete($params['ids']);
|
|
return $this->Success();
|
|
}
|
|
}
|