-- ============================================================
-- SISTEMA DE PROSPECÇÃO - BANCO DE DADOS
-- Execute este arquivo no seu MySQL/MariaDB
-- ============================================================

CREATE DATABASE IF NOT EXISTS prospecto CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE prospecto;

-- Tabela de usuários (vendedores + admin)
CREATE TABLE usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(100) NOT NULL,
    celular VARCHAR(20) NOT NULL UNIQUE,
    senha VARCHAR(255) NOT NULL,
    tipo ENUM('admin','vendedor') NOT NULL DEFAULT 'vendedor',
    ativo TINYINT(1) DEFAULT 1,
    criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabela de categorias/segmentos
CREATE TABLE categorias (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(100) NOT NULL,
    icone VARCHAR(50) DEFAULT '🏪',
    ativo TINYINT(1) DEFAULT 1,
    criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabela de lojas importadas via planilha
CREATE TABLE lojas (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(200) NOT NULL,
    telefone VARCHAR(30) NOT NULL,
    categoria_id INT NOT NULL,
    status ENUM('disponivel','em_atendimento','agendada','sem_interesse','convertida') DEFAULT 'disponivel',
    vendedor_id INT DEFAULT NULL,
    criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (categoria_id) REFERENCES categorias(id),
    FOREIGN KEY (vendedor_id) REFERENCES usuarios(id)
);

-- Tabela de interações com as lojas
CREATE TABLE interacoes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    loja_id INT NOT NULL,
    vendedor_id INT NOT NULL,
    tipo ENUM('atendimento','ligacao','retorno','sem_interesse','agendamento','anotacao') NOT NULL,
    anotacao TEXT,
    motivo_recusa VARCHAR(255),
    data_agendamento DATETIME DEFAULT NULL,
    hora_agendamento TIME DEFAULT NULL,
    criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (loja_id) REFERENCES lojas(id),
    FOREIGN KEY (vendedor_id) REFERENCES usuarios(id)
);

-- Admin padrão (celular: admin / senha: admin123)
-- Troque a senha após o primeiro acesso!
INSERT INTO usuarios (nome, celular, senha, tipo) VALUES 
('Super Admin', 'admin', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin');
-- A senha acima é "password" em bcrypt — mude no primeiro acesso via painel

-- Categorias de exemplo
INSERT INTO categorias (nome, icone) VALUES 
('Restaurantes', '🍽️'),
('Farmácias', '💊'),
('Lojas de Roupa', '👔'),
('Mercados', '🛒'),
('Salões de Beleza', '💇');
