apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); } public function index() { $winnersList = Participation::where('instant_win_id', '<>', null)->get(); $settings = Settings::select('use_ean_codes', 'winning_proof')->first(); return view('bo.winners-list.index', compact('winnersList', 'settings')); } public function courrierArcadia($id) { $participation = Participation::findOrFail($id); $crmUser = $this->apiCrm->getCustomer($participation->user->crm_id); if ($crmUser->status === 'NOK') { return back()->withErrors("Erreur lors de la récupération de l'utilisateur dans la CRM : Code : " . $crmUser->code . " Message : " . $crmUser->message); } $crmId = $participation->user->crm_id; $crmUser = $crmUser->user; $corps = '' . "\n"; $corps .= ' ' . "\n"; $corps .= "\t" . '' . "\n"; $corps .= "\t" . '' . date('d/m/Y') . '' . "\n"; $corps .= "\t" . ' ' . "\n"; $corps .= "\t" . '' . "\n"; $corps .= "\t" . 'firstname) . ']]>' . "\n"; $corps .= "\t" . 'lastname) . ']]>' . "\n"; $corps .= "\t" . 'address) . ']]>' . "\n"; $corps .= "\t" . 'address2) . ']]>' . "\n"; $corps .= "\t" . 'postcode) . ']]>' . "\n"; $corps .= "\t" . 'city) . ']]>' . "\n"; $corps .= '' . "\n"; $corps .= "\t" . ' ' . "\n"; $corps .= "\t" . ' ' . "\n"; $corps .= "\t" . '1' . "\n"; $corps .= "\t" . '' . "\n"; $corps .= '' . "\n"; $corps .= ' ' . "\n"; $corps .= ''; return view('bo.winners-list.arcadia', compact('participation', 'corps', 'crmId')); } public function createCourrierArcadia(Request $request, $id) { $participation = Participation::findOrFail($id); $instantWin = $participation->instant_win; if ($instantWin->prize->arcadia_operation_code !== 0 && $instantWin->prize->arcadia_support_code !== 0) { $fields = [ 'root' => [ [ 'fieldName' => 'order_date', 'fieldValue' => date('d/m/Y') ], [ 'fieldName' => 'operation', 'fieldValue' => $instantWin->prize->arcadia_operation_code ] ], 'orderLine' => [ [ 'fieldName' => 'code_unique', 'fieldValue' => $participation->code->code_unique ], [ 'fieldName' => 'support_code', 'fieldValue' => $instantWin->prize->arcadia_support_code ], [ 'fieldName' => 'label_type_support', 'fieldValue' => 'Gain du lot : ' . $instantWin->prize->label_one ] ] ]; /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); if ($settings->use_ean_codes === 1) { $fields['orderLine'][] = [ 'fieldName' => 'code_on_pack', 'fieldValue' => $participation->code_ean->code ]; } $arcadiaMail = $this->apiCrm->ArcadiaOutgoingMail($participation->user->crm_id, $fields, 'game'); if ($arcadiaMail->status === 'NOK') { Mail::to(config('mail.MAIL_ADMIN'))->send(new CourrierArcadiaError($participation->user)); return back()->withErrors("Erreur lors de l'envoi du courrier Arcadia. Code : " . $arcadiaMail->code . " Message : " . $arcadiaMail->message); } } return back()->with('success', 'Courrier envoyé !'); } }