Example #1
0
 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']);
 }