-- =====================================================================
-- CaryCalc — Importação para coexistir no MESMO banco `cariry_advocacia`
--
-- ADAPTADO em relação ao arquivo original enviado:
--   - `usuarios`        -> `cc_usuarios`        (evita colisão com a
--                          tabela `usuarios` da Advocacia, que é outra
--                          estrutura/outro público: admin/cliente)
--   - `processos`       -> `cc_processos`       (evita colisão com a
--                          tabela `processos` da Advocacia)
--   - `calculos`        -> `cc_calculos`        (padroniza com prefixo
--                          cc_, já usado nas outras tabelas do CaryCalc)
--   - `chat_mensagens`  -> `cc_chat_mensagens`
--   - `log_login`       -> `cc_log_login`
--   Todas as FOREIGN KEYs internas foram atualizadas para os novos nomes.
--   Nenhum dado, coluna ou tipo foi alterado — só os nomes das 5 tabelas
--   acima e as referências de FK que apontavam pra elas.
--
-- IMPORTANTE: os dois sistemas continuam com login e cadastro de
-- usuários TOTALMENTE separados (cariry_advocacia.usuarios x
-- cariry_advocacia.cc_usuarios). Se no futuro vocês quiserem um único
-- login (SSO) entre cariry.adv.br e calc.cariry.adv.br, isso exige um
-- projeto à parte de unificação de autenticação — não é só SQL, envolve
-- alterar o código de login dos dois sites.
-- =====================================================================
-- CaryCalc — Importação SEGURA das tabelas para o banco novo (Locaweb)
-- Gerado a partir do backup luna_home.sql, filtrando SOMENTE as tabelas
-- do CaryCalc. O banco antigo (luna_home) era compartilhado com outros
-- sistemas sem relação nenhuma com o CaryCalc (trade_*, tdjus_*, td_*,
-- cong_*, erp_*, athletes, sports, licenses, etc.) — essas tabelas
-- foram DELIBERADAMENTE excluídas por não pertencerem a este projeto
-- e conterem dados de outros clientes.
--
-- SEGURANÇA quanto aos dados já existentes no banco novo:
--   - Nenhum DROP TABLE é executado.
--   - CREATE TABLE usa "IF NOT EXISTS": se a tabela já existir no banco
--     novo, o comando inteiro (estrutura, chaves, índices) é ignorado —
--     a tabela existente e seus dados não são tocados.
--   - Estrutura completa (PRIMARY KEY, AUTO_INCREMENT, FOREIGN KEY,
--     índices) foi embutida direto no CREATE TABLE, então uma tabela
--     nova é criada já pronta, sem depender de ALTER TABLE separado.
--   - INSERT usa "IGNORE": registros cuja chave primária/única já
--     exista no banco novo são simplesmente pulados — sem duplicar,
--     sem sobrescrever, sem interromper a importação com erro.
-- =====================================================================

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;


--
-- Tabela `cc_usuarios`
--

