From 7ba6d9ebe62285a01887da663340de72e45c3048 Mon Sep 17 00:00:00 2001 From: twsystem1004 Date: Thu, 25 Jun 2026 08:09:39 +0000 Subject: [PATCH 1/2] =?UTF-8?q?[FEAT]=20=E5=89=AF=E6=AB=83=E7=B3=BB?= =?UTF-8?q?=E7=B5=B1(=E6=A0=BC=E5=AD=90=E6=AB=83=E5=8A=9F=E8=83=BD)?= =?UTF-8?q?=E6=8E=88=E6=AC=8A=E9=96=8B=E9=97=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 機台設定-基礎版新增「副櫃系統/格子櫃功能」開關,存 settings.subcabinet_enabled(僅basic);B014 FunctionSet 新增 Subcabinet 下發給 app 控制副櫃分頁/鎖控板設定顯示;啟用功能摘要列出副櫃系統。 Co-Authored-By: Claude Opus 4.8 --- .../MachineSettingController.php | 6 ++++++ .../Api/V1/App/MachineController.php | 1 + .../basic-settings/machines/index.blade.php | 21 +++++++++++++++++++ .../partials/tab-system-settings.blade.php | 2 ++ 4 files changed, 30 insertions(+) diff --git a/app/Http/Controllers/Admin/BasicSettings/MachineSettingController.php b/app/Http/Controllers/Admin/BasicSettings/MachineSettingController.php index 3d03d19..36971ee 100644 --- a/app/Http/Controllers/Admin/BasicSettings/MachineSettingController.php +++ b/app/Http/Controllers/Admin/BasicSettings/MachineSettingController.php @@ -409,6 +409,9 @@ class MachineSettingController extends AdminController $jsonSettings['pickup_code_enabled'] = false; $jsonSettings['pass_code_enabled'] = false; + + // 副櫃系統(格子櫃功能)僅基礎版可用,非基礎版一律關閉 + $jsonSettings['subcabinet_enabled'] = false; } else { $jsonSettings['credit_card_enabled'] = isset($settings['credit_card_enabled']) ? (bool)$settings['credit_card_enabled'] : false; $jsonSettings['mobile_pay_enabled'] = isset($settings['mobile_pay_enabled']) ? (bool)$settings['mobile_pay_enabled'] : false; @@ -432,6 +435,9 @@ class MachineSettingController extends AdminController $jsonSettings['pickup_code_enabled'] = isset($settings['pickup_code_enabled']) ? (bool)$settings['pickup_code_enabled'] : false; $jsonSettings['pass_code_enabled'] = isset($settings['pass_code_enabled']) ? (bool)$settings['pass_code_enabled'] : false; + + // 副櫃系統(格子櫃功能):基礎版可設定 + $jsonSettings['subcabinet_enabled'] = isset($settings['subcabinet_enabled']) ? (bool)$settings['subcabinet_enabled'] : false; } foreach ($allowedFields as $field) { diff --git a/app/Http/Controllers/Api/V1/App/MachineController.php b/app/Http/Controllers/Api/V1/App/MachineController.php index 79e2c6a..e636c34 100644 --- a/app/Http/Controllers/Api/V1/App/MachineController.php +++ b/app/Http/Controllers/Api/V1/App/MachineController.php @@ -508,6 +508,7 @@ class MachineController extends Controller 'MemberSystem' => (bool) ($s['member_system_enabled'] ?? false), // 會員系統 'AmbientTemp' => (bool) ($s['ambient_temp_monitoring_enabled'] ?? false), // 環境溫度監控 'PharmacyPickup' => (bool) ($s['pharmacy_pickup_enabled'] ?? false), // 領藥單(雲端建單,取物單模式下開關) + 'Subcabinet' => (bool) ($s['subcabinet_enabled'] ?? false), // 副櫃系統(格子櫃功能,基礎版授權開關) ]; // 5-4 ShoppingMode:購物方式(頂層字串) diff --git a/resources/views/admin/basic-settings/machines/index.blade.php b/resources/views/admin/basic-settings/machines/index.blade.php index c29ca86..82aaecb 100644 --- a/resources/views/admin/basic-settings/machines/index.blade.php +++ b/resources/views/admin/basic-settings/machines/index.blade.php @@ -207,6 +207,9 @@ // 領藥單(取物單模式下的開關) pharmacy_pickup_enabled: settings.pharmacy_pickup_enabled === true || settings.pharmacy_pickup_enabled === 1 || settings.pharmacy_pickup_enabled === '1', + // 副櫃系統(格子櫃功能授權,基礎版專用) + subcabinet_enabled: settings.subcabinet_enabled === true || settings.subcabinet_enabled === 1 || settings.subcabinet_enabled === '1', + // 零售附加功能 shopping_cart_enabled: machine.shopping_cart_enabled === true || machine.shopping_cart_enabled === 1 || machine.shopping_cart_enabled === '1', welcome_gift_enabled: machine.welcome_gift_enabled === true || machine.welcome_gift_enabled === 1 || machine.welcome_gift_enabled === '1', @@ -955,6 +958,24 @@ + +
+
+

