diff --git a/beike/Admin/Http/Controllers/DesignController.php b/beike/Admin/Http/Controllers/DesignController.php index 449b0b05..4d3305fa 100644 --- a/beike/Admin/Http/Controllers/DesignController.php +++ b/beike/Admin/Http/Controllers/DesignController.php @@ -63,14 +63,7 @@ class DesignController extends Controller { $content = json_decode($request->getContent(), true); $moduleData = DesignService::handleRequestModules($content); - $data = [ - 'type' => 'system', - 'space' => 'base', - 'name' => 'design_setting', - 'value' => json_encode($moduleData), - 'json' => 1 - ]; - SettingRepo::createOrUpdate($data); + SettingRepo::storeValue('design_setting', $moduleData); return json_success(trans('common.updated_success')); } } diff --git a/beike/Admin/Http/Controllers/DesignFooterController.php b/beike/Admin/Http/Controllers/DesignFooterController.php index e7fcbdbd..9ae35518 100644 --- a/beike/Admin/Http/Controllers/DesignFooterController.php +++ b/beike/Admin/Http/Controllers/DesignFooterController.php @@ -55,14 +55,7 @@ class DesignFooterController extends Controller { $content = json_decode($request->getContent(), true); - $data = [ - 'type' => 'system', - 'space' => 'base', - 'name' => 'footer_setting', - 'value' => json_encode($content), - 'json' => 1 - ]; - SettingRepo::createOrUpdate($data); + SettingRepo::storeValue("footer_setting", $content); return json_success(trans('common.updated_success')); } } diff --git a/beike/Admin/Http/Controllers/DesignMenuController.php b/beike/Admin/Http/Controllers/DesignMenuController.php index c6a74911..680804d4 100644 --- a/beike/Admin/Http/Controllers/DesignMenuController.php +++ b/beike/Admin/Http/Controllers/DesignMenuController.php @@ -34,14 +34,7 @@ class DesignMenuController extends Controller { $content = json_decode($request->getContent(), true); - $data = [ - 'type' => 'system', - 'space' => 'base', - 'name' => 'menu_setting', - 'value' => json_encode($content), - 'json' => 1 - ]; - SettingRepo::createOrUpdate($data); + SettingRepo::storeValue("menu_setting", $content); return json_success(trans('common.updated_success')); } } diff --git a/beike/Admin/Http/Controllers/SettingController.php b/beike/Admin/Http/Controllers/SettingController.php index 6c10b731..9c1e75aa 100644 --- a/beike/Admin/Http/Controllers/SettingController.php +++ b/beike/Admin/Http/Controllers/SettingController.php @@ -58,14 +58,7 @@ class SettingController extends Controller { $settings = $request->all(); foreach ($settings as $key => $value) { - $data = [ - 'type' => 'system', - 'space' => 'base', - 'name' => $key, - 'value' => $value, - 'json' => is_array($value) - ]; - SettingRepo::createOrUpdate($data); + SettingRepo::storeValue($key, $value); } $oldAdminName = admin_name(); diff --git a/beike/Repositories/SettingRepo.php b/beike/Repositories/SettingRepo.php index 5a033b48..40587329 100644 --- a/beike/Repositories/SettingRepo.php +++ b/beike/Repositories/SettingRepo.php @@ -128,18 +128,12 @@ class SettingRepo * @param $data * @throws \Throwable */ - public static function createOrUpdate($data) + public static function storeValue($name, $value, $space = 'base', $type = 'system') { - $name = $data['name'] ?? ''; if (in_array($name, ['_method', '_token'])) { return; } - $type = $data['type'] ?? ''; - $space = $data['space'] ?? ''; - $value = (string)$data['value'] ?? ''; - $json = (bool)$data['json'] ?? is_array($value); - $setting = Setting::query() ->where('type', $type) ->where('space', $space) @@ -150,31 +144,7 @@ class SettingRepo 'type' => $type, 'space' => $space, 'name' => $name, - 'value' => $value, - 'json' => $json, - ]; - - if (empty($setting)) { - $setting = new Setting($settingData); - $setting->saveOrFail(); - } else { - $setting->update($settingData); - } - } - - public static function storeValue($name, $value, $space = 'base', $type = 'system') - { - $setting = Setting::query() - ->where('type', $type) - ->where('space', $space) - ->where('name', $name) - ->first(); - - $settingData = [ - 'type' => $type, - 'space' => $space, - 'name' => $name, - 'value' => $value, + 'value' => is_array($value) ? json_encode($value) : $value, 'json' => is_array($value), ]; diff --git a/plugins/Social/Controllers/AdminSocialController.php b/plugins/Social/Controllers/AdminSocialController.php index 86dc1b27..09f6bf1e 100644 --- a/plugins/Social/Controllers/AdminSocialController.php +++ b/plugins/Social/Controllers/AdminSocialController.php @@ -22,14 +22,7 @@ class AdminSocialController extends Controller */ public function saveSetting(Request $request): array { - $socialData = [ - 'type' => 'plugin', - 'space' => 'social', - 'name' => 'setting', - 'value' => json_encode($request->all()), - 'json' => 1, - ]; - SettingRepo::createOrUpdate($socialData); + SettingRepo::storeValue('setting', $request->all(), 'social', 'plugin'); return json_success('保存成功'); } }