public function sendCustomerOtp(request $request)
 {
     $data = $request->only('mobile', 'email');
     $validator = Validator::make($data, ['mobile' => 'required|unique:users', 'email' => 'unique:users']);
     $messages = $validator->messages();
     if ($messages->has('email')) {
         $user = User::where('email', '=', $data['email'])->first();
         if ($user->hasRole(['customer'])) {
             return response()->json(['response_code' => 'ERR_UAE', 'message' => 'User Already Exists'], 409);
         }
     }
     if ($messages->has('mobile')) {
         $muser = User::where('mobile', '=', $data['mobile'])->first();
         if ($muser->hasRole(['customer'])) {
             return response()->json(['response_code' => 'ERR_MNT', 'message' => 'Mobile Number Taken'], 409);
         }
     }
     $previousMobile = TempMobile::where('mobile', $data['mobile'])->first();
     if ($previousMobile != '') {
         $previousMobile->delete();
     }
     $otp = rand(1000, 9999);
     $sms = Curl::to('https://control.msg91.com/api/sendhttp.php?authkey=101670ALSycXxv0ZZX56920dcd&mobiles=' . $data['mobile'] . '&message=Your%20Kaching%20OTP%20is%20' . $otp . '.%20Start%20dealing!&sender=KACHIN&route=4')->get();
     $mobile = ['mobile' => $data['mobile']];
     $tempMobile = TempMobile::create($mobile);
     $smsDb = ['mobile_id' => $tempMobile->id, 'code' => $otp, 'reference_id' => $sms];
     UserSmsCode::create($smsDb);
     $encrypted = Crypt::encrypt($tempMobile->id);
     return response()->json(['response_code' => 'RES_OS', 'messages' => 'OTP Sent', 'data' => $encrypted]);
 }
 public function sendOtpToUpdatedMobile($user_id, $mobile)
 {
     $previousMobile = TempMobile::where('mobile', $mobile)->first();
     if ($previousMobile != '') {
         $previousMobile->delete();
     }
     $otp = rand(1000, 9999);
     $sms = Curl::to('https://control.msg91.com/api/sendhttp.php?authkey=101670ALSycXxv0ZZX56920dcd&mobiles=' . $mobile . '&message=Your%20Kaching%20OTP%20is%20' . $otp . '.%20Start%20dealing!&sender=KACHIN&route=4')->get();
     $mobile = ['mobile' => $mobile];
     $tempMobile = TempMobile::create($mobile);
     $smsDb = ['mobile_id' => $tempMobile->id, 'code' => $otp, 'reference_id' => $sms];
     UserSmsCode::create($smsDb);
     $encrypted = Crypt::encrypt($tempMobile->id);
     return response()->json(['response_code' => 'RES_OS', 'messages' => 'OTP Sent', 'data' => $encrypted]);
 }
 public function sendOtp(request $request)
 {
     $user = Auth::user();
     if ($request->input('mobile') == $user->mobile) {
         return response()->json(['response_code' => 'FAIL', 'message' => 'Please Enter New Mobile Number']);
     }
     $rules = array('mobile' => 'unique:users');
     $validator = $this->customValidator($request->all(), $rules, array());
     if ($validator->fails()) {
         return response()->json(['response_code' => 'FAIL', 'message' => 'Mobile Taken']);
     }
     $previousMobile = TempMobile::where('mobile', $request->input('mobile'))->first();
     if ($previousMobile != '') {
         $previousMobile->delete();
     }
     $otp = rand(100000, 999999);
     $sms = Curl::to('https://control.msg91.com/api/sendhttp.php?authkey=101670ALSycXxv0ZZX56920dcd&mobiles=' . $request->input('mobile') . '&message=Your%20Kaching%20OTP%20is%20' . $otp . '.%20Start%20dealing!&sender=KACHIN&route=4')->get();
     $mobile = ['mobile' => $request->input('mobile')];
     $tempMobile = TempMobile::create($mobile);
     $smsDb = ['mobile_id' => $tempMobile->id, 'code' => $otp, 'reference_id' => $sms];
     $smsObj = UserSmsCode::create($smsDb);
     Session::set('smsId', $smsObj->id);
     return response()->json(['response_code' => 'PASS', 'message' => 'OTP Sent', 'dataValue' => Session::get('smsId')]);
 }