Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
WIKIPEDIA
/
lastworkingimaliapi
/
app
/
Http
/
Controllers
:
UserDocumentController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace App\Http\Controllers; use App\Classes\CurrentPassword; use App\Imali\ImaliAccount; use App\User; use App\UserDocument; use Illuminate\Http\Request; use Illuminate\Support\Str; class UserDocumentController extends Controller { public function getDocuments($status) { $data = UserDocument::query() ->leftJoin('users', 'users.id', '=', 'user_documents.user_id') ->leftJoin('imali_accounts', 'imali_accounts.user_id', '=', 'user_documents.user_id') ->select('users.name', 'users.last_name', 'imali_accounts.account_number', 'user_documents.*') ->where('user_documents.status', $status) ->paginate(10); return response()->json(['data' => $data], 200); } public function getUserDocuments($id) { $data = UserDocument::query() ->join('users', 'users.id', '=', 'user_documents.user_id') ->join('imali_accounts', 'imali_accounts.user_id', '=', 'user_documents.user_id') ->select('users.name', 'imali_accounts.account_number', 'user_documents.*') ->where('user_documents.user_id', $id) ->get(); return response()->json(['data' => $data], 200); } public function updateUserInformation(Request $request) { $this->validate($request, [ 'id' => 'required', 'user_id' => 'required', ]); $userDocument = UserDocument::query() ->where('id', $request->id) ->where('user_id', $request->user_id) ->first(); if ($userDocument) { $imali = ImaliAccount::query() ->where('user_id', $request->user_id) ->first(); $userDocument->update([ 'status' => 'actualizado', 'fathers_name' => $request->fathers_name, 'mothers_name' => $request->mothers_name, 'issue_date' => $request->issue_date, 'expiration_date' => $request->expiration_date, 'document_type' => $request->document_type, 'issuing_place' => $request->issuing_place, 'document_number' => $request->document_number, 'nationality' => $request->nationality, 'place_of_birth' => $request->place_of_birth, 'address1' => $request->address1, 'address2' => $request->address2, 'marital_status' => $request->marital_status, 'sex' => $request->sex, 'birthdate' => $request->birthdate, 'height' => $request->height, 'admin_id' => $request->user()->id, 'imali_account_id' => $imali->id, ]); User::query() ->where('id', $request->user_id) ->update(['update_info_status' => 'Actualizado', 'info_status' => 1, 'name' => $request->name, 'last_name' => $request->last_name, 'user_update_info_status' => 0 , 'birthday' => $request->birthdate, 'document_id' => $userDocument->id]); ImaliAccount::query() ->where('user_id', $request->user_id) ->update(['imali_account_config' => 2]); $notification = array( // 'icon' => 'ic_imali_logo_verde_01', 'icon' => 'ic_i_mali_cover', 'title' => 'Actualização Documentos', 'body' => 'Caro cliente, os teus documentos foram actualizados com Succeso. Desfrute dos serviços que o iMali disponibiliza.', 'click_action' => 'com.imali.payapp.payment_NOTICIA', // 'color' => '#008577' 'color' => '#ffffff' ); $data = array( 'sms' => 'Parabéns, o teu pedido de actualização de documentos foi aprovado com Sucesso. Com os documentos actualizados, vai fazer transacções e pagamentos em montantes maiores.', 'terminal' => 'firebase' ); $userData = User::query() ->where('id', $request->user_id) ->first(); $this->pushNotifification($userData->firebase_token, $notification, $data); $userDocumentData = UserDocument::query() ->where('id', $request->id) ->where('user_id', $request->user_id) ->get(); foreach ($userDocumentData as $data) { UserDocument::query() ->where('status', 'pendente') ->where('id', '=', $data->id) ->update(['status' => 'recusado', 'message' => 'Pedido recusado, pois já foi aceite um pedido que reuniu as codições desejadas.']); } return response()->json(['message' => 'Dados Actualizados com Sucesso'], 200); } else { return response()->json(['message' => 'Conta Inválida'], 400); } } public function negarPedidoActualizacaoDocumentos(Request $request) { $this->validate($request, [ 'id' => 'required', 'user_id' => 'required', 'message' => 'required|min:10', ]); $userDocument = UserDocument::query() ->where('id', $request->id) ->where('user_id', $request->user_id) ->first(); if ($userDocument) { $userDocument->update(['status' => 'recusado', 'message' => $request->message, 'admin_id' => $request->user()->id]); User::query() ->where('id', $request->user_id) ->update(['info_status' => 0, 'update_info_status' => 'pendente']); $notification = array( 'icon' => 'ic_imali_logo_verde_01', // 'icon' => 'ic_i_mali_cover', 'title' => 'Actualização Documentos', 'body' => $request->message, 'click_action' => 'com.imali.payapp.payment_NOTICIA', 'color' => '#ffffff' ); $data = array( 'sms' => $request->message, 'terminal' => 'firebase' ); $userData = User::query() ->where('id', $request->user_id) ->first(); $this->pushNotifification($userData->firebase_token, $notification, $data); return response()->json(['message' => 'Resposta Enviada com Sucesso'], 200); } else { return response()->json(['message' => 'Conta Inválida'], 400); } } public function updateDocoment(Request $request) { $user = User::find($request->user()->id); $imaliUser = ImaliAccount::query() ->where('user_id', $user->id) ->first(); $exploded = explode(',', $request->image_front); $exploded2 = explode(',', $request->image_back); $exploded3 = explode(',', $request->image_selfie); $decoded = base64_decode($exploded[0]); $decoded2 = base64_decode($exploded2[0]); $decoded3 = base64_decode($exploded3[0]); // if (Str::contains($exploded[0], 'jpeg')) { if (Str::contains($exploded[0], 'jpeg')) { $extention = 'jpg'; } else { $extention = 'png'; } if (Str::contains($exploded2[0], 'jpeg')) { $extention2 = 'jpg'; } else { $extention2 = 'png'; } if (Str::contains($exploded3[0], 'jpeg')) { $extention3 = 'jpg'; } else { $extention3 = 'png'; } $imageFrontName = Str::random() . $user->id . '.' . $extention; $imageBackName = Str::random() . $user->id . '.' . $extention2; $imageSelfie = Str::random() . $user->id . '.' . $extention3; // $updateUser = $user->update([ //// 'photo' => 'http://160.242.36.118:81/imaliapitest/public/images/avatar/' . $imageName //// 'photo' => 'http://160.242.35.226/imaliapi/public/images/documentos/' . $imageName //// 'photo' => 'http://160.242.35.226/imaliapi/public/images/documentos/' . $imageName // ]); $updateUser = UserDocument::create([ // 'image_front' => 'http://localhost:8000/images/documentos/' . $imageFrontName, // 'image_back' => 'http://localhost:8000/images/documentos/' . $imageBackName, // 'image_selfie' => 'http://localhost:8000/images/documentos/' . $imageSelfie, // 'image_front' => 'http://160.242.35.226/imaliapi/public/images/documentos/' . $imageFrontName, // 'image_back' => 'http://160.242.35.226/imaliapi/public/images/documentos/' . $imageBackName, // 'image_selfie' => 'http://160.242.35.226/imaliapi/public/images/documentos/' . $imageSelfie, // 'image_front' => 'http://160.242.36.118:81/imaliapitest/public/images/documentos/' . $imageFrontName, 'image_front' => url('/') . '/images/documentos/' . $imageFrontName, // 'image_back' => 'http://160.242.36.118:81/imaliapitest/public/images/documentos/' . $imageBackName, 'image_back' => url('/') . '/images/documentos/' . $imageBackName, // 'image_selfie' => 'http://160.242.36.118:81/imaliapitest/public/images/documentos/' . $imageSelfie, 'image_selfie' => url('/') . '/images/documentos/' . $imageSelfie, 'document_type' => $request->document_type, 'user_id' => $user->id, 'imali_account_id' => $imaliUser->id ]); User::query() ->where('id', $request->user()->id) ->update(['info_status' => 1, 'user_update_info_status' => 0, 'update_info_status' => 'pendente']); // ->update(['info_status' => 1, 'document_id' => $updateUser->id]); if ($updateUser) { $path = public_path() . '/images/documentos/' . $imageFrontName; $path2 = public_path() . '/images/documentos/' . $imageBackName; $path3 = public_path() . '/images/documentos/' . $imageSelfie; file_put_contents($path, $decoded); file_put_contents($path2, $decoded2); file_put_contents($path3, $decoded3); } $notification = array( // 'icon' => 'ic_imali_logo_verde_01', 'icon' => 'ic_i_mali_cover', 'title' => 'Actualização Documentos', 'body' => 'Caro cliente, os teus documentos foram submetidos com Succeso.', 'click_action' => 'com.imali.payapp.payment_NOTICIA', 'color' => '#ffffff' ); $data = array( 'sms' => 'Parabéns, os teus documentos foram submetidos com Sucesso. Com os documento actualizados, tens a possibilidade de fazer transacções e pagamentos em montantes maiores. Os teus documentos estão em avaliação e o iMali vai responder o teu pedido em breve. iMali, Diferente Como Tu!', 'terminal' => 'firebase' ); $userData = User::query() ->where('id', $request->user()->id) ->first(); $this->pushNotifification($userData->firebase_token, $notification, $data); return response()->json(['message' => 'Documento Carregado com Sucesso']); // } } public function pushNotifification($token, $notification = array(), $data = array()) { $apiKey = 'AAAA8zVzEPQ:APA91bHl_DXB6UGb_6gZlmFnaLTQoANtX_OBjvl3nOy2bSlnFhxedvk6EhGj7cZoIvmlbKeCnqGxXbuyMH_rEPuhRXvuitXzo6Pfl2TMXLar1PlifXqEhYq6tS55UMrY2Kffzj-P_UH-'; $fields = array('to' => $token, 'notification' => $notification, 'data' => $data); $headers = array('Authorization: key=' . $apiKey, 'Content-Type: application/json'); $url = 'https://fcm.googleapis.com/fcm/send'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($fields)); $result = curl_exec($curl); curl_close($curl); return json_decode($result, true); } }