File manager - Edit - /var/www/html/portal/app/Http/Services/Cultura/Credenciamento/MusicoEmpresaService.php
Back
<?php namespace App\Http\Services\Cultura\Credenciamento; use App\Models\Cultura\Credenciamento\Musico; use App\Models\Empresa; use App\Models\Endereco; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; class MusicoEmpresaService { public function storeInline(Musico $musico, array $data) { DB::beginTransaction(); try { $cnpjDigits = preg_replace('/\D/', '', $data['cnpj']); $existing = Empresa::where('cnpj', $cnpjDigits)->first(); if ($existing) { if ((string) $existing->responsavel_id !== (string) $musico->user_id) { return response()->json(['ok' => false, 'error' => 'CNPJ já cadastrado e o usuário não é o responsável legal.'], 422); } $musico->empresas()->syncWithoutDetaching([(string) $existing->id]); DB::commit(); return response()->json(['ok' => true, 'empresa' => ['id' => (string) $existing->id], 'message' => 'Empresa existente vinculada.']); } $endereco = Endereco::create([ 'user_id' => (string) Auth::id(), 'owner_id' => null, 'domicilio' => 'OUTROS', 'cep' => $data['cep'], 'logradouro' => $data['logradouro'], 'numero' => $data['numero'] ?? null, 'complemento' => $data['complemento'] ?? null, 'cidade' => $data['cidade'], 'bairro' => $data['bairro'], 'uf' => $data['uf'], 'latitude' => null, 'longitude' => null, 'comprovante' => null, 'status' => 'ATIVADO', 'fixed' => 0, ]); $empresa = Empresa::create([ 'razaoSocial' => $data['razaoSocial'], 'nomeFantasia' => $data['nomeFantasia'], 'numeroInscricaoMunicipal' => $data['numeroInscricaoMunicipal'] ?? '', 'cnpj' => $cnpjDigits, 'anoAbertura' => $data['anoAbertura'] ?? date('Y'), 'owner_id' => (string) Auth::id(), 'endereco_id' => (string) $endereco->id, 'responsavel_id' => (string) $musico->user_id, 'preposto_id' => null, 'principalAtividade' => $data['principalAtividade'] ?? null, 'telefone' => $data['telefone'] ?? null, 'celular' => $data['celular'] ?? null, 'email' => $data['email'] ?? null, 'site' => $data['site'] ?? null, 'contratoSocial' => null, 'cartaoCNPJ' => null, 'registroJuntaComercial' => null, 'alvaraDeFuncionamento' => null, 'inscricaoEstadual' => null, 'inscricaoMunicipal' => null, 'status' => 'ATIVADO', ]); $endereco->fill(['owner_id' => (string) $empresa->id]); $endereco->save(); $musico->empresas()->syncWithoutDetaching([(string) $empresa->id]); DB::commit(); return response()->json(['ok' => true, 'empresa' => ['id' => (string) $empresa->id]]); } catch (\Exception $e) { DB::rollBack(); return response()->json(['ok' => false, 'error' => $e->getMessage()], 422); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings