+ Improve the method of saving an agent's player_id

This commit is contained in:
Djery-Tom 2020-10-14 18:26:18 +01:00
parent d73f0a3b62
commit 58e5eadb1e
2 changed files with 33 additions and 7 deletions

View File

@ -23,3 +23,6 @@ ACCEPTED_KEYS=RfXvPQzQRgwpzQYPnLfWpZzgx4QseHlg
ONESIGNAL_REST_API_KEY=OWU0NTRhNzItMjAzNy00YTc4LTlhMDUtYTU4MmNlNGZmMmU3
ONESIGNAL_USER_AUTH_KEY=
ONESIGNAL_APP_ID=e8e7251f-713d-4658-9510-86d877fa6a7c
WALLET_SERVICE_BASE_URL =https://ilink-app.com
WALLET_SERVICE_KEY=yhSTSSqIO1uSE1icu09edPOeSFGxIDjo

View File

@ -6,10 +6,11 @@ use App\Models\Notification;
use App\Models\OnesignalAgent;
use App\Models\OnesignalUser;
use App\Traits\ApiResponser;
use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Http\Response;
use Illuminate\Http\Request;
use Berkayk\OneSignal\OneSignalFacade;
use Mockery\Matcher\Not;
use Illuminate\Support\Facades\Log;
class OneSignalController extends Controller
{
@ -63,17 +64,39 @@ class OneSignalController extends Controller
'set_default' => 'required|boolean'
]);
$records = OnesignalAgent::where('code_membre',$request->code_membre)->get();
$codes = [];
// Recuperer tous les codes agents de l'agent
$client = new \GuzzleHttp\Client([
'base_uri' => env('WALLET_SERVICE_BASE_URL'),
]);
$headers = [
'Authorization' => env('WALLET_SERVICE_KEY'),
];
try {
$result = $client->request('GET', '/agent_codes/'.$request->code_membre, ['headers' => $headers]);
$response = json_decode($result->getBody()->getContents());
if($response)
$codes = $response->response;
} catch (GuzzleException $e) {
Log::error($e->getMessage());
}
if($request->set_default){
foreach ($records as $r){
$r->delete();
foreach ($codes as $code){
$records = OnesignalAgent::where('code_membre',$code->code_membre)->get();
foreach ($records as $r){
$r->delete();
}
$user = new OnesignalAgent();
$user->code_membre = $code->code_membre;
$user->player_id = $request->player_id;
$user->save();
}
$user = new OnesignalAgent();
$user->fill($request->all());
$user->save();
}else{
$records = OnesignalAgent::where('code_membre',$request->code_membre)->get();
$saveUser = OnesignalAgent::where('code_membre',$request->code_membre)->where('player_id',$request->player_id)->first();
if(!$saveUser){