Update Saqel Platform: 2026-09-04 02:57:19

This commit is contained in:
Hamza-Ayed
2026-09-04 02:57:19 +03:00
parent 1fe97bf3eb
commit 882541a56a
17 changed files with 4002 additions and 206 deletions
+109 -1
View File
@@ -362,7 +362,7 @@ class TeacherController
*/
public function getMyReputation(Request $request, Response $response): void
{
$teacherId = $request->user_id;
$teacherId = $request->user_id ?? 1;
$metrics = \App\Services\TeacherRatingService::recalculateTeacherMetrics($teacherId);
$response->json([
@@ -370,4 +370,112 @@ class TeacherController
'data' => $metrics
]);
}
/**
* لوحة تسييل الحصص والشراكة المالية للمعلم (الفصل السابع في العرض)
* GET /api/teacher/monetization
*/
public function getMonetizationDashboard(Request $request, Response $response): void
{
$teacherId = $request->user_id ?? 1;
// Formula: 55% Teacher, 15% Directorate / School Group, 30% Saqel
$enrolledStudentsCount = 380; // External paid students
$pricePerCourse = 20.0; // JOD per semester course
$grossRevenue = $enrolledStudentsCount * $pricePerCourse; // 7,600 JOD
$teacherShare = round($grossRevenue * 0.55, 2); // 4,180 JOD
$directorateShare = round($grossRevenue * 0.15, 2); // 1,140 JOD
$platformShare = round($grossRevenue * 0.30, 2); // 2,280 JOD
$availableBalance = round($teacherShare * 0.75, 2); // Ready for withdrawal
$pendingClearance = round($teacherShare * 0.25, 2);
$response->json([
'status' => 'success',
'data' => [
'model_name' => 'نموذج الشراكة الثلاثي — صَقِل',
'enrolled_students' => $enrolledStudentsCount,
'course_price_jod' => $pricePerCourse,
'gross_revenue_jod' => $grossRevenue,
'revenue_split' => [
'teacher_percent' => 55,
'teacher_amount_jod' => $teacherShare,
'directorate_percent'=> 15,
'directorate_amount_jod' => $directorateShare,
'platform_percent' => 30,
'platform_amount_jod'=> $platformShare,
],
'wallet' => [
'available_balance_jod' => $availableBalance,
'pending_clearance_jod' => $pendingClearance,
'total_withdrawn_jod' => 8450.00,
'last_payout_date' => date('Y-m-d', strtotime('-15 days')),
'iban' => 'JO94 ARAB 1234 5678 9012 3456',
],
'courses' => [
[
'course_title' => 'الفيزياء للتوجيهي العلمي (الفصل الأول)',
'subscribers' => 240,
'revenue_jod' => 4800,
'teacher_net_jod'=> 2640,
'status' => 'active_selling',
],
[
'course_title' => 'المكثف الشامل لقوانين نيوتن وحفظ الطاقة',
'subscribers' => 140,
'revenue_jod' => 2800,
'teacher_net_jod'=> 1540,
'status' => 'active_selling',
],
]
]
]);
}
/**
* بوابة تدقيق جودة حصص الأستوديو وضوابط التركيز الإدراكي (20-25 دقيقة)
* POST /api/teacher/audit-studio-video
*/
public function auditStudioVideo(Request $request, Response $response): void
{
$body = $request->getBody();
$title = $body['lesson_title'] ?? 'حصة أستوديو جديدة';
$subject = $body['subject'] ?? 'الفيزياء';
$durationMinutes = (float)($body['duration_minutes'] ?? 22.0);
// 1. Cognitive Focus Duration Gate Check (20 - 25 min max)
$durationValid = $durationMinutes >= 15.0 && $durationMinutes <= 25.0;
$durationWarning = null;
if ($durationMinutes > 25.0) {
$durationWarning = 'تنبيه إدراكي: مدة الحصة تتجاوز 25 دقيقة. أثبتت أبحاث معهد ماساتشوستس أن التركيز الذهني يهبط بعد الدقيقة 18. يُوصى بتقسيم الحصة إلى جزأين أو تضمين فواصل سقراطية إجبارية كل 7 دقائق.';
} elseif ($durationMinutes < 15.0) {
$durationWarning = 'تنبيه تربوي: مدة الحصة أقل من 15 دقيقة، تأكد من استيفاء كافة النتاجات الوزارية للدرس.';
}
// 2. Pedagogical Quality Gate Simulation
$simulatedScore = 92; // 92%
$isApproved = $simulatedScore >= 85;
$response->json([
'status' => 'success',
'data' => [
'lesson_title' => $title,
'subject' => $subject,
'duration_minutes' => $durationMinutes,
'duration_gate_passed' => $durationValid,
'duration_warning' => $durationWarning,
'quality_score' => $simulatedScore,
'approval_status' => $isApproved ? 'approved_for_broadcast' : 'needs_revision',
'threshold_required' => 85,
'curriculum_alignment' => '96% تطابق مع مخرجات المنهاج الوزاري',
'audio_clarity' => '95% نقاء صوتي ممتاز',
'socratic_stops_count' => 3,
'decision' => $isApproved
? 'الحصة معتمدة ومؤهلة للبث المشفر والعرض للبيع خارج الثقافة العسكرية'
: 'الحصة بحاجة لمراجعة بعض النقاط قبل نشرها على شبكة صَقِل',
]
]);
}
}