副櫃系統

+
+
+ +
+
+ @if(auth()->user()->isSystemAdmin())
diff --git a/resources/views/admin/basic-settings/machines/partials/tab-system-settings.blade.php b/resources/views/admin/basic-settings/machines/partials/tab-system-settings.blade.php index 20ffb18..813c825 100644 --- a/resources/views/admin/basic-settings/machines/partials/tab-system-settings.blade.php +++ b/resources/views/admin/basic-settings/machines/partials/tab-system-settings.blade.php @@ -175,6 +175,7 @@ if ($machine->shopping_cart_enabled) $activeFeatures[] = __('Shopping Cart'); if ($machine->welcome_gift_enabled) $activeFeatures[] = __('Welcome Gift'); + if ($machine->settings['subcabinet_enabled'] ?? false) $activeFeatures[] = '副櫃系統'; } if ($machine->member_system_enabled) $activeFeatures[] = __('Member System'); @@ -321,6 +322,7 @@ if ($machine->shopping_cart_enabled) $activeFeatures[] = __('Shopping Cart'); if ($machine->welcome_gift_enabled) $activeFeatures[] = __('Welcome Gift'); + if ($machine->settings['subcabinet_enabled'] ?? false) $activeFeatures[] = '副櫃系統'; } if ($machine->member_system_enabled) $activeFeatures[] = __('Member System'); From ee22ff9e6dfe9a41cbb15d8616da9df3ebefb1e0 Mon Sep 17 00:00:00 2001 From: twsystem1004 Date: Thu, 25 Jun 2026 08:09:39 +0000 Subject: [PATCH 2/2] =?UTF-8?q?[FIX]=20finalize=20=E8=BD=89=E7=A7=BB?= =?UTF-8?q?=E6=9C=AA=E6=9B=B4=E6=96=B0=20total=5Famount=20=E5=B0=8E?= =?UTF-8?q?=E8=87=B4=E9=8A=B7=E5=94=AE=E9=87=91=E9=A1=8D=E9=A1=AF=E7=A4=BA?= =?UTF-8?q?0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit transitionOrder(pending→completed) 原只更新 pay_amount,補上 total_amount/original_amount/discount_amount,避免後台銷售紀錄金額停在建立時的0。 Co-Authored-By: Claude Opus 4.8 --- app/Services/Transaction/TransactionService.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/Services/Transaction/TransactionService.php b/app/Services/Transaction/TransactionService.php index a83ac99..088381d 100644 --- a/app/Services/Transaction/TransactionService.php +++ b/app/Services/Transaction/TransactionService.php @@ -118,6 +118,11 @@ class TransactionService 'payment_request' => $data['payment_request'] ?? $order->payment_request, 'payment_response' => $data['payment_response'] ?? $order->payment_response, 'pay_amount' => $data['pay_amount'] ?? $order->pay_amount, + // 商品總額/原始金額:completed finalize 才帶正確金額(pending 階段機台送 0), + // 須比照 pay_amount 在轉移時一併更新,否則後台銷售紀錄金額會停在建立時的 0。 + 'total_amount' => $data['total_amount'] ?? $order->total_amount, + 'original_amount' => $data['original_amount'] ?? $order->original_amount, + 'discount_amount' => $data['discount_amount'] ?? $order->discount_amount, 'change_amount' => $data['change_amount'] ?? $order->change_amount, 'points_used' => $data['points_used'] ?? $order->points_used, 'invoice_info' => $data['invoice_info'] ?? $order->invoice_info,