From 26e007c6a05c450bd04ebe29114906670147e08b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Mon, 2 Feb 2026 20:57:44 +0900 Subject: [PATCH] =?UTF-8?q?feat:=EB=B0=94=EB=A1=9C=EB=B9=8C=20=EC=84=9C?= =?UTF-8?q?=EB=B9=84=EC=8A=A4=20=EC=84=A4=EC=A0=95=20=EC=B2=B4=ED=81=AC?= =?UTF-8?q?=EB=B0=95=EC=8A=A4=20=EC=A6=89=EC=8B=9C=20=EC=A0=80=EC=9E=A5=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Barobill/BarobillSettingController.php | 47 ++++++++++++ .../views/barobill/settings/index.blade.php | 73 +++++++++++++------ routes/api.php | 1 + 3 files changed, 100 insertions(+), 21 deletions(-) diff --git a/app/Http/Controllers/Api/Admin/Barobill/BarobillSettingController.php b/app/Http/Controllers/Api/Admin/Barobill/BarobillSettingController.php index 6b582fca..a33cbe0e 100644 --- a/app/Http/Controllers/Api/Admin/Barobill/BarobillSettingController.php +++ b/app/Http/Controllers/Api/Admin/Barobill/BarobillSettingController.php @@ -102,6 +102,53 @@ public function store(Request $request): JsonResponse } } + /** + * 서비스 설정 개별 저장 (체크박스 변경 시 즉시 저장) + */ + public function updateService(Request $request): JsonResponse + { + $tenantId = session('selected_tenant_id', 1); + + $validated = $request->validate([ + 'field' => 'required|in:use_tax_invoice,use_bank_account,use_card_usage,use_hometax', + 'value' => 'required|boolean', + ]); + + try { + $setting = BarobillSetting::updateOrCreate( + ['tenant_id' => $tenantId], + [ + $validated['field'] => $validated['value'], + 'corp_name' => '미설정', + 'ceo_name' => '미설정', + 'corp_num' => '0000000000', + ] + ); + + $serviceNames = [ + 'use_tax_invoice' => '전자세금계산서', + 'use_bank_account' => '계좌조회', + 'use_card_usage' => '카드사용내역', + 'use_hometax' => '홈텍스매입/매출', + ]; + + $serviceName = $serviceNames[$validated['field']] ?? $validated['field']; + $status = $validated['value'] ? '활성화' : '비활성화'; + + return response()->json([ + 'success' => true, + 'message' => "{$serviceName} 서비스가 {$status}되었습니다.", + ]); + } catch (\Exception $e) { + Log::error('바로빌 서비스 설정 저장 실패', ['error' => $e->getMessage()]); + + return response()->json([ + 'success' => false, + 'message' => '설정 저장에 실패했습니다.', + ], 500); + } + } + /** * 서비스 이용 여부 확인 (다른 메뉴에서 참조용) */ diff --git a/resources/views/barobill/settings/index.blade.php b/resources/views/barobill/settings/index.blade.php index bdffe04a..c80d73ce 100644 --- a/resources/views/barobill/settings/index.blade.php +++ b/resources/views/barobill/settings/index.blade.php @@ -83,7 +83,7 @@