From abdfff6281431967de4f89f2166f213d1d3036ea Mon Sep 17 00:00:00 2001 From: adonis Date: Thu, 28 May 2026 11:53:27 +0330 Subject: [PATCH] gift added to tahesab --- .fuse_hidden0005061400000015 | 53 ++++++ .../Controllers/Admin/CustomerController.php | 173 +++++++++++------- .../Customer/CustomerController.php | 25 ++- .../Single/SingleOrderController.php | 21 ++- 4 files changed, 203 insertions(+), 69 deletions(-) create mode 100644 .fuse_hidden0005061400000015 diff --git a/.fuse_hidden0005061400000015 b/.fuse_hidden0005061400000015 new file mode 100644 index 0000000..67a3329 --- /dev/null +++ b/.fuse_hidden0005061400000015 @@ -0,0 +1,53 @@ +#!/usr/bin/env php +make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running, we will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/app/Http/Controllers/Admin/CustomerController.php b/app/Http/Controllers/Admin/CustomerController.php index f7ee636..d3b8cd1 100644 --- a/app/Http/Controllers/Admin/CustomerController.php +++ b/app/Http/Controllers/Admin/CustomerController.php @@ -168,75 +168,120 @@ class CustomerController extends SuperController $customer->is_legal = 2; $customer->save(); - if ($this->Config('has_page_earn_money') == true && Customer::where('referral_to_id', $customer->referral->referral_id)->where('is_legal', "!=",0)->count() < 4) { - $gift_for_inviter = 0.002; - $gift_for_invited = 0.003; - $Withdraw = Withdraw::create([ - 'user_id' => $customer->id, - 'customer_id' => $customer->referral->id, - "cash" => 0, - "gold" => $gift_for_invited, - 'sts' => 5, - ]); - $wallet_interface = new WalletInterface($customer->referral->id, 2); - new TransactionInterface($wallet_interface, $_inp = [ - "cash" => 0, - "gold"=> $gift_for_invited, - 'expire_at'=>now(), - 'active'=>true, - 'withdraw_id' =>$Withdraw->id, - 'start_at'=>now(), - ], 8, true,false); + if ($this->Config('has_page_earn_money') == 'true' && Customer::where('referral_to_id', $customer->referral->referral_id)->where('is_legal', "!=",0)->count() < 4) { - $transaction = Transaction::where('customer_id', $customer->referral->id)->latest()->first(); - TransactionsAdmin::create([ - 'customer_id' => $customer->id, - 'customer_to_id' => $customer->referral->id, - 'user_id' => $customer->id, - 'wallet' => null, // یا مقدار مناسب دیگری - 'transaction_id' => $transaction->id , - 'cash' => 0, - 'note' => 'پاداش بابت معرفی', - 'type' => 1, // یا مقدار مناسب دیگری - 'gold' => $gift_for_invited, - 'balance_cash' => 0, // یا مقدار مناسب دیگری - 'withdraw_id' => $Withdraw->id, - ]); - $Withdraw = Withdraw::create([ - 'user_id' => $customer->id, - 'customer_id' => $customer->id, - "cash" => 0, - "gold" => $gift_for_inviter, - 'sts' => 5, - ]); - $wallet_interface = new WalletInterface($customer->id, 2); - new TransactionInterface($wallet_interface, $_inp = [ - "cash" => 0, - "gold"=> $gift_for_inviter, - 'expire_at'=>now(), - 'active'=>true, - 'withdraw_id' =>$Withdraw->id, - 'start_at'=>now(), - ], 8, true,false); + $gift_for_inviter = $this->Config('gift_for_referrer'); + $gift_for_invited = $this->Config('gift_for_referral'); + + $companyName = $this->Config('name_fa'); + $companyurl = $this->Config('app_url'); + $referrer = $customer->referral; + $total_referrals = Customer::where('referral_to_id', $referrer->referral_id)->where('is_legal', '!=', 0)->get()->count(); + $referral_limit = Setting::where('key', 'referral_limit')->first(); + $gift_permision = $referral_limit->is_active ? $total_referrals < $referral_limit->value ? true : false : true ; + if ($gift_permision && $gift_for_inviter > 0) { +// dd($gift_for_inviter > 0, $gift_for_invited > 0); + + $Withdraw = Withdraw::create([ + 'user_id' => $customer->id, + 'customer_id' => $customer->referral->id, + "cash" => 0, + "gold" => $gift_for_inviter, + 'sts' => 5, + ]); + $wallet_interface = new WalletInterface($customer->referral->id, 2); + new TransactionInterface($wallet_interface, $_inp = [ + "cash" => 0, + "gold" => $gift_for_inviter, + 'expire_at' => now(), + 'active' => true, + 'title' => 'پاداش بابت معرفی', + 'withdraw_id' => $Withdraw->id, + 'start_at' => now(), + ], 8, true, false); + $transaction = Transaction::where('customer_id', $customer->referral->id)->latest()->first(); + TransactionsAdmin::create([ + 'customer_id' => $customer->id, + 'customer_to_id' => $customer->referral->id, + 'user_id' => $customer->id, + 'wallet' => null, // یا مقدار مناسب دیگری + 'transaction_id' => $transaction->id, + 'cash' => 0, + 'note' => 'پاداش بابت معرفی', + 'type' => 1, // یا مقدار مناسب دیگری + 'gold' => $gift_for_inviter, + 'balance_cash' => 0, // یا مقدار مناسب دیگری + 'withdraw_id' => $Withdraw->id, + ]); + $referrerWallet = Wallet::where('owner', $customer->referral->id)->first(); + if($this->Config('send_to_tahesab') == "true"){ + try { + $tahesab = new TahesabController(); + $tahesab->walletGold([ + 'customer_id'=> $customer->id, + 'value'=> $gift_for_inviter, + 'direction'=> 0 + ]); + }catch (\Exception $e){ + return response($e->getMessage(), 500); + } + } + $message = "سلام {$referrer->name} عزیز،\n\n{$gift_for_inviter} گرم طلا بابت معرفی {$customer->name} به حساب شما واریز شد.\nموجودی فعلی: {$referrerWallet->gold} گرم.\n\nاطلاعات بیشتر: $companyurl\n\nبا احترام،\n$companyName"; + $this->Send($referrer->mobile, $message); + } + if($gift_for_invited > 0 ){ + $Withdraw = Withdraw::create([ + 'user_id' => $customer->id, + 'customer_id' => $customer->id, + "cash" => 0, + "gold" => $gift_for_invited, + 'sts' => 5, + ]); + $wallet_interface = new WalletInterface($customer->id, 2); + new TransactionInterface($wallet_interface, $_inp = [ + "cash" => 0, + "gold" => $gift_for_invited, + 'expire_at' => now(), + 'active' => true, + 'title' => 'پاداش بابت ثبت نام', + 'withdraw_id' => $Withdraw->id, + 'start_at' => now(), + ], 8, true, false); + + $transaction = Transaction::where('customer_id', $customer->id)->latest()->first(); + TransactionsAdmin::create([ + 'customer_id' => $customer->id, + 'customer_to_id' => $customer->referal->id, + 'user_id' => $customer->id, + 'wallet' => null, // یا مقدار مناسب دیگری + 'transaction_id' => $transaction->id, + 'cash' => 0, + 'note' => 'پاداش بابت ثبت نام', + 'type' => 1, // یا مقدار مناسب دیگری + 'gold' => (float)$gift_for_invited, + 'balance_cash' => 0, // یا مقدار مناسب دیگری + 'withdraw_id' => $Withdraw->id, + ]); + $referrerWallet = Wallet::where('owner', $customer->id)->first(); + if($this->Config('send_to_tahesab') == "true"){ + try { + $tahesab = new TahesabController(); + $tahesab->walletGold([ + 'customer_id'=> $customer->id, + 'value'=> $gift_for_inviter, + 'direction'=> 0 + ]); + }catch (\Exception $e){ + return response($e->getMessage(), 500); + } + } + $message = "سلام " . $customer->name . " عزیز،\n\n" . $gift_for_invited . " گرم طلا بابت ثبت نام " . " به حساب شما واریز شد.\n" . "موجودی فعلی: " . $referrerWallet->gold . " گرم.\n\n" . "اطلاعات بیشتر: " . $companyurl . "\n\n" . "با احترام،\n" . $companyName; + $this->Send($customer->mobile, $message); + } - $transaction = Transaction::where('customer_id', $customer->id)->latest()->first(); - TransactionsAdmin::create([ - 'customer_id' => $customer->id, - 'customer_to_id' => $customer->id, - 'user_id' => $customer->id, - 'wallet' => null, // یا مقدار مناسب دیگری - 'transaction_id' => $transaction->id , - 'cash' => 0, - 'note' => 'پاداش بابت معرفی', - 'type' => 1, // یا مقدار مناسب دیگری - 'gold' => $gift_for_inviter, - 'balance_cash' => 0, // یا مقدار مناسب دیگری - 'withdraw_id' => $Withdraw->id, - ]); } - $companyName = $this->Config('name_fa'); $companyurl = $this->Config('app_url'); $message ='حساب کاربری شما توسط کارشناس سیستم تایید شد '."\n". diff --git a/app/Http/Controllers/Customer/CustomerController.php b/app/Http/Controllers/Customer/CustomerController.php index a82548c..893499a 100644 --- a/app/Http/Controllers/Customer/CustomerController.php +++ b/app/Http/Controllers/Customer/CustomerController.php @@ -235,6 +235,18 @@ class CustomerController extends Controller 'withdraw_id' => $Withdraw->id, ]); $referrerWallet = Wallet::where('owner', $customer->referral->id)->first(); + if($this->Config('send_to_tahesab') == "true"){ + try { + $tahesab = new TahesabController(); + $tahesab->walletGold([ + 'customer_id'=> $customer->id, + 'value'=> $gift_for_inviter, + 'direction'=> 0 + ]); + }catch (\Exception $e){ + return response($e->getMessage(), 500); + } + } $message = "سلام {$referrer->name} عزیز،\n\n{$gift_for_inviter} گرم طلا بابت معرفی {$customer->name} به حساب شما واریز شد.\nموجودی فعلی: {$referrerWallet->gold} گرم.\n\nاطلاعات بیشتر: $companyurl\n\nبا احترام،\n$companyName"; $this->Send($referrer->mobile, $message); } @@ -272,6 +284,18 @@ class CustomerController extends Controller 'withdraw_id' => $Withdraw->id, ]); $referrerWallet = Wallet::where('owner', $customer->id)->first(); + if($this->Config('send_to_tahesab') == "true"){ + try { + $tahesab = new TahesabController(); + $tahesab->walletGold([ + 'customer_id'=> $customer->id, + 'value'=> $gift_for_inviter, + 'direction'=> 0 + ]); + }catch (\Exception $e){ + return response($e->getMessage(), 500); + } + } $message = "سلام " . $customer->name . " عزیز،\n\n" . $gift_for_invited . " گرم طلا بابت ثبت نام " . " به حساب شما واریز شد.\n" . "موجودی فعلی: " . $referrerWallet->gold . " گرم.\n\n" . "اطلاعات بیشتر: " . $companyurl . "\n\n" . "با احترام،\n" . $companyName; $this->Send($customer->mobile, $message); } @@ -286,7 +310,6 @@ class CustomerController extends Controller // return response()->json(['response' => $response], 422); // } return response()->json(['message' => "کد ملی ثبت شد، اما در حال حاضر سیستم نتوانست آن را تأیید کند. لطفاً منتظر بررسی و تأیید مدیر بمانید.",'response' =>$response], 422); - } diff --git a/app/Http/Controllers/Single/SingleOrderController.php b/app/Http/Controllers/Single/SingleOrderController.php index 338ef3c..bbf5bf7 100644 --- a/app/Http/Controllers/Single/SingleOrderController.php +++ b/app/Http/Controllers/Single/SingleOrderController.php @@ -60,16 +60,21 @@ class SingleOrderController extends Controller $data['customer_id'] = auth('customer')->id(); $latestPrice = Price::latest()->first(); - if($latestPrice->price == 0){ + if (!$latestPrice || $latestPrice->price == 0) { throw new UnprocessableEntityHttpException('عدم ارائه سرویس.'); } $data['all_price'] = $latestPrice; $data['price'] = $latestPrice->price; $data['price_id'] = $latestPrice->id; // $data['difference'] = config('fee.cash'); - $data['difference'] = Setting::where('key', 'fee_cash')->first()->value; + $feeCash = Setting::where('key', 'fee_cash')->first(); + $feeServiceCharge = Setting::where('key', 'fee_service_charge_percentage')->first(); + if (!$feeCash || !$feeServiceCharge) { + throw new UnprocessableEntityHttpException('تنظیمات کارمزد یافت نشد.'); + } + $data['difference'] = $feeCash->value; // $data['service_charge_percentage'] = config('fee.service_charge_percentage'); - $data['service_charge_percentage'] = Setting::where('key', 'fee_service_charge_percentage')->first()->value; + $data['service_charge_percentage'] = $feeServiceCharge->value; $fee_free = Setting::where('key', 'fee_free')->where('is_active', true)->value('value'); @@ -94,6 +99,9 @@ class SingleOrderController extends Controller $data['fee'] = $data['difference']; $wallet_interface = new WalletInterface($data['customer_id'], 2); $wallet = Wallet::where('owner', $data['customer_id'])->whereNull('fund_id')->first(); + if (!$wallet) { + throw new UnprocessableEntityHttpException('کیف پول یافت نشد.'); + } $response = []; @@ -136,7 +144,12 @@ class SingleOrderController extends Controller // Calculate total price and fee for non-product (gold) transaction $data['total_price_original'] = $data['amount'] * ($data['price_original'] ?? 0); $data['total_fee'] = $data['amount'] * $data['difference']; - $data['product'] = Product::find(13); + $mainProductId = Cnt::where('key', 'main_product')->value('value'); + $data['product'] = $mainProductId ? Product::find($mainProductId) : null; + if (!$data['product']) { + throw new UnprocessableEntityHttpException('محصول آبشده یافت نشد.'); + } + $data['product_id'] = $data['product']->id; // Check if the user wants to buy if ($data['direction'] == 1) { if (!$data['product']['open_buy']) {