hyperf-view/app/System/Controller/CommonController.php

171 lines
5.1 KiB
PHP

<?php
declare(strict_types=1);
namespace App\System\Controller;
use App\System\Service\SystemDeptService;
use App\System\Service\SystemLoginLogService;
use App\System\Service\SystemNoticeService;
use App\System\Service\SystemOperLogService;
use App\System\Service\SystemPostService;
use App\System\Service\SystemRoleService;
use App\System\Service\SystemUserService;
use Hyperf\Di\Annotation\Inject;
use Hyperf\HttpServer\Annotation\Controller;
use Hyperf\HttpServer\Annotation\GetMapping;
use Hyperf\HttpServer\Annotation\PostMapping;
use Builder\Annotation\Auth;
use Builder\BaseController;
use Psr\Http\Message\ResponseInterface;
/**
* 公共方法控制器
* Class CommonController
* @package App\System\Controller
*/
#[Controller(prefix: "system/common"), Auth]
class CommonController extends BaseController
{
#[Inject]
protected SystemUserService $userService;
#[Inject]
protected SystemDeptService $deptService;
#[Inject]
protected SystemRoleService $roleService;
#[Inject]
protected SystemPostService $postService;
#[Inject]
protected SystemNoticeService $noticeService;
#[Inject]
protected SystemLoginLogService $loginLogService;
#[Inject]
protected SystemOperLogService $operLogService;
/**
* 返回模块信息及表前缀
* @return \Psr\Http\Message\ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[GetMapping("getModuleList")]
public function getModuleList(): \Psr\Http\Message\ResponseInterface
{
return $this->success($this->mine->getModuleInfo());
}
/**
* 获取用户列表
* @return ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[GetMapping("getUserList")]
public function getUserList(): ResponseInterface
{
return $this->success($this->userService->getPageList($this->request->all()));
}
/**
* 通过 id 列表获取用户基础信息
* @return ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[PostMapping("getUserInfoByIds")]
public function getUserInfoByIds(): ResponseInterface
{
return $this->success($this->userService->getUserInfoByIds((array) $this->request->input('ids', [])));
}
/**
* 获取部门树列表
* @return ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[GetMapping("getDeptTreeList")]
public function getDeptTreeList(): ResponseInterface
{
return $this->success($this->deptService->getSelectTree());
}
/**
* 获取角色列表
* @return ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[GetMapping("getRoleList")]
public function getRoleList(): ResponseInterface
{
return $this->success($this->roleService->getList());
}
/**
* 获取岗位列表
* @return ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[GetMapping("getPostList")]
public function getPostList(): ResponseInterface
{
return $this->success($this->postService->getList());
}
/**
* 获取公告列表
* @return ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[GetMapping("getNoticeList")]
public function getNoticeList(): ResponseInterface
{
return $this->success($this->noticeService->getPageList($this->request->all()));
}
/**
* 获取登录日志列表
* @return \Psr\Http\Message\ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[GetMapping("getLoginLogList")]
public function getLoginLogPageList(): \Psr\Http\Message\ResponseInterface
{
return $this->success($this->loginLogService->getPageList($this->request->all()));
}
/**
* 获取操作日志列表
* @return \Psr\Http\Message\ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[GetMapping("getOperationLogList")]
public function getOperLogPageList(): \Psr\Http\Message\ResponseInterface
{
return $this->success($this->operLogService->getPageList($this->request->all()));
}
/**
* 清除所有缓存
* @return ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
#[GetMapping("clearAllCache")]
public function clearAllCache(): ResponseInterface
{
$this->userService->clearCache((string) user()->getId());
return $this->success();
}
}