���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
repositories
/
portal-cutunix
/
app
/
Http
/
Controllers
/
api
/
v1
/
Viewing: BotController.php
<?php namespace App\Http\Controllers\api\v1; use Carbon\Carbon; use Modules\Project\Models\Order; use Modules\Feature\Models\ProcessBot; use Modules\Project\Models\OrderGroup; use Illuminate\Http\Request; use Modules\Central\Models\AnalyzeDimension; use Illuminate\Support\Facades\Log; use App\Http\Controllers\Controller; use function App\Helpers\uploadFile; use function App\Helpers\error_response; use function App\Helpers\slug; use App\Helpers\HelperClass\GeneralUse; use Illuminate\Support\Facades\Validator; use function App\Helpers\success_response; use function App\Helpers\sendSms; class BotController extends Controller { public function addDes($item=null,$type='all') { //$result_farsi $length_farsi =''; $width_farsi =''; if ($item->length_one == '2' && $item->length_two == '2'){ $length_farsi ='2'; }elseif($item->length_one == '2' || $item->length_two == '2'){ $length_farsi ='1'; } if ($item->width_one == '2' && $item->width_two == '2'){ $width_farsi ='2'; }elseif($item->width_one == '2' || $item->width_two == '2') { $width_farsi ='1'; } $f1=''; $f2=''; if($length_farsi){ $f1=''.$length_farsi .' tool - '; } if($width_farsi){ $f2=$width_farsi .' arz'; } $result_farsi =$f1.$f2; //$result_shiar $length_shiar =''; $width_shiar =''; if ($item->length_one == '3' && $item->length_two == '3'){ $length_shiar ='2'; }elseif($item->length_one == '3' || $item->length_two == '3'){ $length_shiar ='1'; } if ($item->width_one == '3' && $item->width_two == '3'){ $width_shiar ='2'; }elseif($item->width_one == '3' || $item->width_two == '3') { $width_shiar ='1'; } $sh1=''; $sh2=''; if($length_shiar){ $sh1=''.$length_shiar .' tool - '; } if($width_shiar){ $sh2=$width_shiar .' arz'; } $result_shiar =$sh1.$sh2; if($type != 'navar'){ //$result_navar $length_navar=0; $length_navar_str=''; $width_navar=0; $width_navar_str=''; if ($item->length_one == '1' && $item->length_two == '1'){ $length_navar=2; $length_navar_str='2'; }elseif($item->length_one == '1' || $item->length_two == '1'){ $length_navar=1; $length_navar_str='1'; } if ($item->width_one == '1' && $item->width_two == '1'){ $width_navar=2; $width_navar_str='2'; }elseif($item->width_one == '1' || $item->width_two == '1') { $width_navar=1; $width_navar_str='1'; } $n1=''; $n2=''; if($length_navar_str){ $n1=''.$length_navar_str.' tool - '; } if($width_navar_str){ $n2=$width_navar_str.' arz'; } $result_navar =$n1.$n2; } //return $part1=''; $part2=''; $part3=''; if($result_farsi){ $part1=' farsi : '.$result_farsi.' & '; } if($result_shiar){ $part2=' shiar : '.$result_shiar; } if($type != 'navar'){ if($result_navar){ $part3=' & '.' navar : '.$result_navar; } $result=$part1.$part2.$part3; return [$result,$length_navar,$width_navar]; }else{ $result=$part1.$part2; return [$result]; } } public function optiCut() { $order=OrderGroup::where('opticut','pending')->with('slices','order')->with(['info' => function ($query) { $query->select('id','number','services_id','mode'); }])->whereNotNull('panel_height')->whereNotNull('panel_width')->latest()->first(); $OptiCut='true'; if($order && $order->info->services_id){ $machinery=GeneralUse::return_machinery($order->info->services_id); $OptiCut=$machinery['OptiCut']; }else if($order && $order->info->mode == 'analyze'){ $OptiCut='true'; } $result=[]; $failId=[]; $resultId=[]; if($order){ if($OptiCut =='true'){ $panel_l=(float)$order->panel_height; $panel_w=(float)$order->panel_width; if(count($order->slices) > 0){ foreach ($order->slices as $value) { $w=(float)$value->width; $l=(float)$value->height; if (!$w) { array_push($failId,$order->id); } if (!$l) { array_push($failId,$order->id); } if(!$value->rotatable || $value->rotatable == '0'){ if($panel_w < $w){ array_push($failId,$order->id); } if($panel_l < $l){ array_push($failId,$order->id); } if(!in_array($order->id,$resultId)){ if($order->wood_thickness && $order->wood_type && $order->height_strip && $order->width_strip && $order->color_strip){ array_push($result,$order); array_push($resultId,$order->id); }else{ array_push($failId,$order->id); } } }else{ if($w <= $panel_w && $l < $panel_l){ }elseif($l <= $panel_w && $w < $panel_l){ }elseif( $w <= $panel_l && $l < $panel_w){ }elseif( $l <= $panel_l && $w < $panel_w){ }else{ array_push($failId,$order->id); } if(!in_array($order->id,$resultId)){ if($order->wood_thickness && $order->wood_type && $order->height_strip && $order->width_strip && $order->color_strip){ array_push($result,$order); array_push($resultId,$order->id); }else{ array_push($failId,$order->id); } } } } }else{ array_push($failId,$order->id); } }else{ OrderGroup::where('id',$order->id)->update([ 'opticut'=>'not_run' ]); } } if(count($failId) > 0){ $failId=array_unique($failId); OrderGroup::whereIn('id',$failId)->update([ 'opticut'=>'size_part' ]); } return $result; } public function opti_orders(Request $request) { $result=[]; $single_data=null; $result=$single_data; if(count($this->optiCut()) > 0){ $single_data=$this->optiCut()[0]; if($single_data){ if(count($single_data->slices) > 0){ foreach ($single_data->slices as $value) { $res=$this->addDes($value,'navar'); $value['description2']=$res[0]; } } } $result=$single_data; } if($result){ $result->update([ 'opticut'=>'do', 'bot_id'=>$request->bot_id ? $request->bot_id : null, 'opti_step'=>0 ]); }else{ OrderGroup::whereIn('opticut', ['do'])->where('updated_at','<', now()->subMinutes(8))->update([ 'opti_percent'=>0, 'cut_master'=>'pending', 'opticut'=>'pending' ]); } $data=['orders'=> $result]; return success_response($data,false); } function get_user_name_wood_type($name,$user_id) { $check = AnalyzeDimension::where('user_id', $user_id)->where('name', $name)->first(); $name = $name; if ($check) { $name = $check->name_sheet; } return $name; } public function opti_save(Request $request) { $validation=Validator::make($request->all(),[ 'order_id' => 'required', 'pdf' => 'required|max:10240', 'zip' => 'required|max:10240', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } $group= OrderGroup::where('id',$request->order_id)->first(); $zip=uploadFile($request->zip,'zip',$request->order_id.'.zip'); $pdf=uploadFile($request->pdf,'pdf',slug($group->order->name.'-'. $this->get_user_name_wood_type($group->wood_type,$group->user_id)).'.pdf'); $sheets=0; if($request->sheets){ $sheets=$request->sheets; } $group->update([ 'opticut_file'=>$zip, 'cut_master_pdf'=>$pdf, 'sheets'=>$sheets, 'cut_master'=>'done', 'opticut'=>'done' ]); $data=['status'=> $zip]; return success_response($data,false); } public function returned(Request $request) { $validation=Validator::make($request->all(),[ 'order_id' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } OrderGroup::where('id',$request->order_id)->update([ 'opti_percent'=>0, 'cut_master'=>'pending', 'opticut'=>'pending' ]); $data=['status'=> 'success']; return success_response($data,false); } public function opti_percent(Request $request) { $validation=Validator::make($request->all(),[ 'order_id' => 'required', 'percent' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } OrderGroup::where('id',$request->order_id)->update([ 'opti_percent'=>$request->percent, ]); $data=['status'=> 'success']; return success_response($data,false); } public function failure(Request $request) { $mobiles=['09364233626']; foreach ($mobiles as $value) { sendSms($value,'.','robotAlert'); } $data=['status'=> 'success']; return success_response($data,false); } public function ping(Request $request) { if($request->bot_id){ ProcessBot::where('id',$request->bot_id)->update([ 'last_response_at' => Carbon::now()->format('Y-m-d H:i:s'), 'last_response_status' => ProcessBot::STATUS_AVAILABLE, ]); } $data=['status'=> 'success']; return success_response($data,false); } public function opti_step(Request $request) { $validation=Validator::make($request->all(),[ 'order_id' => 'required', 'step' => 'required', ]); if($validation->fails()){ return error_response($validation->messages()->first(),true,422); } OrderGroup::where('id',$request->order_id)->update([ 'opti_step'=>$request->step, ]); $data=['status'=> 'success']; return success_response($data,false); } }
Coded With 💗 by
0x6ick Mod By V1rus_Alfa