Merge branch 'feature/Routes' into 'develop'
Feature/routes See merge request witel-back-end/crm!17
This commit is contained in:
@@ -4,9 +4,11 @@ namespace App\Enums;
|
|||||||
|
|
||||||
enum PeopleMessageActions: int
|
enum PeopleMessageActions: int
|
||||||
{
|
{
|
||||||
case x = 1;
|
case ADAM_NIAZ_BE_SABT_MOSHKEL_RAH = 1;
|
||||||
case y = 2;
|
case ADAM_NIAZ_BE_SABT_MOSHKEL_HAML_NAGHL = 2;
|
||||||
case z = 3;
|
case ADAM_NIAZ_BE_SABT_MOSHKEL_AVAREZI = 3;
|
||||||
|
case SABT_SAVANEH_MOSHKEL_RAH = 4;
|
||||||
|
case SABT_SAVANEH_MOSHKEL_HAML_NAGHL = 5;
|
||||||
|
|
||||||
public static function name(int $state): string
|
public static function name(int $state): string
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ class SupervisorController extends Controller
|
|||||||
$systemMessage->update([
|
$systemMessage->update([
|
||||||
'message_quality' => $request->message_quality,
|
'message_quality' => $request->message_quality,
|
||||||
'format_quality' => $request->format_quality,
|
'format_quality' => $request->format_quality,
|
||||||
|
'description' => $request->description,
|
||||||
]);
|
]);
|
||||||
return $this->successResponse();
|
return $this->successResponse();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,12 +10,8 @@ class DataTableService
|
|||||||
{
|
{
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
$user = auth()->user();
|
|
||||||
|
|
||||||
$query = PeopleMessage::query()->where('edare_shahri_id', '=', $user->edarate_shahri_id);
|
|
||||||
|
|
||||||
return DataTableFacade::run(
|
return DataTableFacade::run(
|
||||||
$query,
|
PeopleMessage::query()->orderBy('id'),
|
||||||
$request,
|
$request,
|
||||||
allowedFilters: ['*'],
|
allowedFilters: ['*'],
|
||||||
allowedSortings: ['*'],
|
allowedSortings: ['*'],
|
||||||
|
|||||||
@@ -10,12 +10,8 @@ class OperatorService
|
|||||||
{
|
{
|
||||||
public function dataTable(Request $request)
|
public function dataTable(Request $request)
|
||||||
{
|
{
|
||||||
$user = auth()->user();
|
|
||||||
|
|
||||||
$query = SystemMessage::query()->where('edare_shahri_id', '=', $user->edarate_shahri_id);
|
|
||||||
|
|
||||||
return DataTableFacade::run(
|
return DataTableFacade::run(
|
||||||
$query,
|
SystemMessage::query()->orderBy('id'),
|
||||||
$request,
|
$request,
|
||||||
allowedFilters: ['*'],
|
allowedFilters: ['*'],
|
||||||
allowedSortings: ['*'],
|
allowedSortings: ['*'],
|
||||||
|
|||||||
@@ -10,14 +10,12 @@ class SupervisorService
|
|||||||
{
|
{
|
||||||
public function dataTable(Request $request)
|
public function dataTable(Request $request)
|
||||||
{
|
{
|
||||||
$query = SystemMessage::query();
|
|
||||||
|
|
||||||
return DataTableFacade::run(
|
return DataTableFacade::run(
|
||||||
$query,
|
SystemMessage::query()->orderBy('id'),
|
||||||
$request,
|
$request,
|
||||||
allowedFilters: ['*'],
|
allowedFilters: ['*'],
|
||||||
allowedSortings: ['*'],
|
allowedSortings: ['*'],
|
||||||
allowedSelects: ['id','duration','date', 'voice', 'message_quality', 'format_quality', 'type_id', 'type_name']
|
allowedSelects: ['id','duration','date', 'voice', 'message_quality', 'format_quality', 'type_id', 'type_name', 'description']
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Database\Factories;
|
namespace Database\Factories;
|
||||||
|
|
||||||
|
use App\Models\User;
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -17,7 +18,12 @@ class OperatorDialogueFactory extends Factory
|
|||||||
public function definition(): array
|
public function definition(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
//
|
'cdr_unique_id' => $this->faker->uuid(),
|
||||||
|
'date' => $this->faker->date(),
|
||||||
|
'supervisor_id' => User::factory(),
|
||||||
|
'is_listen' => $this->faker->boolean(),
|
||||||
|
'is_good' => $this->faker->boolean(),
|
||||||
|
'description' => $this->faker->text(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Database\Factories;
|
namespace Database\Factories;
|
||||||
|
|
||||||
|
use App\Enums\PeopleMessageActions;
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -17,7 +18,16 @@ class PeopleMessageFactory extends Factory
|
|||||||
public function definition(): array
|
public function definition(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
//
|
'caller_phone_number' => $this->faker->numerify('09#########'),
|
||||||
|
'date' => $this->faker->date(),
|
||||||
|
'voice' => $this->faker->name,
|
||||||
|
'review_duration' => $this->faker->numberBetween(30, 60),
|
||||||
|
'listen_at' => $this->faker->dateTime,
|
||||||
|
'is_listen' => $this->faker->boolean(),
|
||||||
|
'action_id' => $this->faker->randomElement([PeopleMessageActions::ADAM_NIAZ_BE_SABT_MOSHKEL_AVAREZI->value, PeopleMessageActions::SABT_SAVANEH_MOSHKEL_RAH->value]),
|
||||||
|
'action_name' => $this->faker->word(),
|
||||||
|
'description' => $this->faker->text(),
|
||||||
|
'savaneh_id' => $this->faker->randomElement([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,14 @@ class SystemMessageFactory extends Factory
|
|||||||
public function definition(): array
|
public function definition(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
//
|
'duration' => $this->faker->numberBetween(30, 60),
|
||||||
|
'date' => $this->faker->date(),
|
||||||
|
'voice' => $this->faker->name,
|
||||||
|
'description' => $this->faker->text(),
|
||||||
|
'message_quality' => $this->faker->numberBetween(0, 1),
|
||||||
|
'format_quality' => $this->faker->numberBetween(0, 1),
|
||||||
|
'type_id' => $this->faker->numberBetween(1, 2),
|
||||||
|
'type_name' => $this->faker->name,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,8 +16,9 @@ return new class extends Migration
|
|||||||
$table->integer('duration');
|
$table->integer('duration');
|
||||||
$table->dateTime('date');
|
$table->dateTime('date');
|
||||||
$table->string('voice');
|
$table->string('voice');
|
||||||
$table->integer('message_quality');
|
$table->string('description')->nullable();
|
||||||
$table->integer('format_quality');
|
$table->integer('message_quality')->nullable();
|
||||||
|
$table->integer('format_quality')->nullable();
|
||||||
$table->integer('type_id');
|
$table->integer('type_id');
|
||||||
$table->string('type_name');
|
$table->string('type_name');
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ return new class extends Migration
|
|||||||
$table->integer('review_duration')->nullable();
|
$table->integer('review_duration')->nullable();
|
||||||
$table->dateTime('listen_at')->nullable();
|
$table->dateTime('listen_at')->nullable();
|
||||||
$table->boolean('is_listen')->default(false);
|
$table->boolean('is_listen')->default(false);
|
||||||
$table->foreignId('action_id')->nullable()->constrained();
|
$table->foreignId('action_id')->nullable()->constrained('people_message_actions');
|
||||||
$table->string('action_name')->nullable();
|
$table->string('action_name')->nullable();
|
||||||
$table->string('description')->nullable();
|
$table->string('description')->nullable();
|
||||||
$table->unsignedBigInteger('savaneh_id')->nullable();
|
$table->unsignedBigInteger('savaneh_id')->nullable();
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\OperatorDialogue;
|
||||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
@@ -12,6 +13,6 @@ class OperatorDialogueSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
//
|
OperatorDialogue::factory()->count(10)->create();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ namespace Database\Seeders;
|
|||||||
|
|
||||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class PeopleMessageActionSeeder extends Seeder
|
class PeopleMessageActionSeeder extends Seeder
|
||||||
{
|
{
|
||||||
@@ -12,6 +13,12 @@ class PeopleMessageActionSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
//
|
DB::table('people_message_actions')->insert([
|
||||||
|
['id' => 1, 'name' => 'عدم نیاز به ثبت (مشکل راه)', 'created_at' => now(), 'updated_at' => now()],
|
||||||
|
['id' => 2, 'name' => 'عدم نیاز به ثبت (مشکل حمل و نقلی)', 'created_at' => now(), 'updated_at' => now()],
|
||||||
|
['id' => 3, 'name' => 'عدم نیاز به ثبت (مشکل عوارضی)', 'created_at' => now(), 'updated_at' => now()],
|
||||||
|
['id' => 4, 'name' => 'ثبت سوانح (مشکل راه)', 'created_at' => now(), 'updated_at' => now()],
|
||||||
|
['id' => 5, 'name' => 'ثبت سوانح (مشکل حمل و نقلی)', 'created_at' => now(), 'updated_at' => now()],
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\PeopleMessage;
|
||||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
@@ -12,6 +13,6 @@ class PeopleMessageSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
//
|
PeopleMessage::factory()->count(10)->create();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\SystemMessage;
|
||||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
@@ -12,6 +13,6 @@ class SystemMessageSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
//
|
SystemMessage::factory()->count(10)->create();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,4 +128,52 @@ Route::prefix('server')->group(function () {
|
|||||||
->group(function () {
|
->group(function () {
|
||||||
Route::get('/', 'index')->name('index');
|
Route::get('/', 'index')->name('index');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::middleware('auth')
|
||||||
|
->prefix('system_messages')
|
||||||
|
->name('systemMessages.')
|
||||||
|
->group(function () {
|
||||||
|
Route::prefix('operator')
|
||||||
|
->name('systemMessages.')
|
||||||
|
->controller(\App\Http\Controllers\ProvinceDashboard\SystemMessages\OperatorController::class)
|
||||||
|
->group(function () {
|
||||||
|
Route::get('/', 'index')->name('index');
|
||||||
|
Route::get('/excel', 'excel')->name('excel');
|
||||||
|
Route::get('/{systemMessage}', 'show')->name('show');
|
||||||
|
});
|
||||||
|
|
||||||
|
Route::prefix('supervisor')
|
||||||
|
->name('systemMessages.')
|
||||||
|
->controller(\App\Http\Controllers\ProvinceDashboard\SystemMessages\SupervisorController::class)
|
||||||
|
->group(function () {
|
||||||
|
Route::get('/', 'index')->name('index');
|
||||||
|
Route::get('/excel', 'excel')->name('excel');
|
||||||
|
Route::get('/{systemMessage}', 'show')->name('show');
|
||||||
|
Route::post('/{systemMessage}', 'rate')->name('rate');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
Route::middleware('auth')
|
||||||
|
->prefix('people_messages')
|
||||||
|
->name('peopleMessages.')
|
||||||
|
->group(function () {
|
||||||
|
Route::prefix('operator')
|
||||||
|
->name('peopleMessages.')
|
||||||
|
->controller(\App\Http\Controllers\ProvinceDashboard\PeopleMessages\OperatorController::class)
|
||||||
|
->group(function () {
|
||||||
|
Route::get('/', 'index')->name('index');
|
||||||
|
Route::get('/excel', 'excel')->name('excel');
|
||||||
|
Route::post('/{peopleMessage}', 'handle')->name('handle');
|
||||||
|
Route::get('/{peopleMessage}', 'show')->name('show');
|
||||||
|
});
|
||||||
|
|
||||||
|
Route::prefix('supervisor')
|
||||||
|
->name('peopleMessages.')
|
||||||
|
->controller(\App\Http\Controllers\ProvinceDashboard\PeopleMessages\SupervisorController::class)
|
||||||
|
->group(function () {
|
||||||
|
Route::get('/', 'index')->name('index');
|
||||||
|
Route::get('/excel', 'excel')->name('excel');
|
||||||
|
Route::get('/{peopleMessage}', 'show')->name('show');
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user