-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Хост: localhost
-- Время создания: Янв 10 2025 г., 12:37
-- Версия сервера: 8.0.40-0ubuntu0.20.04.1
-- Версия PHP: 8.4.1

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- База данных: `telegram_bot`
--

-- --------------------------------------------------------

--
-- Структура таблицы `daily_survey_limits`
--

CREATE TABLE `daily_survey_limits` (
  `user_id` bigint NOT NULL,
  `date` date NOT NULL,
  `max_surveys` int DEFAULT NULL,
  `surveys_taken_today` int DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Дамп данных таблицы `daily_survey_limits`
--

INSERT INTO `daily_survey_limits` (`user_id`, `date`, `max_surveys`, `surveys_taken_today`) VALUES
(917377334, '2025-01-10', 1, 0);

-- --------------------------------------------------------

--
-- Структура таблицы `forsurvey`
--

CREATE TABLE `forsurvey` (
  `id` bigint NOT NULL,
  `survey_id` bigint NOT NULL DEFAULT '1',
  `file_id` varchar(255) NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `title` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Дамп данных таблицы `forsurvey`
--

INSERT INTO `forsurvey` (`id`, `survey_id`, `file_id`, `created_at`, `updated_at`, `title`) VALUES
(1, 1, 'BAACAgIAAyEGAASJdXAgAAMLZ1L4-EtKoVqxWBjej2NSEHROsx8AAh9gAAIRMZlKqwstWRVkoG82BA', '2024-12-06 16:15:37', '2024-12-06 16:15:37', 'Kraven the Hunter   Official Trailer'),
(2, 1, 'BAACAgIAAyEGAASJdXAgAAMMZ1L4-xthNAZMfdF5O8cP4nMOLfQAAiBgAAIRMZlKUTu2MATDqiw2BA', '2024-12-06 16:15:39', '2024-12-06 16:15:39', 'Venom The Last Dance - Final Trailer - Only In Cinemas Now');

-- --------------------------------------------------------

--
-- Структура таблицы `notifications_log`
--

CREATE TABLE `notifications_log` (
  `id` bigint NOT NULL,
  `user_id` bigint NOT NULL,
  `status` enum('success','blocked','error') NOT NULL,
  `error_message` text,
  `blocked_at` datetime DEFAULT NULL,
  `sent_at` datetime DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- --------------------------------------------------------

--
-- Структура таблицы `surveys`
--

CREATE TABLE `surveys` (
  `id` bigint NOT NULL,
  `title` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `file_id` varchar(255) DEFAULT NULL,
  `reward_amount` decimal(10,2) NOT NULL,
  `questions` json NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Дамп данных таблицы `surveys`
--

INSERT INTO `surveys` (`id`, `title`, `description`, `file_id`, `reward_amount`, `questions`, `created_at`) VALUES
(1, 'Venom The Last Dance - Final Trailer Survey', 'Ответь на вопросы после просмотра трейлера Venom: The Last Dance - Final Trailer.', 'BAACAgIAAyEGAASJdXAgAAMLZ1L4-xthNAZMfdF5O8cP4nMOLfQAAiBgAAIRMZlKUTu2MATDqiw2BA', 5.00, '[{\"options\": [\"Эдди Брок\", \"Веном\", \"Карнаж\", \"Морбиус\"], \"question\": \"Кто главный персонаж трейлера?\"}, {\"options\": [\"Борется с врагами\", \"Танцует\", \"Ищет Эдди\", \"Спит\"], \"question\": \"Что Веном делает в трейлере?\"}, {\"options\": [\"Красный\", \"Черный\", \"Зеленый\", \"Синий\"], \"question\": \"Какой основной цвет преобладает в трейлере?\"}, {\"options\": [\"Злость\", \"Радость\", \"Страх\", \"Сожаление\"], \"question\": \"Какую эмоцию выражает Веном?\"}, {\"options\": [\"Город\", \"Пустыня\", \"Лаборатория\", \"Лес\"], \"question\": \"Что можно увидеть на фоне во время битвы Венома?\"}]', '2024-12-14 13:08:07'),
(2, 'Kraven the Hunter - Official Trailer Survey', 'Ответь на вопросы после просмотра трейлера Kraven the Hunter - Official Trailer.', 'BAACAgIAAyEGAASJdXAgAAMLZ1L4-EtKoVqxWBjej2NSEHROsx8AAh9gAAIRMZlKqwstWRVkoG82BA', 5.00, '[{\"options\": [\"Крейвен\", \"Питер Паркер\", \"Доктор Осьминог\", \"Веном\"], \"question\": \"Кто главный герой трейлера?\"}, {\"options\": [\"Контроль над животными\", \"Сверхсила\", \"Невидимость\", \"Полет\"], \"question\": \"Какую основную способность показывает Крейвен в трейлере?\"}, {\"options\": [\"Его отец\", \"Герой\", \"Полицейский\", \"Вор\"], \"question\": \"Кто является главной целью Крейвена?\"}, {\"options\": [\"Гнев\", \"Радость\", \"Сожаление\", \"Удовлетворение\"], \"question\": \"Какую эмоцию выражает Крейвен?\"}, {\"options\": [\"Зеленый\", \"Красный\", \"Черный\", \"Синий\"], \"question\": \"Какой цвет преобладает в трейлере?\"}]', '2024-12-14 13:11:25');

-- --------------------------------------------------------

--
-- Структура таблицы `survey_answers`
--

CREATE TABLE `survey_answers` (
  `id` bigint NOT NULL,
  `survey_id` bigint NOT NULL,
  `question_index` int NOT NULL,
  `correct_option_index` int NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Дамп данных таблицы `survey_answers`
--

INSERT INTO `survey_answers` (`id`, `survey_id`, `question_index`, `correct_option_index`, `created_at`) VALUES
(1, 1, 0, 1, '2024-12-14 13:08:49'),
(2, 1, 1, 0, '2024-12-14 13:08:49'),
(3, 1, 2, 1, '2024-12-14 13:08:49'),
(4, 1, 3, 0, '2024-12-14 13:08:49'),
(5, 1, 4, 2, '2024-12-14 13:08:49'),
(6, 2, 0, 0, '2024-12-14 13:11:50'),
(7, 2, 1, 0, '2024-12-14 13:11:50'),
(8, 2, 2, 0, '2024-12-14 13:11:50'),
(9, 2, 3, 0, '2024-12-14 13:11:50'),
(10, 2, 4, 2, '2024-12-14 13:11:50');

-- --------------------------------------------------------

--
-- Структура таблицы `survey_progress`
--

CREATE TABLE `survey_progress` (
  `id` bigint NOT NULL,
  `user_id` bigint NOT NULL,
  `survey_id` bigint NOT NULL,
  `progress` json NOT NULL,
  `current_question` int NOT NULL,
  `watched_trailer` tinyint(1) DEFAULT '0',
  `started_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `completed` tinyint DEFAULT '0',
  `show_status` tinyint(1) DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Дамп данных таблицы `survey_progress`
--

INSERT INTO `survey_progress` (`id`, `user_id`, `survey_id`, `progress`, `current_question`, `watched_trailer`, `started_at`, `updated_at`, `completed`, `show_status`) VALUES
(1, 917377334, 2, '{\"current_question\": 1}', 1, 1, '2025-01-10 15:36:19', '2025-01-10 15:36:30', 0, 1);

-- --------------------------------------------------------

--
-- Структура таблицы `survey_responses`
--

CREATE TABLE `survey_responses` (
  `id` bigint NOT NULL,
  `user_id` bigint DEFAULT NULL,
  `survey_id` bigint DEFAULT NULL,
  `completed_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `question_index` int DEFAULT '0',
  `option_index` int NOT NULL,
  `is_correct` tinyint(1) DEFAULT NULL COMMENT '1 - правильный, 0 - неправильный'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Дамп данных таблицы `survey_responses`
--

INSERT INTO `survey_responses` (`id`, `user_id`, `survey_id`, `completed_at`, `question_index`, `option_index`, `is_correct`) VALUES
(1, 917377334, 2, '2025-01-10 15:36:25', 0, 1, 0);

-- --------------------------------------------------------

--
-- Структура таблицы `users`
--

CREATE TABLE `users` (
  `id` int NOT NULL,
  `user_id` bigint NOT NULL,
  `username` varchar(255) DEFAULT NULL,
  `first_name` varchar(255) DEFAULT NULL,
  `registered_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `last_interaction` datetime DEFAULT CURRENT_TIMESTAMP,
  `balance` decimal(10,2) DEFAULT '0.00',
  `referral_code` varchar(10) DEFAULT NULL,
  `referred_by` varchar(20) DEFAULT NULL,
  `status` tinyint DEFAULT '1',
  `completed_surveys` int DEFAULT '0',
  `referrals_count` int DEFAULT '0',
  `chat_id` bigint DEFAULT NULL,
  `wallet_currency` varchar(10) DEFAULT NULL,
  `wallet_address` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Дамп данных таблицы `users`
--

INSERT INTO `users` (`id`, `user_id`, `username`, `first_name`, `registered_at`, `last_interaction`, `balance`, `referral_code`, `referred_by`, `status`, `completed_surveys`, `referrals_count`, `chat_id`, `wallet_currency`, `wallet_address`) VALUES
(1, 917377334, 'AndreyKvest', 'AndreyVK', '2025-01-10 12:36:03', '2025-01-10 15:36:03', 0.00, 'C0zlZT140r', NULL, 1, 0, 0, 917377334, NULL, NULL);

-- --------------------------------------------------------

--
-- Структура таблицы `withdrawals`
--

CREATE TABLE `withdrawals` (
  `id` bigint NOT NULL,
  `user_id` bigint NOT NULL,
  `amount_usd` decimal(10,2) NOT NULL,
  `wallet_address` varchar(255) NOT NULL,
  `wallet_currency` varchar(50) NOT NULL,
  `status` enum('pending','completed','failed') NOT NULL,
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

--
-- Индексы сохранённых таблиц
--

--
-- Индексы таблицы `daily_survey_limits`
--
ALTER TABLE `daily_survey_limits`
  ADD PRIMARY KEY (`user_id`,`date`);

--
-- Индексы таблицы `forsurvey`
--
ALTER TABLE `forsurvey`
  ADD PRIMARY KEY (`id`),
  ADD KEY `survey_id` (`survey_id`);

--
-- Индексы таблицы `notifications_log`
--
ALTER TABLE `notifications_log`
  ADD PRIMARY KEY (`id`);

--
-- Индексы таблицы `surveys`
--
ALTER TABLE `surveys`
  ADD PRIMARY KEY (`id`);

--
-- Индексы таблицы `survey_answers`
--
ALTER TABLE `survey_answers`
  ADD PRIMARY KEY (`id`),
  ADD KEY `survey_id` (`survey_id`,`question_index`);

--
-- Индексы таблицы `survey_progress`
--
ALTER TABLE `survey_progress`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`),
  ADD KEY `survey_id` (`survey_id`);

--
-- Индексы таблицы `survey_responses`
--
ALTER TABLE `survey_responses`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_survey_user` (`user_id`),
  ADD KEY `idx_survey_id` (`survey_id`);

--
-- Индексы таблицы `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `user_id` (`user_id`);

--
-- Индексы таблицы `withdrawals`
--
ALTER TABLE `withdrawals`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT для сохранённых таблиц
--

--
-- AUTO_INCREMENT для таблицы `forsurvey`
--
ALTER TABLE `forsurvey`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT для таблицы `notifications_log`
--
ALTER TABLE `notifications_log`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT для таблицы `surveys`
--
ALTER TABLE `surveys`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT для таблицы `survey_answers`
--
ALTER TABLE `survey_answers`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT для таблицы `survey_progress`
--
ALTER TABLE `survey_progress`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT для таблицы `survey_responses`
--
ALTER TABLE `survey_responses`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT для таблицы `users`
--
ALTER TABLE `users`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT для таблицы `withdrawals`
--
ALTER TABLE `withdrawals`
  MODIFY `id` bigint NOT NULL AUTO_INCREMENT;

--
-- Ограничения внешнего ключа сохраненных таблиц
--

--
-- Ограничения внешнего ключа таблицы `daily_survey_limits`
--
ALTER TABLE `daily_survey_limits`
  ADD CONSTRAINT `daily_survey_limits_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`);

--
-- Ограничения внешнего ключа таблицы `forsurvey`
--
ALTER TABLE `forsurvey`
  ADD CONSTRAINT `forsurvey_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `surveys` (`id`);

--
-- Ограничения внешнего ключа таблицы `survey_answers`
--
ALTER TABLE `survey_answers`
  ADD CONSTRAINT `survey_answers_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `surveys` (`id`) ON DELETE CASCADE;

--
-- Ограничения внешнего ключа таблицы `survey_progress`
--
ALTER TABLE `survey_progress`
  ADD CONSTRAINT `survey_progress_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE,
  ADD CONSTRAINT `survey_progress_ibfk_2` FOREIGN KEY (`survey_id`) REFERENCES `surveys` (`id`) ON DELETE CASCADE;

--
-- Ограничения внешнего ключа таблицы `survey_responses`
--
ALTER TABLE `survey_responses`
  ADD CONSTRAINT `survey_responses_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE,
  ADD CONSTRAINT `survey_responses_ibfk_2` FOREIGN KEY (`survey_id`) REFERENCES `surveys` (`id`) ON DELETE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