CREATE TABLE IF NOT EXISTS `cc_usuarios` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `tipo` enum('advogado','trabalhador') COLLATE utf8mb4_unicode_ci NOT NULL,
  `nome` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL,
  `documento` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Nº OAB (advogado) ou CPF (trabalhador)',
  `telefone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `senha_hash` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `ativo` tinyint(1) NOT NULL DEFAULT '1',
  `criado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `atualizado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT IGNORE INTO `cc_usuarios` (`id`, `tipo`, `nome`, `email`, `documento`, `telefone`, `senha_hash`, `ativo`, `criado_em`, `atualizado_em`) VALUES
(3, 'trabalhador', 'Teste Trabalhador', 'teste_trab_1786229148@carycalc.test', '123.456.789-00', '(81) 99999-0001', '$2y$12$0/IxawKsGWqu/HhbdHoAeub213EOn4R8bkd3YRgxnCJomMQ12Hx6i', 1, '2026-08-08 19:45:49', '2026-08-08 19:45:49'),
(4, 'advogado', 'Teste Advogado', 'teste_adv_1786229148@carycalc.test', 'OAB/PE 00000', '(81) 99999-0002', '$2y$12$uH5rW.yN/MInu/XfNBuBde67tMeGpwk5xnqzTzizaymsmfJLXFP0a', 1, '2026-08-08 19:45:49', '2026-08-08 19:45:49'),
(5, 'trabalhador', 'Teste Trabalhador', 'teste_trab_1786229192@carycalc.test', '123.456.789-00', '(81) 99999-0001', '$2y$12$fQiEpn6WhTIGPnwQ8Eg3ZeflJyQabnUH/93Tsjfg0NGf2nz6t.mqe', 1, '2026-08-08 19:46:33', '2026-08-08 19:46:33'),
(6, 'advogado', 'Teste Advogado', 'teste_adv_1786229192@carycalc.test', 'OAB/PE 00000', '(81) 99999-0002', '$2y$12$TV.XH0YFLFRMB4q.et1k9.dsUyM76u2oEcqYaJ/ZbkwzPfrVBRdb2', 1, '2026-08-08 19:46:33', '2026-08-08 19:46:33'),
(7, 'trabalhador', 'Teste Trabalhador', 'teste_trab_1786229594@carycalc.test', '123.456.789-00', '(81) 99999-0001', '$2y$12$.tSeUD2WTxHPB4yw92axauBizrnnohPtfegEAXqnCEDwSGtin6Grq', 1, '2026-08-08 19:53:15', '2026-08-08 19:53:15'),
(8, 'advogado', 'Teste Advogado', 'teste_adv_1786229594@carycalc.test', 'OAB/PE 00000', '(81) 99999-0002', '$2y$12$Iy1/zs8VF1tnPYE0.U90kOHV7J8J.gJ6jjBtjYvfWTN1/zECmNeiC', 1, '2026-08-08 19:53:15', '2026-08-08 19:53:15'),
(9, 'trabalhador', 'Akiles Simiao', 'akilessimiao@gmail.com', '00827548451', '84991078465', '$2y$12$NuQVBo4FtFWxFuRdYa.HXe3uRcxzCMLup/yprKO0IRhFKBkAR1qoO', 1, '2026-08-08 20:01:44', '2026-08-08 20:01:44'),
(10, 'trabalhador', 'Rayanne Vasconcelos', 'azevedo.vasco.19@gmail.com', '0736639497', '81988417972', '$2y$12$fU5h1BsxxSQd7HqfKnncfuh76j5NWKSTWz2420YisXuot0BQSXYLC', 1, '2026-08-10 19:22:02', '2026-08-10 19:22:02');


--
-- Tabela `cc_processos`
--

CREATE TABLE IF NOT EXISTS `cc_processos` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `usuario_id` int(10) UNSIGNED NOT NULL,
  `numero_processo` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `reclamante` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `reclamado` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'em_analise',
  `observacoes` text COLLATE utf8mb4_unicode_ci,
  `criado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `fk_processos_usuario` (`usuario_id`),
  CONSTRAINT `fk_processos_usuario` FOREIGN KEY (`usuario_id`) REFERENCES `cc_usuarios` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Tabela `cc_calculos`
--

CREATE TABLE IF NOT EXISTS `cc_calculos` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `usuario_id` int(10) UNSIGNED NOT NULL,
  `processo_id` int(10) UNSIGNED DEFAULT NULL,
  `tipo_calculo` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'ex: rescisao, liquidacao, impugnacao',
  `dados_entrada` json NOT NULL,
  `resultado` json NOT NULL,
  `origem` enum('chat_natalia','manual') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'chat_natalia',
  `criado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `fk_calculos_usuario` (`usuario_id`),
  KEY `fk_calculos_processo` (`processo_id`),
  CONSTRAINT `fk_calculos_processo` FOREIGN KEY (`processo_id`) REFERENCES `cc_processos` (`id`) ON DELETE SET NULL,
  CONSTRAINT `fk_calculos_usuario` FOREIGN KEY (`usuario_id`) REFERENCES `cc_usuarios` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Tabela `cc_servicos`
--

CREATE TABLE IF NOT EXISTS `cc_servicos` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `nome` varchar(150) NOT NULL,
  `descricao` varchar(255) DEFAULT NULL,
  `valor` decimal(10,2) NOT NULL DEFAULT '0.00',
  `ativo` tinyint(1) NOT NULL DEFAULT '1',
  `criado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT IGNORE INTO `cc_servicos` (`id`, `nome`, `descricao`, `valor`, `ativo`, `criado_em`) VALUES
(1, 'Liquidação de sentença', 'Linha do tempo + divergências + planilha PJe-Calc', 450.00, 1, '2026-08-08 19:45:48'),
(2, 'Cálculo para inicial', 'Memória de cálculo blindada contra inépcia', 350.00, 1, '2026-08-08 19:45:48'),
(3, 'Impugnação de laudo pericial', 'Comparativo + pontos de divergência', 400.00, 1, '2026-08-08 19:45:48'),
(4, 'Estimativa de rescisão', 'Aviso prévio, 13º, férias, FGTS+40%', 150.00, 1, '2026-08-08 19:45:48'),
(5, 'Auditoria de TRCT / cálculo do processo', 'Conferência do que foi pago × devido', 180.00, 1, '2026-08-08 19:45:48'),
(6, 'Parecer técnico de cálculos', 'Nota técnica para fundamentar petição', 250.00, 1, '2026-08-08 19:45:48'),
(7, 'Cálculo + Parecer para Impugnação', 'Cálculo elaborado e acompanhado de parecer técnico fundamentado sobre as divergências encontradas', 500.00, 1, '2026-08-08 22:12:41'),
(8, 'Cálculo para Petição Inicial', 'Estimativa e demonstração dos valores dos pedidos antes do ajuizamento da reclamação trabalhista', 200.00, 1, '2026-08-08 22:12:41'),
(9, 'Análise de TRCT / Rescisão', 'Conferência das verbas rescisórias e dos valores apresentados de acordo com os documentos fornecidos', 200.00, 1, '2026-08-08 22:12:41'),
(10, 'Reanálise de Cálculo Já Elaborado', 'Nova análise de uma demanda em que a CaryCalc já elaborou o cálculo anteriormente', 200.00, 1, '2026-08-08 22:12:41');


