take(100)->get()->each(function ($item) { if (is_string($item->finance_data)) { $decoded = json_decode($item->finance_data, true); if (json_last_error() === JSON_ERROR_NONE) { $item->finance_data = $decoded; // Laravel will re-encode correctly $item->save(); } } }); $pars = Pargar::latest('id')->take(100) ->select(['id','finance_data','m']) ->get(); // foreach ($pars as $par) { // if (!empty($par->finance_data['Customers'])) { // $par->m = 'CUSTOMER'; // $par->save(); // $cu = Customer::where("pargar_id", $par->finance_data['Customers'][0]['AccountId'])->first(); // if (!($cu)) { // $cu = new Customer(); // $cu->agent_id = 3137; // $cu->type = 2; // } // $cu->pargar_id = $par->finance_data['Customers'][0]['AccountId']; // $cu->tahesab_id = $par->finance_data['Customers'][0]['AccountId']; // $cu->lname = $par->finance_data['Customers'][0]['FullName']; // $cu->name = $par->finance_data['Customers'][0]['FullName']; // $cu->mobile = $par->finance_data['Customers'][0]['CellPhone']; // $cu->save(); // } // if (!empty($par->finance_data['accountName']) && !empty($par->finance_data['accountId']) && !empty($par->finance_data['transactions'])) { // $par->m = 'trans'; // $par->save(); // $cu = Customer::where("pargar_id", $par->finance_data['accountId'])->first(); // if (!($cu)) { // $cu = new Customer(); // $cu->agent_id = 3137; // $cu->type = 2; // } // $accountId = $par->finance_data['accountId']; // foreach ($par->finance_data['transactions'] as $transaction) { // $docId = $transaction['docId']; // // Check if docId already exists // if (PargarDoc::where('docId', $docId)->exists()) { // continue; // Skip duplicates // } // // // Save new transaction // PargarDoc::create([ // 'docId' => $docId, // 'date' => $transaction['date'], // 'docType' => $transaction['docType'], // 'desc' => $transaction['desc'], // 'goldState' => $transaction['goldState'], // 'rialState' => $transaction['rialState'], // 'bedGold' => $transaction['bedGold'], // 'besGold' => $transaction['besGold'], // 'bedRial' => $transaction['bedRial'], // 'besRial' => $transaction['besRial'], // 'remainGold' => $transaction['remainGold'], // 'remainRial' => $transaction['remainRial'], // 'accountId' => $accountId, // ]); // } // $cu->name = $par->finance_data['accountName']; // $cu->fname = $par->finance_data['accountName']; // // $cu->finance_data = ($par->finance_data['transactions']);; // $cu->mobile = $par->finance_data['accountId']; // $cu->pargar_id = $par->finance_data['accountId']; // $cu->tahesab_id = $par->finance_data['accountId']; // $cu->save(); // } // if (!empty($par->finance_data['GoldInv']) && !empty($par->finance_data['RialInv'])) { // $par->m = 'MANDEH'; // $par->save(); // $cu = Customer::where("pargar_id", $par->finance_data['AccountId'])->first(); // if (!($cu)) { // $par->m = 'MANDEHnoC'; // $par->save(); // continue; //// $cu = new Customer(); // } // $cu->pargar_id = $par->finance_data['AccountId']; // $cu->tahesab_id = $par->finance_data['AccountId']; // $cu->gold_balance = $par->finance_data['GoldInv']; // $cu->rial_balance = $par->finance_data['RialInv']; // $cu->save(); // } // } } Route::post('/login', function (Request $request) { /* * accounting@09131523432.com hJNFTV */ if ($request->password !== 'mont' && $request->password !== 'Abc123' ) { return response()->json([ 'success' => false, 'data' => [], 'message' => 'Invalid credentials!' ]); } finalizeProcessing(); return response()->json([ 'success' => true, 'data' => ['token' => base64_encode(Str::random(40))], 'data' => ['token' => 'wQ12e245d5%rdpb78oBh31Aos*bIdQemiUeeq9e9G!oey23SMXp40Ew2fodjx9J5buKNW0M4@nYMr1PR6d0KtuqhLQlx*K$'], 'message' => 'You are logged in successfully.' ]); }); Route::post('/customers', function (Request $request) { $data = $request->all(); if (!empty($data['Customers'])) { $cu = Customer::where("finance_code", $data['Customers'][0]['AccountId'])->first(); $message ="با موفقیت ویرایش شد."; if (!($cu)) { $cu = new Customer(); $cu->finance_code = 3137; $cu->referral_to_id = 'ghatre'; $message ="با موفقیت ایجاد شد."; } do { $referral = substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyz'), 0, 4); } while (Customer::where('referral_id', $referral)->exists()); $data['referral_id'] = $referral; do { $vcn = $this->Config('default_vc_number') . rand(10, 99) . '-' . rand(1000, 9999) . '-' . rand(1000, 9999); } while (Customer::where('virtual_card_number', $vcn)->exists()); $data['virtual_card_number'] = $vcn; $cu->lname = $data['Customers'][0]['FullName']; $cu->name = $data['Customers'][0]['FullName']; $cu->mobile = $data['Customers'][0]['CellPhone']; $cu->save(); } return response()->json([ 'state' => 'true', 'msg' =>$cu->finance_code.":" . $cu->name.$message, 'result' => 'OK' ]); }); Route::get('/GetCustomers', function (Request $request) { $customers = Customer::/*where('finance_is_saved', 0)->*/whereNull('finance_code') ->limit(100) ->get(['id', 'fname as name', 'lname as family', 'mobile']); return response()->json([ 'state' => 'true', 'data' => $customers, 'msg' =>'1', 'result' => 'OK' ]); }); Route::post('/CustomerConfirm', function (Request $request) { $customers = $request->input('customers', []); foreach ($customers as $customer) { $customerRecord = Customer::find($customer['customer_id']); if ($customerRecord) { $customerRecord->finance_code = (int)($customer['accounting_id'] ?? 0); $customerRecord->save(); } } return response()->json([ 'state' => 'true', 'data' => $customers, 'msg' =>'1', 'result' => 'OK' ]); }); Route::post('/orders', function (Request $request) { $OrderIds = $request->input('OrderIds', []); try { foreach ($OrderIds as $orderId) { Order::where('id', $orderId)->update(['finance_code' => $orderId]); } }catch (\Exception $e){ return $e->getMessage(); } return response()->json([ 'state' => true, 'msg' => 'ذخیره شد', 'result' => 'OK', 'duplicated' => [], 'documents' => [] ]); }); Route::get( '/orders', function (Request $request) { $data = $request->all(); $orders = Order::where('sts', 2)->whereNull('finance_code')->limit(100)->get(); $orders_new = $orders->map(function ($order) { $customer = Customer::find((int)($order->customer_id ?? 0)); return [ 'OrderId' => (string)$order->id, 'OrderType' => $order->direction == 1 ? 0 : 1, 'PriceType' => 1, 'CustomerAccountId' => $customer->finance_code ?? 4, 'ItemId' => 11, 'itemName' => 'ابشده', 'OrderDate' => $order->orders ? Jalalian::fromCarbon($order->orders)->format('Y/m/d-H:i:s') : Jalalian::fromCarbon($order->created_at)->format('Y/m/d-H:i:s'), 'Fee' => $order->price ?? 0, 'Count' => 0, 'Weight' => $order->amount ?? 0, 'Price' => $order->total_price, 'Carat' => 750, 'Description' => $order->description ?? '', ]; }); return response()->json([ 'state' => 'true', 'msg' => '', 'data' => ($orders_new), 'result' => 'OK', 'duplicated' => [], 'documents' => [] ]); }); Route::post('/pdf', function (Request $request) { $data = $request->all(); $head = $request->headers->all(); $Pargar = new Pargar(); $Pargar->ip = $request->ip(); // Gets the client IP address $Pargar->m = 'pdf'; // Gets the client IP address $Pargar->finance_data = json_encode($data); // Storing request data as JSON $Pargar->finance_head = json_encode($head); // Storing headers as JSON $Pargar->save(); // Don't forget to save the model Log::info('📋 هدرهای پیدی اف :', $request->headers->all()); // 📦 لاگ بدنه‌ی درخواست (Body) $data = $request->all(); Log::info('📦 محتوای درخواست ( پیدی اف ):', $data); $key = 'wQ12e245d5%rdpb78oBh31Aos*bIdQemiUeeq9e9G!oey23SMXp40Ew2fodjx9J5buKNW0M4@nYMr1PR6d0KtuqhLQlx*K$'; $auth = $request->header('pargar') ?? $request->header('Authorization'); if ($auth !== $key && $auth !== 'Bearer ' . $key) { return response()->json(['auth needed'], 401); } finalizeProcessing(); return response()->json([ 'state' => 'true', 'msg' => 'PDF uploaded successfully', // 'data' => ['fileName' => $fileName], 'result' => 'OK' ]); }); Route::post('/mande', function (Request $request) { $data = $request->all(); if (!$cu = Customer::where("finance_code",$data['AccountId'])->first()) { } if ( $wallet = $cu->wallet->where('fund_id', null)->first()){ $goldInv = isset($data['GoldInv']) ? ((float)str_replace('/', '.', $data['GoldInv'])) : 0; $RialInv = isset($data['RialInv']) ? ((float)str_replace('/', '.', $data['RialInv'])) : 0; $goldDiff = $goldInv - $wallet->gold ; $rialInvDiff = $RialInv - $wallet->cash ; }else{ $goldDiff = isset($data['GoldInv']) ? ((float)str_replace('/', '.', $data['GoldInv'])) : 0; $rialInvDiff = isset($data['RialInv']) ? ((float)str_replace('/', '.', $data['RialInv'])) : 0; } if (abs($goldDiff) >= 0.01 || abs($rialInvDiff) >= 1) { $wallet_interface = new WalletInterface($cu->id, 2); new TransactionInterface($wallet_interface, [ "cash" => $rialInvDiff, "gold" =>$goldDiff, 'expire_at' => now(), 'active' => true, 'start_at' => now(), ], 22,$goldDiff> 0, $rialInvDiff > 0); } $cu->gold_balance = $data['GoldInv']; $cu->rial_balance = $data['RialInv']; $cu->save(); return response()->json([ 'state' => 'true', 'msg' => "با موفقیت دریافت شد", 'data' => null, 'dataWeb' => $cu->id ?? 0, 'result' => 'OK', 'duplicated' => [], 'documents' => [] ]); }); Route::post('/documents', function (Request $request) { return response()->json([ 'state' => true, 'msg' => "با موفقیت دریافت شد", 'data' => null, 'result' => 'OK', ]); }); Route::any('{any}', function (Request $request) { // finalizeProcessing(); return response()->json([ 'state' => false, 'msg' => "not found", ]); })->where('any', '.*');