File manager - Edit - /var/www/html/portal/app/Http/Services/Accounts/Adesoes/AdesaoService.php
Back
<?php namespace App\Http\Services\Accounts\Adesoes; use App\Models\User; use App\Models\Permissao; use App\Models\Pessoa; use App\Models\Saude\Fibromialgia\Fibromialgia; use App\Http\Controllers\Controller; use Illuminate\Database\Eloquent\Collection; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\DB; use Illuminate\Http\Request; use Illuminate\Support\Facades\Mail; use App\Mail\FibromialgiaBoasVindasMail; class AdesaoService extends Controller { protected $User = User::class; protected $Fibromialgia = Fibromialgia::class; protected $Permissao = Permissao::class; protected $Pessoa = Pessoa::class; public function fibromialgia(User $user): RedirectResponse { try { DB::beginTransaction(); // 1. Busca ou cria registro de fibromialgia $fibromialgia = Fibromialgia::firstOrCreate( ['user_id' => $user->id] ); // 2. Garante permissão Permissao::updateOrCreate( [ 'user_id' => $user->id, 'permissao' => 'GERENCIADOR_DE_CONTA_ANGRA' ], [ 'user_id' => $user->id, 'permissao' => 'GERENCIADOR_DE_CONTA_ANGRA', 'visualizar' => 1, 'adicionar' => 1, 'editar' => 1, 'excluir' => 1, 'status' => 'ATIVADO', ] ); // 3. Garante que exista o registro Pessoa Pessoa::updateOrCreate( ['user_id' => $user->id], ['user_id' => $user->id] ); DB::commit(); Mail::to($user->email)->send(new FibromialgiaBoasVindasMail($user, $fibromialgia)); return redirect() ->route('admin.saude.fibromialgia.perfil.show', $fibromialgia->id) ->with('success', '* Assunto cadastrado com sucesso, vamos agora para a solicitação.'); } catch (\Exception $e) { DB::rollBack(); return redirect() ->route("admin.contaAngra.index") ->withInput() ->with('error', 'Erro tentar cadastrar esse chamado. ' . $e->getMessage()); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings