create system messages and people messages
This commit is contained in:
@@ -7,4 +7,17 @@ enum PeopleMessageActions: int
|
||||
case x = 1;
|
||||
case y = 2;
|
||||
case z = 3;
|
||||
|
||||
public static function name(int $state): string
|
||||
{
|
||||
$mapArray = [
|
||||
1 => 'عدم نیاز به ثبت (مشکل راه)',
|
||||
2 => 'عدم نیاز به ثبت (مشکل حمل و نقلی)',
|
||||
3 => 'عدم نیاز به ثبت (مشکل عوارضی)',
|
||||
4 => 'ثبت سوانح (مشکل راه)',
|
||||
5 => 'ثبت سوانح (مشکل حمل و نقلی)',
|
||||
];
|
||||
|
||||
return $mapArray[$state];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ use App\Http\Requests\Profile\ChangeAvatarRequest;
|
||||
use App\Http\Requests\Profile\ChangePasswordRequest;
|
||||
use App\Http\Resources\Admin\UserResource;
|
||||
use App\Http\Traits\ApiResponse;
|
||||
use App\Models\Session;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -59,10 +58,7 @@ class ProfileController extends Controller
|
||||
public function offline(Request $request): JsonResponse
|
||||
{
|
||||
$user= User::query()->where('telephone_id', '=', $request->telephone_id)->first();
|
||||
$user->update([
|
||||
'is_online' => false,
|
||||
]);
|
||||
Session::query()->where('user_id','=',$user->id)->delete();
|
||||
$user->update(['is_online' => false]);
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\ProvinceDashboard\PeopleMessages;
|
||||
|
||||
use App\Enums\PeopleMessageActions;
|
||||
use App\Http\Controllers\Controller;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use App\Models\PeopleMessage;
|
||||
use App\Services\Dashboard\Province\PeopleMessages\DataTableService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class OperatorController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index(Request $request, DataTableService $dataTableService): JsonResponse
|
||||
{
|
||||
return response()->json($dataTableService->index($request));
|
||||
}
|
||||
|
||||
public function excel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function handle(Request $request, PeopleMessage $peopleMessage): JsonResponse
|
||||
{
|
||||
$peopleMessage->update([
|
||||
'listen_at' => now(),
|
||||
'is_listen' => true,
|
||||
'action_id' => $request->action_id,
|
||||
'action_name' => PeopleMessageActions::name($request->action_id),
|
||||
'description' => $request->description,
|
||||
'savaneh_id' => $request->savaneh_id,
|
||||
]);
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(PeopleMessage $peopleMessage): JsonResponse
|
||||
{
|
||||
return $this->successResponse($peopleMessage);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\ProvinceDashboard\PeopleMessages;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SupervisorController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(string $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(string $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, string $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(string $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\ProvinceDashboard\SystemMessages;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use App\Models\SystemMessage;
|
||||
use App\Services\Dashboard\Province\SystemMessages\OperatorService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class OperatorController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index(Request $request, OperatorService $operatorService): JsonResponse
|
||||
{
|
||||
return response()->json($operatorService->datatable($request));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(SystemMessage $systemMessage): JsonResponse
|
||||
{
|
||||
return $this->successResponse($systemMessage->only(['id','duration','date', 'voice']));
|
||||
}
|
||||
|
||||
public function download(string $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function excel()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\ProvinceDashboard\SystemMessages;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\ProvinceDashboard\SystemMessages\RateRequest;
|
||||
use app\Http\Traits\ApiResponse;
|
||||
use App\Models\SystemMessage;
|
||||
use App\Services\Dashboard\Province\SystemMessages\SupervisorService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SupervisorController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index(Request $request, SupervisorService $supervisorService): JsonResponse
|
||||
{
|
||||
return response()->json($supervisorService->datatable($request));
|
||||
}
|
||||
|
||||
public function excel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function rate(RateRequest $request, SystemMessage $systemMessage): JsonResponse
|
||||
{
|
||||
$systemMessage->update([
|
||||
'message_quality' => $request->message_quality,
|
||||
'format_quality' => $request->format_quality,
|
||||
]);
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(SystemMessage $systemMessage): JsonResponse
|
||||
{
|
||||
return $this->successResponse($systemMessage);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\ProvinceDashboard\SystemMessages;
|
||||
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class RateRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'message_quality' => 'required|in:0,1',
|
||||
'format_quality' => 'required|in:0,1',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Dashboard\Province\PeopleMessages;
|
||||
|
||||
use App\Facades\DataTable\DataTableFacade;
|
||||
use App\Models\PeopleMessage;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class DataTableService
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$user = auth()->user();
|
||||
|
||||
$query = PeopleMessage::query()->where('edare_shahri_id', '=', $user->edarate_shahri_id);
|
||||
|
||||
return DataTableFacade::run(
|
||||
$query,
|
||||
$request,
|
||||
allowedFilters: ['*'],
|
||||
allowedSortings: ['*'],
|
||||
allowedSelects: [
|
||||
'id','caller_phone_number','date', 'voice', 'listen_at', 'review_duration',
|
||||
'is_listen', 'action_id', 'action_name', 'description', 'savaneh_id'
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Dashboard\Province\SystemMessages;
|
||||
|
||||
use App\Facades\DataTable\DataTableFacade;
|
||||
use App\Models\SystemMessage;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class OperatorService
|
||||
{
|
||||
public function dataTable(Request $request)
|
||||
{
|
||||
$user = auth()->user();
|
||||
|
||||
$query = SystemMessage::query()->where('edare_shahri_id', '=', $user->edarate_shahri_id);
|
||||
|
||||
return DataTableFacade::run(
|
||||
$query,
|
||||
$request,
|
||||
allowedFilters: ['*'],
|
||||
allowedSortings: ['*'],
|
||||
allowedSelects: ['id','duration','date', 'voice', 'type_id', 'type_name']
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Dashboard\Province\SystemMessages;
|
||||
|
||||
use App\Facades\DataTable\DataTableFacade;
|
||||
use App\Models\SystemMessage;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SupervisorService
|
||||
{
|
||||
public function dataTable(Request $request)
|
||||
{
|
||||
$query = SystemMessage::query();
|
||||
|
||||
return DataTableFacade::run(
|
||||
$query,
|
||||
$request,
|
||||
allowedFilters: ['*'],
|
||||
allowedSortings: ['*'],
|
||||
allowedSelects: ['id','duration','date', 'voice', 'message_quality', 'format_quality', 'type_id', 'type_name']
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user