-- ربات فروشگاهی موسوی
-- اجرا روی دیتابیس موجود guilanfo_pourrajabi / ingorex_pourrajabi

UPDATE `admin` SET
  `admin_list` = '5803067539,5625196705',
  `user` = 'admin',
  `pass` = '5bfd1e04db7adafc4908107e1cb08c0d'
WHERE `id` = 1;

-- فیلدهای کاربر
ALTER TABLE `users`
  ADD COLUMN IF NOT EXISTS `balance` decimal(14,0) NOT NULL DEFAULT 0,
  ADD COLUMN IF NOT EXISTS `phone` varchar(20) DEFAULT NULL,
  ADD COLUMN IF NOT EXISTS `full_name` varchar(256) DEFAULT NULL;

-- دسته‌بندی محصولات
CREATE TABLE IF NOT EXISTS `shop_categories` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(128) NOT NULL,
  `sort_order` int(11) NOT NULL DEFAULT 0,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

-- محصولات
CREATE TABLE IF NOT EXISTS `shop_products` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `category_id` int(11) NOT NULL,
  `title` varchar(256) NOT NULL,
  `price` decimal(14,0) NOT NULL DEFAULT 0,
  `description` text DEFAULT NULL,
  `sort_order` int(11) NOT NULL DEFAULT 0,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  PRIMARY KEY (`id`),
  KEY `category_id` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

-- سفارشات
CREATE TABLE IF NOT EXISTS `shop_orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_chatid` varchar(64) NOT NULL,
  `product_id` int(11) NOT NULL,
  `product_title` varchar(256) NOT NULL,
  `category_title` varchar(128) DEFAULT NULL,
  `price` decimal(14,0) NOT NULL DEFAULT 0,
  `full_name` varchar(256) DEFAULT NULL,
  `phone` varchar(20) DEFAULT NULL,
  `address` text DEFAULT NULL,
  `payment_method` enum('wallet','card') NOT NULL DEFAULT 'card',
  `status` enum('pending_payment','pending_verify','paid','rejected','cancelled') NOT NULL DEFAULT 'pending_payment',
  `receipt_file` varchar(256) DEFAULT NULL,
  `created_at` int(11) NOT NULL,
  `paid_at` int(11) DEFAULT NULL,
  `processed_by` varchar(64) DEFAULT NULL,
  `admin_note` text DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `user_chatid` (`user_chatid`),
  KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

-- رسید شارژ کیف پول
CREATE TABLE IF NOT EXISTS `wallet_receipts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_chatid` varchar(64) NOT NULL,
  `photo_file` varchar(256) DEFAULT NULL,
  `amount` decimal(14,0) DEFAULT NULL,
  `status` enum('pending','approved','rejected') NOT NULL DEFAULT 'pending',
  `created_at` int(11) NOT NULL,
  `processed_at` int(11) DEFAULT NULL,
  `processed_by` varchar(64) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `user_chatid` (`user_chatid`),
  KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

-- تنظیمات فروشگاه
CREATE TABLE IF NOT EXISTS `shop_settings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `setting_key` varchar(64) NOT NULL,
  `setting_value` text DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `setting_key` (`setting_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

INSERT IGNORE INTO `shop_settings` (`setting_key`, `setting_value`) VALUES
('payment_card', '6037-9971-XXXX-XXXX'),
('payment_card_holder', 'نام صاحب حساب'),
('support_username', 'AHPBot_support'),
('bot_name', 'فروشگاه موسوی'),
('welcome_text', 'سلام 👋\nبه ربات فروشگاهی خوش آمدید.\nاز منوی زیر استفاده کنید:');

-- صف ارسال پیام همگانی
CREATE TABLE IF NOT EXISTS `broadcast_queue` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `from_chat_id` varchar(64) NOT NULL,
  `message_id` int(11) NOT NULL,
  `target_chat_id` varchar(64) NOT NULL,
  `status` enum('pending','sent','failed') NOT NULL DEFAULT 'pending',
  `created_at` int(11) NOT NULL,
  `sent_at` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `status` (`status`),
  KEY `created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
