public function addplaceloot(Request $request) { sleep(0.06); $place = $request->get('place'); $lootId = $request->get('game_id'); if (Lots::where(['to' => $place, 'game_id' => $lootId])->first()) { return response()->json(['success' => 'false', 'reason' => 'placexm']); } $lot = Loot::find($lootId); if ($place > $lot->maxuser) { return response()->json(['success' => 'false', 'reason' => 'placexmx']); } if ($lot->users > $lot->maxuser) { return response()->json(['success' => 'false', 'reason' => 'placexmx']); } if (!isset($place) && !isset($lootId)) { return response()->json(['success' => 'false', 'reason' => 'placeandgame']); } if ($this->user->money < $lot->price) { return response()->json(['success' => 'false', 'reason' => 'nomoney']); } $lot->users += 1; $lot->save(); $user = User::find($this->user->id); $user->money -= $lot->price; $user->save(); $lots = new Lots(); $lots->to = $place; $lots->user_id = $user->id; $lots->game_id = $lootId; $lots->save(); if ($lot->status == 0 && $lot->users == $lot->maxuser) { $random = new RandomOrgClient(); $arrRandomInt = $random->generateIntegers(1, 1, $lot->maxuser, $lot); $lot->randomorg_result = json_encode($random->last_response['result']['random']); $lot->randomorg_sign = $random->last_response['result']['signature']; $lot->winner_id = $arrRandomInt[0]; $lot->status = 1; $this->sendItem($lot); foreach (Lots::where('game_id', '=', $lootId)->where('to', $arrRandomInt[0])->get() as $winner) { $lot->user_id = $winner->user_id; } $lot->save(); } return response()->json(['success' => 'true', 'reason' => 'ok']); }