+ Optimize the sending of mail and notification

This commit is contained in:
Djery-Tom 2020-12-06 17:55:00 +01:00
parent 30d4acfb74
commit 6210645b5d
3 changed files with 58 additions and 39 deletions

View File

@ -97,7 +97,7 @@ class UserController extends Controller
* @OA\Property(property="town",
* type="string",
* minLength=3,
* default="Douala ",
* default="Douala",
* description="Ville de residence de l'utilisateur"
* ),
*

View File

@ -31,6 +31,7 @@ use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
use PDO;
@ -38,17 +39,23 @@ trait Helper
{
public function sendMail($email, $title, $messageText)
{
$recipients = [preg_replace("/\s+/", "", $email)];
try{
$recipients = [preg_replace("/\s+/", "", $email)]; // Supprimer les espaces dans le mail
Mail::mailer('smtp')->raw($messageText, function ($message) use ($recipients, $title) {
$message->subject($title);
$message->to($recipients);
});
}catch (\Throwable $t){
Log::error('-------- Mail not sent -----------');
Log::error($t->getMessage());
}
// return $this->successResponse("mail envoye");
}
public function sendPushNotificationToUser($user_code, $message, $data = null, $date = null)
{
try{
$client = new \GuzzleHttp\Client([
'base_uri' => env('NOTIFICATION_SERVICE_URL'),
]);
@ -59,9 +66,10 @@ trait Helper
$body->user_code = $user_code;
$body->message = $message;
$body->data = $data;
try{
$body->date = $date->format('Y-m-d H:i:s');
}catch (\Exception $e){
try {
$body->date = ($date instanceof \DateTime) ? $date->format('Y-m-d H:i:s') : $date;
} catch (\Throwable $t) {
Log::error($t->getMessage());
$body->date = $date;
}
$promise = $client->requestAsync('POST', '/onesignal/pushToUser', ['json' => $body, 'headers' => $headers])->then();
@ -75,10 +83,16 @@ trait Helper
// );
$promise->wait();
// return $response->getBody()->getContents();
}catch (\Throwable $t){
Log::error('-------- User notification not sent-----------');
Log::error($t->getMessage());
}
}
public function sendPushNotificationToAgent($agent_code, $message, $data = null, $date = null)
{
try{
$client = new \GuzzleHttp\Client([
'base_uri' => env('NOTIFICATION_SERVICE_URL'),
]);
@ -89,13 +103,18 @@ trait Helper
$body->agent_code = $agent_code;
$body->message = $message;
$body->data = $data;
try{
$body->date = $date->format('Y-m-d H:i:s');
}catch (\Exception $e){
try {
$body->date = ($date instanceof \DateTime) ? $date->format('Y-m-d H:i:s') : $date;
} catch (\Throwable $t) {
Log::error($t->getMessage());
$body->date = $date;
}
$promise = $client->requestAsync('POST', '/onesignal/pushToAgent', ['json' => $body, 'headers' => $headers])->then();
$promise->wait();
}catch (\Throwable $t){
Log::error('-------- Agent notification not sent-----------');
Log::error($t->getMessage());
}
}
public function checkPassword($password, $encrypted_password, $salt)

View File

@ -45,9 +45,9 @@ return [
|--------------------------------------------------------------------------
*/
'middleware' => [
'api' => ['docs'],
'api' => [],
'asset' => [],
'docs' => ['docs'],
'docs' => [],
'oauth2_callback' => [],
],
],