--
-- Tabela `cc_arquivos`
--

CREATE TABLE IF NOT EXISTS `cc_arquivos` (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `usuario_id` int(10) UNSIGNED NOT NULL,
  `processo_id` int(10) UNSIGNED DEFAULT NULL,
  `nome_original` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `caminho_storage` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `mime_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `tamanho` bigint(20) UNSIGNED NOT NULL,
  `hash_sha256` char(64) COLLATE utf8mb4_unicode_ci NOT NULL,
  `status` enum('uploading','processando','pronto','erro') COLLATE utf8mb4_unicode_ci DEFAULT 'uploading',
  `criado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `usuario_id` (`usuario_id`),
  KEY `idx_hash` (`hash_sha256`),
  CONSTRAINT `cc_arquivos_ibfk_1` FOREIGN KEY (`usuario_id`) REFERENCES `cc_usuarios` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Tabela `cc_pagamentos`
--

CREATE TABLE IF NOT EXISTS `cc_pagamentos` (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `usuario_id` int(10) UNSIGNED NOT NULL,
  `calculo_id` int(10) UNSIGNED DEFAULT NULL,
  `valor` decimal(10,2) NOT NULL,
  `status` enum('pendente','pago','cancelado','estornado') COLLATE utf8mb4_unicode_ci DEFAULT 'pendente',
  `gateway_tx` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `criado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `usuario_id` (`usuario_id`),
  KEY `calculo_id` (`calculo_id`),
  CONSTRAINT `cc_pagamentos_ibfk_1` FOREIGN KEY (`usuario_id`) REFERENCES `cc_usuarios` (`id`) ON DELETE CASCADE,
  CONSTRAINT `cc_pagamentos_ibfk_2` FOREIGN KEY (`calculo_id`) REFERENCES `cc_calculos` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Tabela `cc_parametros_correcao`
--

CREATE TABLE IF NOT EXISTS `cc_parametros_correcao` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `vigencia_inicial` date NOT NULL,
  `vigencia_final` date DEFAULT NULL,
  `indice` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `taxa` decimal(8,6) NOT NULL,
  `fonte_oficial` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_vigencia` (`vigencia_inicial`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Tabela `cc_tokens`
--

CREATE TABLE IF NOT EXISTS `cc_tokens` (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `usuario_id` int(10) UNSIGNED NOT NULL,
  `tipo` enum('sessao','reset_senha','confirmacao_email') COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` char(64) COLLATE utf8mb4_unicode_ci NOT NULL,
  `expira_em` datetime NOT NULL,
  `usado` tinyint(1) DEFAULT '0',
  `criado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `token` (`token`),
  KEY `usuario_id` (`usuario_id`),
  CONSTRAINT `cc_tokens_ibfk_1` FOREIGN KEY (`usuario_id`) REFERENCES `cc_usuarios` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Tabela `cc_chat_mensagens`
--

CREATE TABLE IF NOT EXISTS `cc_chat_mensagens` (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `sessao_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
  `usuario_id` int(10) UNSIGNED DEFAULT NULL,
  `remetente` enum('visitante','natalia') COLLATE utf8mb4_unicode_ci NOT NULL,
  `mensagem` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `criado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_chat_sessao` (`sessao_id`),
  KEY `fk_chat_usuario` (`usuario_id`),
  CONSTRAINT `fk_chat_usuario` FOREIGN KEY (`usuario_id`) REFERENCES `cc_usuarios` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT IGNORE INTO `cc_chat_mensagens` (`id`, `sessao_id`, `usuario_id`, `remetente`, `mensagem`, `criado_em`) VALUES
(1, '04e732c670899392eaae14ec1e21655d', NULL, 'visitante', 'Oi', '2026-08-09 13:27:12'),
(2, '04e732c670899392eaae14ec1e21655d', NULL, 'natalia', 'Boa tarde! 👋 Sou a <b>Calc IA</b>, assistente digital da CaryCalc. Posso te ajudar a organizar sua solicitação:<br><br>1️⃣ Liquidação de sentença<br>2️⃣ Cálculo para inicial<br>3️⃣ Cálculo + parecer para impugnação<br>4️⃣ Estimativa preliminar de rescisão<br><br>Digite o número da opção que preferir.<br><br>💡 <b>Dica:</b> crie seu <b>cadastro gratuito</b> na Área do Cliente para acompanhar tudo pelo painel! <a href=\"/natalia/cadastro.php\" target=\"_blank\">📝 Criar meu cadastro agora</a>.', '2026-08-09 13:27:12');


--
-- Tabela `cc_log_login`
--

CREATE TABLE IF NOT EXISTS `cc_log_login` (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `email` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL,
  `sucesso` tinyint(1) NOT NULL,
  `ip` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `criado_em` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_log_email_data` (`email`,`criado_em`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT IGNORE INTO `cc_log_login` (`id`, `email`, `sucesso`, `ip`, `criado_em`) VALUES
(1, 'teste_1786225254@carycalc.test', 1, '179.156.54.194', '2026-08-08 18:40:55'),
(2, 'teste_1786225254@carycalc.test', 0, '179.156.54.194', '2026-08-08 18:40:56'),
(3, 'teste_1786225753@carycalc.test', 1, '179.156.54.194', '2026-08-08 18:49:14'),
(4, 'teste_1786225753@carycalc.test', 0, '179.156.54.194', '2026-08-08 18:49:14'),
(5, 'teste_trab_1786229148@carycalc.test', 1, '179.156.54.194', '2026-08-08 19:45:49'),
(6, 'teste_adv_1786229148@carycalc.test', 1, '179.156.54.194', '2026-08-08 19:45:50'),
(7, 'teste_trab_1786229192@carycalc.test', 1, '179.156.54.194', '2026-08-08 19:46:33'),
(8, 'teste_adv_1786229192@carycalc.test', 1, '179.156.54.194', '2026-08-08 19:46:34'),
(9, 'teste@email.com', 0, '179.156.54.194', '2026-08-08 19:53:06'),
(10, 'teste_trab_1786229594@carycalc.test', 1, '179.156.54.194', '2026-08-08 19:53:16'),
(11, 'teste_adv_1786229594@carycalc.test', 1, '179.156.54.194', '2026-08-08 19:53:16'),
(12, 'teste@email.com', 0, '179.156.54.194', '2026-08-08 19:53:18'),
(13, 'ldtnettelecom@gmail.com', 0, '179.156.54.194', '2026-08-08 19:55:21'),
(14, 'akilessimiao@gmail.com', 1, '179.156.54.194', '2026-08-08 20:01:44'),
(15, 'teste_redirect_1786230447@carycalc.test', 1, '179.156.54.194', '2026-08-08 20:07:27'),
(16, 'teste@email.com', 0, '179.156.54.194', '2026-08-08 20:12:58'),
(17, 'akilessimiao@gmail.com', 1, '179.156.54.194', '2026-08-08 20:13:11'),
(18, 'akilessimiao@gmail.com', 1, '179.156.54.194', '2026-08-08 20:14:50'),
(19, 'teste_fluxo_1786231173@carycalc.test', 1, '179.156.54.194', '2026-08-08 20:19:34'),
(20, 'akilessimiao@gmail.com', 1, '179.156.54.194', '2026-08-08 20:22:10'),
(21, 'teste_500_1786231505@carycalc.test', 1, '179.156.54.194', '2026-08-08 20:25:05'),
(22, 'teste@email.com', 0, '179.156.54.194', '2026-08-08 20:25:51'),
(23, 'akilessimiao@gmail.com', 1, '179.156.54.194', '2026-08-08 20:26:08'),
(24, 'akilessimiao@gmail.com', 1, '179.156.54.194', '2026-08-08 20:26:31'),
(25, 'akilessimiao@gmail.com', 1, '179.156.54.194', '2026-08-08 20:27:17'),
(26, 'teste_final_1786232714@carycalc.test', 1, '191.58.92.254', '2026-08-08 20:45:15'),
(27, 'teste_final_1786234603@carycalc.test', 1, '191.58.92.254', '2026-08-08 21:16:44'),
(28, 'akilessimiao@gmail.com', 1, '179.156.54.194', '2026-08-08 22:07:50'),
(29, 'akilessimiao@gmail.com', 1, '179.156.54.194', '2026-08-08 22:20:58'),
(30, 'azevedo.vasco.19@gmail.com', 1, '191.10.56.81', '2026-08-10 19:22:02'),
(31, 'akilessimiao@gmail.com', 1, '191.58.90.110', '2026-08-10 20:15:37'),
(32, 'admin@carycalc.com', 0, '191.10.56.81', '2026-08-12 23:41:55'),
(33, 'admin@carycalc.com', 0, '191.10.56.81', '2026-08-12 23:42:03');


SET FOREIGN_KEY_CHECKS = 1;
