|
@@ -306,4 +306,81 @@ class AdminController extends Controller
|
|
}
|
|
}
|
|
return implode("", $output);
|
|
return implode("", $output);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public function orderCreate(Request $request){
|
|
|
|
+ $userUid = $request->get('userUid');
|
|
|
|
+ $allTests = config('constants.tests');
|
|
|
|
+ $selectedTests = $request->get('tests', []);
|
|
|
|
+ if(!count($selectedTests)){
|
|
|
|
+ return $this->fail('Please select a test!');
|
|
|
|
+ }
|
|
|
|
+ $tests = [];
|
|
|
|
+ foreach($allTests as $key=>$title){
|
|
|
|
+ $tests[$key] = in_array($key, $selectedTests) ? 1 : 0;
|
|
|
|
+ }
|
|
|
|
+ $data = [
|
|
|
|
+ 'tests' => $tests,
|
|
|
|
+ 'tests_total' => $request->get('total'),
|
|
|
|
+ 'tests_lab_id' => $request->get('tests_lab_id')
|
|
|
|
+ ];
|
|
|
|
+
|
|
|
|
+ $detailJson = [
|
|
|
|
+ 'selected_options' => json_encode($data)
|
|
|
|
+ ];
|
|
|
|
+
|
|
|
|
+ $javaResponse = $this->callJava('/api/customerStore/submitOrderAsAdmin', ['userUid' => $userUid, 'detailJson' => json_encode($detailJson)], $this->sessionKey);
|
|
|
|
+ if (!@$javaResponse['success']) {
|
|
|
|
+ return $this->fail($javaResponse['message']);
|
|
|
|
+ }
|
|
|
|
+ return $this->pass();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function createNewUser(Request $request){
|
|
|
|
+ $email = $request->get('email');
|
|
|
|
+ $existingUser = User::where('email', $email)->first();
|
|
|
|
+ if ($existingUser) {
|
|
|
|
+ return $this->fail('This email account is in use!');
|
|
|
|
+ }
|
|
|
|
+ $nameFirst = $request->get('fname');
|
|
|
|
+ $nameLast = $request->get('lname');
|
|
|
|
+ $name = $nameFirst . ' ' . $nameLast;
|
|
|
|
+ //call java
|
|
|
|
+ $temporaryPassword = generate_password(10);
|
|
|
|
+
|
|
|
|
+ $userCreateAccountResponse = $this->callJava('/api/auth/signUpWithEmail', [
|
|
|
|
+ 'fullName' => $name,
|
|
|
|
+ 'nameFirst' => $nameFirst,
|
|
|
|
+ 'nameLast' => $nameLast,
|
|
|
|
+ 'email' => $request->get('email'),
|
|
|
|
+ 'phoneNumber' => $request->get('phoneNumber'),
|
|
|
|
+ 'password' => $temporaryPassword,
|
|
|
|
+ 'passwordConfirmation' => $temporaryPassword,
|
|
|
|
+ ], null);
|
|
|
|
+
|
|
|
|
+ if (!@$userCreateAccountResponse['success']) {
|
|
|
|
+ return $this->fail($userCreateAccountResponse['message']);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $newUser = User::where('uid', $userCreateAccountResponse['data'])->first();
|
|
|
|
+
|
|
|
|
+ //Send email via java
|
|
|
|
+ if ($newUser) {
|
|
|
|
+ $this->emailService->sendUserWelcomeEmail($newUser, $temporaryPassword);
|
|
|
|
+ }
|
|
|
|
+ $this->storeUserDetailJson($request, $newUser);
|
|
|
|
+
|
|
|
|
+ return $this->pass($userCreateAccountResponse['data']);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function storeUserDetailJson(Request $request, User $user)
|
|
|
|
+ {
|
|
|
|
+ $data = [
|
|
|
|
+ 'uid' => $user->uid,
|
|
|
|
+ 'phone_number' => $request->get('phoneNumber'),
|
|
|
|
+ 'notification_option' => $request->get('notificationOption'),
|
|
|
|
+ 'request_change_password' => 1,
|
|
|
|
+ ];
|
|
|
|
+
|
|
|
|
+ $res = $this->callJava('/api/user/upsertDetailJson', $data, $this->sessionKey);
|
|
|
|
+ }
|
|
}
|
|
}
|