|
@@ -19,6 +19,7 @@ use OpenTok\MediaMode;
|
|
|
use OpenTok\OpenTok;
|
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
use Exception;
|
|
|
+use Ramsey\Uuid\Uuid;
|
|
|
|
|
|
class AdminController extends Controller
|
|
|
{
|
|
@@ -314,6 +315,12 @@ class AdminController extends Controller
|
|
|
return view('app.my-account.admin.users.sub.emails', compact('user', 'emailsSent'));
|
|
|
}
|
|
|
|
|
|
+ public function userSmses(Request $request, User $user){
|
|
|
+ $detailJson = $user->detailJson();
|
|
|
+ $smsesSent = @$detailJson->smses_sent ?? [];
|
|
|
+ return view('app.my-account.admin.users.sub.smses', compact('user', 'smsesSent'));
|
|
|
+ }
|
|
|
+
|
|
|
public function userMessages(Request $request, User $user){
|
|
|
$messages = Message::where('to_user_id', $user->id)->orWhere('from_user_id', $user->id);
|
|
|
$messages = $messages->orderBy('created_at', 'ASC')->paginate(25);
|
|
@@ -443,27 +450,77 @@ class AdminController extends Controller
|
|
|
return $this->pass($user->uid);
|
|
|
}
|
|
|
|
|
|
+ public function createNewSms(Request $request){
|
|
|
+ $userUid = $request->get('userUid');
|
|
|
+ $user = User::where('uid', $userUid)->first();
|
|
|
+ if (!$user) {
|
|
|
+ return $this->fail('Invalid user!');
|
|
|
+ }
|
|
|
+ $content = $request->get('content');
|
|
|
+ $fromNumber = $request->get('fromNumber');
|
|
|
+ $toNumber = $request->get('toNumber');
|
|
|
+
|
|
|
+ $response = $this->sendSmsToUser($user, [
|
|
|
+ 'fromNumber' => $fromNumber,
|
|
|
+ 'toNumber' => $toNumber,
|
|
|
+ 'content' => $content
|
|
|
+ ]);
|
|
|
+
|
|
|
+ return $this->pass($user->uid);
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function sendSmsToUser($user, $params){
|
|
|
+ $detailJson = $user->detailJson();
|
|
|
+ $detailJson->smses_sent = @$detailJson->smses_sent ?? [];
|
|
|
+
|
|
|
+ $smsData = [
|
|
|
+ 'created_at' => date('Y-m-d h:m:s'),
|
|
|
+ 'from' => $params['fromNumber'],
|
|
|
+ 'to' => $params['toNumber'],
|
|
|
+ 'content' => $params['content']
|
|
|
+ ];
|
|
|
+
|
|
|
+ array_unshift($detailJson->smses_sent, $smsData);
|
|
|
+
|
|
|
+ $data = [
|
|
|
+ 'fromNumber' => $params['fromNumber'],
|
|
|
+ 'toNumber' => $params['toNumber'],
|
|
|
+ 'message' => $params['content'],
|
|
|
+ 'secret' => 'Superman2022@'
|
|
|
+ ];
|
|
|
+ $response = $this->callJava('/api/sms/send', $data, $this->sessionKey);
|
|
|
+ if (!@$response['success']) {
|
|
|
+ return $this->fail($response['message'] ?? 'Failed!');
|
|
|
+ }
|
|
|
+
|
|
|
+ $user->detail_json = json_encode($detailJson);
|
|
|
+ $user->save();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
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,
|
|
|
- ];
|
|
|
+ {
|
|
|
+ $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);
|
|
|
- }
|
|
|
+ $res = $this->callJava('/api/user/upsertDetailJson', $data, $this->sessionKey);
|
|
|
+ }
|
|
|
|
|
|
public function uploadFile(Request $request, StoreOrder $order){
|
|
|
$fileRef = $request->get('file_name', 'file');
|
|
|
- $storageResponse = $this->storeFileAs($request, $fileRef, StoreOrder::FILE_PATH);
|
|
|
-
|
|
|
+ $accessToken = (string) Uuid::uuid6();
|
|
|
+ $storageResponse = $this->storeFileAs($request, $fileRef, StoreOrder::FILE_PATH, $accessToken);
|
|
|
+
|
|
|
$detailJson = json_decode($order->detail_json ?? '{}', true);
|
|
|
$detailJson[$fileRef] = $storageResponse;
|
|
|
$order->detail_json = json_encode($detailJson);
|
|
|
$order->save();
|
|
|
- return $this->pass();
|
|
|
+
|
|
|
+ return $this->pass();
|
|
|
}
|
|
|
|
|
|
public function emailReport(Request $request, StoreOrder $order){
|
|
@@ -489,4 +546,17 @@ class AdminController extends Controller
|
|
|
return $this->fail($e->getMessage());
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public function smsReport(Request $request, StoreOrder $order){
|
|
|
+ $results_attachment = $order->getDetailJsonValue('results_attachment');
|
|
|
+ $user = $order->user;
|
|
|
+
|
|
|
+ $response = $this->sendSmsToUser($user, [
|
|
|
+ 'fromNumber' => $request->get('fromNumber'),
|
|
|
+ 'toNumber' => $request->get('toNumber'),
|
|
|
+ 'content' => $request->get('message')
|
|
|
+ ]);
|
|
|
+
|
|
|
+ return $this->pass();
|
|
|
+ }
|
|
|
}
|