Update: 2026-08-03 13:22:27

This commit is contained in:
Hamza-Ayed
2026-08-03 13:22:27 +03:00
parent b60129d246
commit 79333a4bee
10 changed files with 140 additions and 16 deletions
@@ -0,0 +1,50 @@
-- ============================================================
-- marketing_tasks + marketing_reports — جدولا محرّك التسويق والبوت الاجتماعي
-- ============================================================
-- كلا الجدولين مستعمل في الكود ولا وجود لهما في schema_primary.sql — نفس
-- حالة admin_audit_log بالضبط. الأثر:
--
-- • marketing_tasks هو طابور مهام البوت الاجتماعي:
-- يكتب فيه cron_insert_task.php (كل 4 ساعات) و insert_autonomous_task.php
-- ويقرأ منه marketing_engine/index.php ليخدم socialBot.
-- بغيابه لا يستلم البوت مهمة واحدة أبداً، ويفشل الكرون بصمت.
--
-- • marketing_reports هو مصدر شاشة "الذكاء الاجتماعي":
-- يكتب فيه telegram_scraper.php (كل 3 ساعات) و cron_weekly_report.php
-- و index.php (evaluate_posts).
-- بغيابه تظهر الشاشة فارغة دائماً — وهو ما لوحظ.
--
-- الأعمدة مستخرجة من مواضع الاستعمال الفعلية في:
-- marketing_engine/index.php, cron_insert_task.php, cron_weekly_report.php,
-- insert_autonomous_task.php, telegram_scraper.php, insert_test_task.php
-- ============================================================
CREATE TABLE IF NOT EXISTS `marketing_tasks` (
`id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`platform` VARCHAR(50) NOT NULL DEFAULT 'facebook',
`type` VARCHAR(100) NOT NULL,
-- 'pending' هي الحالة التي يبحث عنها get_task؛ أي قيمة أخرى تعني
-- أن المهمة قيد التنفيذ أو انتهت.
`status` VARCHAR(30) NOT NULL DEFAULT 'pending',
`target_url` TEXT DEFAULT NULL,
`content_text` TEXT DEFAULT NULL,
`media_url` TEXT DEFAULT NULL,
`error_message` TEXT DEFAULT NULL,
`completed_at` TIMESTAMP NULL DEFAULT NULL,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-- get_task يرشّح بـ status + platform ويرتّب بـ id
KEY `idx_status_platform` (`status`, `platform`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `marketing_reports` (
`id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`platform` VARCHAR(50) NOT NULL DEFAULT 'all',
`report_html` LONGTEXT NOT NULL,
-- cron_weekly_report.php يكتب 1؛ التقارير اللحظية تترك 0
`is_weekly` TINYINT(1) NOT NULL DEFAULT 0,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-- get_reports يرتّب بـ created_at تنازلياً
KEY `idx_created_at` (`created_at`),
KEY `idx_is_weekly` (`is_weekly`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;