From 39b5df9f0ac849c5f6be5f4ee508cb117dda4b49 Mon Sep 17 00:00:00 2001 From: ctexthuang Date: Wed, 30 Oct 2024 17:47:37 +0800 Subject: [PATCH] feat : config --- app/Controller/Admin/ConfigController.php | 26 ++++++ app/Controller/Admin/EmployeeController.php | 3 +- app/Model/Config.php | 73 ++++++++++++++++ app/Service/Admin/System/ConfigService.php | 83 +++++++++++++++++++ .../Admin/{ => User}/EmployeeService.php | 3 +- 5 files changed, 185 insertions(+), 3 deletions(-) create mode 100644 app/Controller/Admin/ConfigController.php create mode 100644 app/Model/Config.php create mode 100644 app/Service/Admin/System/ConfigService.php rename app/Service/Admin/{ => User}/EmployeeService.php (98%) diff --git a/app/Controller/Admin/ConfigController.php b/app/Controller/Admin/ConfigController.php new file mode 100644 index 0000000..cd5c7e7 --- /dev/null +++ b/app/Controller/Admin/ConfigController.php @@ -0,0 +1,26 @@ +getConfigModule(); + } + + public function getConfigForm() + { + return (new ConfigService)->getConfigForm(); + } + + public function updateConfig() + { + return (new ConfigService)->handle(); + } +} diff --git a/app/Controller/Admin/EmployeeController.php b/app/Controller/Admin/EmployeeController.php index 7a928c5..82deefd 100644 --- a/app/Controller/Admin/EmployeeController.php +++ b/app/Controller/Admin/EmployeeController.php @@ -6,13 +6,12 @@ namespace App\Controller\Admin; use App\Middleware\Admin\JwtAuthMiddleware; use App\Request\Admin\EmployeeRequest; -use App\Service\Admin\EmployeeService; +use App\Service\Admin\User\EmployeeService; use Exception; use Hyperf\HttpServer\Annotation\Controller; use Hyperf\HttpServer\Annotation\Middlewares; use Hyperf\HttpServer\Annotation\RequestMapping; use Hyperf\Validation\Annotation\Scene; -use Symfony\Component\HttpFoundation\JsonResponse; #[Controller(prefix: "admin/employee")] #[Middlewares([ diff --git a/app/Model/Config.php b/app/Model/Config.php new file mode 100644 index 0000000..54e55a1 --- /dev/null +++ b/app/Model/Config.php @@ -0,0 +1,73 @@ + 'integer', 'pid' => 'integer', 'status' => 'integer', 'input_type' => 'integer', 'sort' => 'integer']; + + const CREATED_AT = 'create_time'; + + const UPDATED_AT = 'update_time'; + + /** + * 获取 + * @return array + */ + public function getTopConfigModule(): array + { + $res = $this->where('pid', 0)->get(['id', 'name']); + + if (empty($res)) return []; + + return $res->toArray(); + } + + /** + * @param int $pid + * @return array + */ + public function getConfigByPid(int $pid): array + { + $res = $this + ->where('pid', $pid) + ->orderBy('sort','desc') + ->get(['id', 'pid', 'name', 'value','param','desc','input_type','sort','key']); + + if (empty($res)) return []; + + return $res->toArray(); + } +} diff --git a/app/Service/Admin/System/ConfigService.php b/app/Service/Admin/System/ConfigService.php new file mode 100644 index 0000000..44b9385 --- /dev/null +++ b/app/Service/Admin/System/ConfigService.php @@ -0,0 +1,83 @@ +request->input('key'); + $editValue = $this->request->input('value'); + + switch ($editKey) + { + case 'test': + default: + break; + } + + $res = (new Config)->where('key', $editKey)->update(['value' => $editValue]); + + if (!$res) throw new AdminException('配置更新失败'); + + return $this->return->success(); + } + + /** + * 获取配置模块 + * @return array + */ + public function getConfigModule(): array + { + $res = $this->configModel->getTopConfigModule(); + + return $this->return->success('success', ['list' => $res]); + } + + /** + * 获取数据 + * @return array + */ + public function getConfigForm(): array + { + $list = $this->configModel->getConfigByPid($this->request->input('pid')); + + foreach ($list as &$item) { + switch ($item['type']) { + case 2: + $data = explode('|', $item['value']); + $item['min'] = (int)$data[0]; + $item['max'] = (int)$data[1]; + break; + default: + break; + } + } + + return $this->return->success('success', ['list' => $list]); + } +} \ No newline at end of file diff --git a/app/Service/Admin/EmployeeService.php b/app/Service/Admin/User/EmployeeService.php similarity index 98% rename from app/Service/Admin/EmployeeService.php rename to app/Service/Admin/User/EmployeeService.php index 5334906..c512cae 100644 --- a/app/Service/Admin/EmployeeService.php +++ b/app/Service/Admin/User/EmployeeService.php @@ -8,13 +8,14 @@ declare(strict_types=1); -namespace App\Service\Admin; +namespace App\Service\Admin\User; use App\Constants\Admin\UserCode; use App\Exception\AdminException; use App\Extend\StringUtil; use App\Lib\Crypto\CryptoFactory; use App\Model\AdminUser; +use App\Service\Admin\BaseService; use Exception; use Hyperf\Di\Annotation\Inject; use function Hyperf\Config\config;