From 518f4bd2ae388c507af5c1f591d3e473ec6ddd1d Mon Sep 17 00:00:00 2001 From: adonis Date: Tue, 9 Jun 2026 09:57:58 +0330 Subject: [PATCH] fix amount --- .../Single/SingleOrderController.php | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Single/SingleOrderController.php b/app/Http/Controllers/Single/SingleOrderController.php index 504ec1e..e31f141 100644 --- a/app/Http/Controllers/Single/SingleOrderController.php +++ b/app/Http/Controllers/Single/SingleOrderController.php @@ -63,8 +63,11 @@ class SingleOrderController extends Controller $customer = Customer::find(auth('customer')->id() ?? ($data['customer_id'] ?? null)); if ($min_sell = Setting::where('key', 'minimum_sell')->where('is_active', 1)->first()) { - if ((int) $data['direction'] === 2 && (float) $min_sell->value > (float) $data['amount']) { - throw new UnprocessableEntityHttpException('حداقل میزان فروش ' . $min_sell->value . ' گرم میباشد'); + if ((int) $data['direction'] === 2) { + $sellAmount = $this->resolveOrderAmount($data); + if ($sellAmount !== null && (float) $min_sell->value > $sellAmount) { + throw new UnprocessableEntityHttpException('حداقل میزان فروش ' . $min_sell->value . ' گرم میباشد'); + } } } @@ -726,6 +729,22 @@ class SingleOrderController extends Controller ->count() < (int)$count; } + private function resolveOrderAmount(array $data): ?float + { + if (isset($data['amount'])) { + return (float) $data['amount']; + } + + if (!empty($data['product_id']) && isset($data['number'])) { + $product = $data['product'] ?? Product::find($data['product_id']); + if ($product) { + return (float) $data['number'] * (float) $product->amount; + } + } + + return null; + } + private function isProductOrder(array $data): bool { return !empty($data['product_id']) && !empty($data['product']['title']);