Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
WIKIPEDIA
/
imaliapi
/
app
/
Http
/
Controllers
:
ComercianteController.php.save
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace App\Http\Controllers; use App\Bank\Payment; use App\Classes\Comerciante; use App\Classes\GenerateImaliAccount; use App\Classes\Record; use App\Imali\ImaliAccount; use App\Imali\MerchantAccount; use App\Imali\MerchantContract; use App\Imali\RamoActivity; use App\Imali\RechargeImaliAccount; use App\Store; use App\StoreConfig; use App\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use QRCode; use Webpatser\Uuid\Uuid; class ComercianteController extends Controller { public function getUserByImaliAccount($account_number) { $user = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') // ->join('recharge_imali_accounts', 'recharge_imali_accounts.imali_account_id', '=', 'imali_accounts.id') ->where('imali_accounts.account_number', $account_number) ->first(); $recharge = RechargeImaliAccount::query() ->join('imali_accounts', 'recharge_imali_accounts.imali_account_id', '=', 'imali_accounts.id') ->where('imali_accounts.account_number', $account_number) ->get() ->last(); return response()->json(['user' => $user, 'lastRecharge' => $recharge]); } public function getUserByImaliAccountPhone($account_number) { $user = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') // ->join('recharge_imali_accounts', 'recharge_imali_accounts.imali_account_id', '=', 'imali_accounts.id') ->where('imali_accounts.account_number', $account_number) ->select('users.name', 'imali_accounts.account_number') ->first(); $recharge = RechargeImaliAccount::query() ->join('imali_accounts', 'recharge_imali_accounts.imali_account_id', '=', 'imali_accounts.id') ->where('imali_accounts.account_number', $account_number) ->get() ->last(); return response()->json($user); } public function getUserData($id) { $user = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') ->where('users.id', $id) ->first(); return response()->json($user); } public function getRamoActivity() { $log = new Record(); $ramo = RamoActivity::query()->orderBy('nome', 'asc')->get(); return response()->json(['data' => $ramo], 200); } public function saveLoja(Request $request) { if ($request->isXmlHttpRequest()) { return response()->json("Fe"); } if ($request->isJson()) { $this->validate($request, [ 'name' => 'required', 'email' => 'required', 'nuit' => 'required|int', 'address' => 'required', 'manager' => 'required', 'username' => 'required', 'manager_phone_number' => 'required|string', 'mobile_phone' => 'required|string', 'taxa' => 'required', 'max_balance' => 'required', 'nr_transaction' => 'required', 'min_amount' => 'required', 'max_amount' => 'required', 'use_point_limit' => 'required', ]); $random = new GenerateImaliAccount(); // $number = $random->GenerateImaliAccountNumberAndStore(); $number = $random->GenerateImaliAccountNumberAndStoreAndMerchant(); $response = Store::create([ 'name' => $request->name, 'username' => $request->username, 'nuit' => $request->nuit, 'nib' => $request->nib, 'address' => $request->address, 'balance' => 0, 'manager' => $request->manager, 'manager_phone_number' => $request->manager_phone_number, 'public_id' => Uuid::generate()->string, 'mobile_phone' => $request->mobile_phone, 'account_number' => $number, 'email' => $request->email, 'logo' => url('/') . '/imaliapi/public/images/comerciante/logo/store.png', 'photo' => url('/') . '/imaliapi/public/images/comerciante/logo/store.png', 'password' => Hash::make('12345678'), 'user_client_id' => $request->user_client_id, 'merchant_account_id' => $request->merchant_account_id, // 'merchant_contract_id' => $request->$contrato->id, 'industry_activity' => $request->industry_activity, 'user_id' => $request->user()->id ]); $contrato = MerchantContract::create([ 'taxa' => $request->taxa, 'max_balance' => $request->max_balance, 'nr_transaction' => $request->nr_transaction, 'status' => 'activo', 'min_amount' => $request->min_amount, 'max_amount' => $request->max_amount, 'use_point' => true, 'use_point_limit' => $request->use_point_limit, 'user_id' => $request->user()->id, 'merchant_account_id' => $request->merchant_account_id, 'store_id' => $response->id, ]); $response->update(['merchant_contract_id' => $contrato->id]); $storeConfig = StoreConfig::query() ->where('store_id', '=', $response->id) ->first(); if (!$storeConfig) { StoreConfig::create([ 'store_id' => $response->id ]); } if ($response) { $fileQrcode = $path = public_path('/images/comerciante/qrcode/loja' . '/' . $response->public_id . '.' . 'png'); // $response->update(['qrcode' => 'http://localhost:8000/images/comerciante/qrcode/' . $response->public_id . '.' . 'png']); // $response->update(['qrcode' => 'http://160.242.35.226/imaliapi/public/images/comerciante/qrcode/loja/' . $response->public_id . '.' . 'png']); $response->update(['qrcode' => url('/') . '/images/comerciante/qrcode/loja/' . $response->public_id . '.' . 'png']); \QRCode::text($response->public_id) ->setOutfile($fileQrcode) ->setSize(10) ->setMargin(10) ->png(); return response()->json(['message' => 'Loja Adiconada com Sucesso'], 200); } } } public function generateQrcode($id, $accountNumber) { $response = Store::query() ->where('id', $id) ->where('account_number', $accountNumber) ->first(); if ($response) { $fileQrcode = $path = public_path('/images/comerciante/qrcode' . '/' . $response->public_id . '.' . 'png'); // $response->update(['qrcode' => 'http://localhost:8000/images/comerciante/qrcode/' . $response->public_id . '.' . 'png']); // $response->update(['qrcode' => 'http://160.242.35.226/imaliapi/public/images/comerciante/qrcode/' . $response->public_id . '.' . 'png']); $response->update(['qrcode' => url('/') . '/images/comerciante/qrcode/' . $response->public_id . '.' . 'png']); \QRCode::text($response->public_id) ->setOutfile($fileQrcode) ->setSize(10) ->setMargin(10) ->png(); return response()->json(['message' => 'Gerado com Sucesso'], 200); } else { return response()->json(['message' => 'Falha ao Gerar o Qrcode. Erro Loja nao encontrada'], 400); } } public function saveComerciante22(Request $request) { $comerciante = MerchantAccount::create([ 'name' => $request->name, 'address' => $request->address, 'institution' => $request->institution, 'bi' => $request->bi, // 'nuit' => $request->nuit, 'status' => 'activa', 'phone_number' => $request->phone_number, 'email' => $request->email, 'password' => Hash::make('12345678'), 'imali_account_id' => null, // 'account_number' => $numero, 'user_id' => $request->user()->id, // 'nib' => $request->nib, 'public_merchant_id' => Uuid::generate()->string ]); } public function saveComerciante(Request $request) { $this->validate($request, [ 'name' => 'required', 'institution' => 'required', 'address' => 'required', 'phone_number' => 'required|unique:merchant_accounts,phone_number', 'email' => 'required|email|unique:merchant_accounts,email', 'nuit' => 'required|min:9', 'nib' => 'required', 'bi' => 'required|min:13' ], [ 'email.required' => 'O Campo Email é de carácter Obrigatório', 'email.unique' => 'Este Email já está em uso', 'phone.required' => 'O Número do celular é obrigatório', 'phone_number.unique' => 'O Número do celular já está em uso', 'phone_number.min' => 'O Campo Celular deve ter 9 dígitos', 'name.required' => 'O Campo Nome é obrigatório', 'bi.required' => 'O campo Bi é Obrigatório', 'bi.min' => 'O campo Bi ter 13 dígitos', ]); // $user = User::find($request->user()->id); // $imali = ImaliAccount::query()->where('account_number', $request->account_number)->first(); // $imaliCheck = ImaliAccount::query()->where('account_number', $request->account_number)->count(); // $ramo = RamoActivity::find(1); // $generate = new Comerciante(); // $numero = $generate->generateNumber(9); // $numero = $random->GenerateImaliAccountNumberAndMetchant(); // $imali = new GenerateImaliAccount(); //// $generateImaliAcount = $imali->GenerateImaliAccountNumberAndMetchant(); //// $generateImaliAcount = $imali->GenerateImaliAccountNumberAndStore(); // $generateImaliAcount = $imali->GenerateImaliAccountNumberAndStoreAndMerchant(); // str_replace(["-", "–"], '', Uuid::generate()->string); // 'account_number' => $numero, $random = new GenerateImaliAccount(); $numero = $random->GenerateImaliAccountNumberAndStoreAndMerchant(); // $numero = $random->GenerateImaliAccountNumberAndStore(); $comerciante = MerchantAccount::create([ 'name' => $request->name, 'address' => $request->address, 'institution' => $request->institution, 'bi' => $request->bi, 'nuit' => $request->nuit, 'status' => 'activa', 'phone_number' => $request->phone_number, 'email' => $request->email, 'password' => Hash::make('12345678'), 'account_number' => $numero, 'imali_account_id' => null, 'user_id' => $request->user()->id, 'nib' => $request->nib, 'public_merchant_id' => Uuid::generate()->string, 'kyc_config_id' => 1 ]); $fileQrcode = $path = public_path('/images/comerciante/qrcode/comerciante' . '/' . $comerciante->public_merchant_id . '.' . 'png'); $comerciante->update(['qrcode' => url('/') . '/images/comerciante/qrcode/comerciante/' . $comerciante->public_merchant_id . '.' . 'png']); \QRCode::text($comerciante->public_merchant_id) ->setOutfile($fileQrcode) ->setSize(10) ->setMargin(10) ->png(); return response()->json(['message' => 'Comerciante Adicionado com Sucesso'], 200); // if ($imaliCheck === 0) { // $comerciante = MerchantAccount::create([ // 'name' => $request->name, // 'address' => $request->address, // 'institution' => $request->institution, // 'bi' => $request->bi, // 'nuit' => $request->nuit, // 'status' => 'activa', // 'phone_number' => $request->phone_number, // 'email' => $request->email, // 'password' => Hash::make('12345678'), // 'imali_account_id' => null, // 'account_number' => $numero, // 'user_id' => $request->user()->id, // 'nib' => $request->nib, // 'public_merchant_id' => Uuid::generate()->string // ]); // // $fileQrcode = $path = public_path('/images/comerciante/qrcode/comerciante' . '/' . $comerciante->account_number . '.' . 'png'); // $comerciante->update(['qrcode' => 'http://160.242.36.118:81/imaliapitest/public/images/comerciante/qrcode/comerciante/' . $comerciante->public_merchant_id . '.' . 'png']); // \QRCode::text($comerciante->public_merchant_id) // ->setOutfile($fileQrcode) // ->setSize(10) // ->setMargin(10) // ->png(); // // // // //// if ($contrato) { //// $fileQrcode = $path = public_path('/images/comerciante/qrcode'.'/'.$comerciante->public_merchant_id.'.'.'png'); ////// $fileQrcode = $path = public_path('/images/comerciante/qrcode'.'/'.$comerciante->account_number.'.'.'png'); //// $comerciante->update(['qrcode' => 'http://localhost:8000/images/comerciante/qrcode/'.$comerciante->public_merchant_id.'.'.'png']); //// \QRCode::text($comerciante->public_merchant_id) //// ->setOutfile($fileQrcode) //// ->setSize(10) //// ->setMargin(10) //// ->png(); //// //// $log = new Record(); //// //// $log->createLog([ //// 'description' => 'Comerciante Adicionado com Sucesso', //// 'details' => $request->all(), //// 'operation' => 'Save Comerciante', //// 'status' => 'Success', //// 'user_id' => $request->user()->id //// ]); //// //// return response()->json(['message' => 'Comerciante Adicionado com Sucesso'], 200); //// } // return response()->json(['message' => 'Comerciante Adicionado com Sucesso'], 200); // } else { // // $comerciante = MerchantAccount::create([ // 'name' => $request->name, // 'address' => $request->address, // 'institution' => $request->institution, // 'bi' => $request->bi, // 'nuit' => $request->nuit, // 'status' => 'activa', // 'phone_number' => $request->phone_number, // 'email' => $request->email, // 'password' => Hash::make('12345678'), // 'account_number' => $numero, // 'imali_account_id' => null, // 'user_id' => $request->user()->id, // 'nib' => $request->nib, // 'public_merchant_id' => Uuid::generate()->string // ]); // //// $contrato = MerchantContract::create([ //// 'taxa' =>$request->taxa, //// 'max_balance' => $request->max_balance, //// 'nr_transaction' => $request->nr_transaction, //// 'status' => 'activo', //// 'min_amount' => $request->min_amount, //// 'max_amount' => $request->max_amount, //// 'use_point' => true, //// 'use_point_limit' => $request->use_point_limit, //// 'user_id' => $request->user()->id, //// 'merchant_account_id' => $comerciante->id //// ]); // // $fileQrcode = $path = public_path('/images/comerciante/qrcode/comerciante' . '/' . $comerciante->account_number . '.' . 'png'); // $comerciante->update(['qrcode' => 'http://160.242.36.118:81/imaliapitest/public/images/comerciante/qrcode/comerciante/' . $comerciante->public_merchant_id . '.' . 'png']); // \QRCode::text($comerciante->public_merchant_id) // ->setOutfile($fileQrcode) // ->setSize(10) // ->setMargin(10) // ->png(); // if ($contrato) { // $fileQrcode = $path = public_path('/images/comerciante/qrcode'.'/'.$comerciante->public_merchant_id.'.'.'png'); //// $fileQrcode = $path = public_path('/images/comerciante/qrcode'.'/'.$comerciante->account_number.'.'.'png'); // $comerciante->update(['qrcode' => 'http://localhost:8000/images/comerciante/qrcode/'.$comerciante->public_merchant_id.'.'.'png']); // \QRCode::text($comerciante->public_merchant_id) // ->setOutfile($fileQrcode) // ->setSize(10) // ->setMargin(10) // ->png(); // // $log = new Record(); // // $log->createLog([ // 'description' => 'Comerciante Adicionado com Sucesso', // 'details' => $request->all(), // 'operation' => 'Save Comerciante', // 'status' => 'Success', // 'user_id' => $request->user()->id // ]); // // return response()->json(['message' => 'Comerciante adicionado com sucesso'], 200); // } // $comerciante = MerchantAccount::create([ // 'name' => $request->name, // 'endereco' => $request->endereco, // 'account_number' => $numero, // 'balance' => 0, // 'balance_maximo' => $request->balance_maximo, // 'estado' => 'activa', // 'estado_color' => '#388E3C', // 'imali_account_id' => $imali->id, // 'user_id' => $request->user_id, // 'ramo_activity_id' => $request->ramo_activity_id, // 'telefone_comerciante' => $request->telefone_comerciante, // 'telefone_loja' => $request->telefone_loja, // 'nome_comerciante' => $request->nome_comerciante // ]); // // $contrato = MerchantContract::create([ // 'taxa' =>$request->taxa, // 'balance_max' => $request->balance_max, // 'nr_transacao' => $request->nr_transacao, // 'estado' => 'active', // 'valor_max' => $request->valor_max, // 'valor_min' => $request->valor_min, // 'estado_color' => '#388E3C', // 'use_point' => true, // 'use_point_limite' => $request->use_point_limite, // 'user_id' => $request->user_id, // 'merchant_account_id' => $comerciante->id // ]); // // if ($contrato) { // $fileQrcode = $path = public_path('/images/comerciante/qrcode'.'/'.$comerciante->account_number.'.'.'png'); //// $fileQrcode = $path = public_path('/images/comerciante/qrcode'.'/'.$comerciante->account_number.'.'.'png'); // $comerciante->update(['qrcode' => 'http://localhost:8000/images/comerciante/qrcode/'.$comerciante->account_number.'.'.'png']); // \QRCode::text($comerciante->account_number) // ->setOutfile($fileQrcode) // ->setSize(10) // ->setMargin(10) // ->png();; // return response()->json(['message' => 'Comerciante adicionado com sucesso'], 200); // } // return response()->json(['message' => 'Comerciante adicionado com sucesso'], 200); } public function updateComerciante(Request $request) { // $comerciante = MerchantAccount::find($request->id); $comerciante = MerchantAccount::query() ->where('id', '=', $request->id)->first(); // $imaliCheck = ImaliAccount::query()->where('account_number', $request->account_number)->count(); $comerciante->update([ 'name' => $request->name, 'address' => $request->address, // 'balance' => 0, 'email' => $request->email, 'phone_number' => $request->phone_number, 'institution' => $request->institution, 'bi' => $request->bi, // 'balance_maximo' => $request->balance_maximo, 'status' => 'activa', // 'estado' => 'activa', // 'estado_color' => '#388E3C', // 'imali_account_id' => null, 'user_id' => $request->user_id, // 'ramo_activity_id' => $request->ramo_activity_id, // 'telefone_comerciante' => $request->telefone_comerciante, // 'telefone_loja' => $request->telefone_loja, // 'nome_comerciante' => $request->nome_comerciante, // 'email_loja' => $request->email_loja, // 'nib' => $request->nib, ]); // $contrato = MerchantContract::query()->where('merchant_account_id', $comerciante->id)->first(); // $contrato->update([ // 'taxa' => $request->taxa, // 'balance_max' => $request->balance_max, // 'nr_transacao' => $request->nr_transacao, // 'estado' => 'active', // 'valor_max' => $request->valor_max, // 'valor_min' => $request->valor_min, // 'estado_color' => '#388E3C', // 'use_point' => true, // 'use_point_limite' => $request->use_point_limite, // 'user_id' => $request->user_id, // ]); return response()->json(['message' => 'Dados do Comerciante ' . $comerciante->name, ' actualizados com Sucesso'], 200); } public function getComerciante($account_number) { $comerciante = MerchantAccount::query() ->join('ramo_activities', 'ramo_activities.id', '=', 'merchant_accounts.ramo_activity_id') ->join('users', 'users.id', '=', 'merchant_accounts.user_id') ->leftJoin('imali_accounts', 'imali_accounts.id', '=', 'merchant_accounts.imali_account_id') ->join('merchant_contracts', 'merchant_contracts.merchant_account_id', '=', 'merchant_accounts.id') ->where('merchant_accounts.account_number', $account_number) ->select('merchant_accounts.*') ->first(); if ($comerciante) { return response()->json($comerciante, 200); } else { return response()->json(['message' => 'Qrcode Inválido'], 404); } } public function getMerchant(Request $request) { $log = new Record(); $comerciante = MerchantAccount::query() ->join('ramo_activities', 'ramo_activities.id', '=', 'merchant_accounts.ramo_activity_id') ->join('users', 'users.id', '=', 'merchant_accounts.user_id') ->leftJoin('imali_accounts', 'imali_accounts.id', '=', 'merchant_accounts.imali_account_id') ->join('merchant_contracts', 'merchant_contracts.merchant_account_id', '=', 'merchant_accounts.id') ->where('merchant_accounts.public_merchant_id', $request->merchant_id) ->select('merchant_accounts.*') ->first(); if ($comerciante) { $log->createLog([ 'description' => 'Comerciante encontrado com Sucesso', 'details' => $comerciante->name . ' ' . $comerciante->account_number, 'operation' => 'Get Comerciante', 'status' => 'Success', 'user_id' => $request->user()->id ]); return response()->json($comerciante, 200); } else { $log->createLog([ 'description' => 'Qrcode Inválido', 'details' => $request->all(), 'operation' => 'Get Comerciante', 'status' => 'Success', 'user_id' => $request->user()->id ]); return response()->json(['message' => 'Qrcode Inválido'], 404); } } public function getStorePayment(Request $request) { $log = new Record(); $comerciante = Store::query() ->where('public_id', '=', $request->merchant_id) ->join('ramo_activities', 'ramo_activities.id', '=', 'stores.industry_activity') ->select('stores.*', 'ramo_activities.nome as category', 'ramo_activities.logo as logo_category') ->first(); if ($comerciante) { $log->createLog([ 'description' => 'Comerciante encontrado com Sucesso', 'details' => $comerciante->name . ' ' . $comerciante->account_number, 'operation' => 'Get Comerciante', 'status' => 'Success', 'user_id' => $request->user()->id ]); $comerciante->makeHidden([ "industry_activity", "user_id", "created_at", "updated_at", "user_client_id", "balance", "session_status", "nib", "nuit", "status", "email", "manager_phone_number", "manager", "id", "merchant_account_id", "merchant_contract_id", "username", "latitude", "longitude" ]); return response()->json($comerciante); } else { $store = Store::query() ->join('payments', 'payments.store_id', '=', 'stores.id') ->join('ramo_activities', 'ramo_activities.id', '=', 'stores.industry_activity') ->where('payments.transaction_id', '=', $request->merchant_id) ->select('stores.name', 'stores.mobile_phone', 'stores.account_number', 'stores.address', 'payments.transaction_id as transaction', 'payments.amount', 'ramo_activities.nome as category', 'ramo_activities.logo as logo_category') ->first(); if ($store) { return response()->json($store); } else { return response()->json(['message' => 'Qrcode Inválido'], 404); } } } public function getMerchant2(Request $request) { $log = new Record(); // $comerciante = MerchantAccount::query() // ->join('ramo_activities', 'ramo_activities.id', '=', 'merchant_accounts.ramo_activity_id') // ->join('users', 'users.id', '=', 'merchant_accounts.user_id') // ->leftJoin('imali_accounts', 'imali_accounts.id', '=', 'merchant_accounts.imali_account_id') // ->join('merchant_contracts', 'merchant_contracts.merchant_account_id', '=', 'merchant_accounts.id') // ->where('merchant_accounts.public_merchant_id', $request->merchant_id) // ->select('merchant_accounts.*') // ->first(); $comerciante = Store::query() ->where('public_id', '=', $request->merchant_id) ->join('ramo_activities', 'ramo_activities.id', '=', 'stores.industry_activity') ->select('stores.*', 'ramo_activities.nome as category', 'ramo_activities.logo as logo_category') ->first(); if ($comerciante) { $log->createLog([ 'description' => 'Comerciante encontrado com Sucesso', 'details' => $comerciante->name . ' ' . $comerciante->account_number, 'operation' => 'Get Comerciante', 'status' => 'Success', 'user_id' => $request->user()->id ]); return response()->json($comerciante, 200); } else { $store = Store::query() // ->join('store_amount_generations', 'store_amount_generations.store_id', '=', 'stores.id') ->join('payments', 'payments.store_id', '=', 'stores.id') ->join('ramo_activities', 'ramo_activities.id', '=', 'stores.industry_activity') ->where('store_amount_generations.transaction', '=', $request->merchant_id) ->select('stores.*', 'store_amount_generations.amount', 'ramo_activities.nome as category', 'ramo_activities.logo as logo_category', 'store_amount_generations.*', 'store_amount_generations.id as store_amount_generation_id') ->first(); if ($store) { return response()->json($store); } else { return response()->json(['message' => 'Qrcode Inválido'], 404); } } } public function getComerciante2($account_number) { $comerciante = MerchantAccount::query() ->join('ramo_activities', 'ramo_activities.id', '=', 'merchant_accounts.ramo_activity_id') ->join('users', 'users.id', '=', 'merchant_accounts.user_id') ->join('imali_accounts', 'imali_accounts.id', '=', 'merchant_accounts.imali_account_id') ->join('merchant_contracts', 'merchant_contracts.merchant_account_id', '=', 'merchant_accounts.id') ->where('merchant_accounts.account_number', $account_number) ->select('ramo_activities.nome as ramo', 'imali_accounts.account_number as imali_account', 'users.name as user_name', 'merchant_contracts.*', 'merchant_accounts.*') ->first(); return response()->json(['data' => $comerciante], 200); } public function getComerciantes() { $comerciante = MerchantAccount::query() // ->join('ramo_activities', 'ramo_activities.id', '=', 'merchant_accounts.ramo_activity_id') ->join('admins', 'admins.id', '=', 'merchant_accounts.user_id') // ->leftJoin('imali_accounts', 'imali_accounts.id', '=', 'merchant_accounts.imali_account_id') ->leftJoin('merchant_contracts', 'merchant_contracts.merchant_account_id', '=', 'merchant_accounts.id') // ->select('ramo_activities.nome as ramo', 'imali_accounts.account_number as imali_account', 'users.name as user_name', 'merchant_contracts.*', 'merchant_accounts.*') ->select('merchant_accounts.*', 'admins.name as username') ->distinct() ->paginate(10); $comerciante = MerchantAccount::query() // ->join('ramo_activities', 'ramo_activities.id', '=', 'merchant_accounts.ramo_activity_id') ->join('admins', 'admins.id', '=', 'merchant_accounts.user_id') // ->leftJoin('imali_accounts', 'imali_accounts.id', '=', 'merchant_accounts.imali_account_id') ->leftJoin('merchant_contracts', 'merchant_contracts.merchant_account_id', '=', 'merchant_accounts.id') // ->select('ramo_activities.nome as ramo', 'imali_accounts.account_number as imali_account', 'users.name as> ->select('merchant_accounts.*', 'admins.name as username') ->distinct() ->paginate(10); return response()->json(['data' => $comerciante], 200); return response()->json(['data' => $comerciante], 200); } public function getComercianteTransactions($account_number) { $comerciante = MerchantAccount::query() ->join('merchant_contracts', 'merchant_contracts.merchant_account_id', '=', 'merchant_accounts.id') ->where('merchant_accounts.account_number', $account_number) ->first(); $payments = Payment::query() ->join('users', 'users.id', '=', 'payments.sender_id') ->join('imali_accounts', 'imali_accounts.user_id', '=', 'payments.sender_id') ->where('payments.merchant_account_id', $comerciante->id) ->get(); return response()->json(['payments' => $payments, 'data' => $comerciante], 200); } public function getUserByImaliAccountReference($reference) { $user = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') ->where('imali_accounts.reference', $reference) ->first(); $lastBalance = ImaliAccount::query() ->join('users', 'users.id', '=', 'imali_accounts.user_id') ->join('recharge_imali_accounts', 'recharge_imali_accounts.imali_account_id', '=', 'imali_accounts.id') ->where('imali_accounts.reference', $reference) ->select('recharge_imali_accounts.*') ->get()->last(); return response()->json(['data' => $user, 'lastBalance' => $lastBalance]); } public function getStore($id) { $store = Store::query() ->where('stores.merchant_account_id', $id) ->leftJoin('admins', 'admins.id', '=', 'stores.user_id') ->leftJoin('ramo_activities', 'ramo_activities.id', '=', 'stores.industry_activity') ->leftJoin('merchant_contracts', 'stores.merchant_contract_id', '=', 'merchant_contracts.id') ->join('merchant_accounts', 'stores.merchant_account_id', '=', 'merchant_accounts.id') ->select('stores.*', 'admins.name as username', 'ramo_activities.nome as industry', 'merchant_contracts.*', 'merchant_accounts.name as merchant_name', 'stores.name as store_name') ->get(); return response()->json(['data' => $store]); } }