From 70cede24cc17ab4d9ae8113121b0ecce2bc41ec2 Mon Sep 17 00:00:00 2001 From: jsasg <735273025@qq.com> Date: Wed, 26 Mar 2025 14:12:46 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BF=AE=E6=94=B9=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=88=97=E8=A1=A8=E6=94=AF=E6=8C=81=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E8=AF=AD=E8=A8=80=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/controller/v1/SiteConfig.php | 3 -- app/admin/controller/v1/SysConfig.php | 38 ++++++++++++-------------- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/app/admin/controller/v1/SiteConfig.php b/app/admin/controller/v1/SiteConfig.php index f11825c2..68710f5d 100644 --- a/app/admin/controller/v1/SiteConfig.php +++ b/app/admin/controller/v1/SiteConfig.php @@ -54,9 +54,6 @@ class SiteConfig return $item; }) ->toArray(); - if (empty($configs)) { - return error('配置项不存在'); - } // 处理附加配置项及联动项 $configs = $this->handleExtra($configs); diff --git a/app/admin/controller/v1/SysConfig.php b/app/admin/controller/v1/SysConfig.php index 686235b6..95b3770b 100644 --- a/app/admin/controller/v1/SysConfig.php +++ b/app/admin/controller/v1/SysConfig.php @@ -50,31 +50,29 @@ class SysConfig 'size/d' => 10 ]); - $configs = SysConfigModel::field([ - 'id', - 'group_id', - 'title', - 'name', - 'type', - 'sort' + $configs = SysConfigModel::alias('cfg') + ->field([ + 'cfg.id', + 'cfg.title', + 'cfg.name', + 'cfg.type', + 'cfg.sort', + 'grp.name' => 'group_name', + 'type.name' => 'type_name' ]) - ->with([ - 'group' => function($query) { - $query->field(['id', 'name' => 'group_name']); - }, - 'type' => function($query) { - $query->field(['name' => 'type_name', 'value']); + ->join('sys_config_group grp', 'grp.id = cfg.group_id') + ->join('sys_config_type type', 'type.value = cfg.type') + ->where('grp.language_id', '=', request()->lang_id) + ->where(function($query) use($param) { + if (!empty($param['title'])) { + $query->where('cfg.title', 'like', "%{$param['title']}%"); } - ]) - ->withSearch(['title'], ['title' => $param['title']??null]) - ->order(['sort' => 'asc', 'id' => 'desc']) + }) + ->order(['cfg.sort' => 'asc', 'cfg.id' => 'desc']) ->paginate([ 'list_rows' => $param['size'], 'page' => $param['page'] - ]) - ->bindAttr('group', ['group_name']) - ->bindAttr('type', ['type_name']) - ->hidden(['group_id', 'group', 'type']); + ]); return success('获取成功', $configs); }