Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Estou iniciando o desenvolvimento de um sistema para atendimento online, abaixo estão as estruturas das tabelas, gostaria de opiniões para melhorias.
CREATE TABLE `atendon_admins` (
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`nome` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
`grupoID` tinyint(3) unsigned DEFAULT NULL,
`dataCadastro` date DEFAULT NULL,
`adminID` tinyint(3) unsigned DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `atendon_atendimentos` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`operadorID` tinyint(4) unsigned DEFAULT NULL,
`clienteID` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`assunto` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`dataInicio` datetime DEFAULT NULL,
`dataFim` datetime DEFAULT NULL,
`status` enum('0','2','1') COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '2 -> Ag. Atend., 1 -> Aberto, 0 -> Fechado',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `atendon_atendimentos_mensagens` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`atendimentoID` int(10) unsigned DEFAULT NULL,
`mensagem` text COLLATE utf8_unicode_ci,
`para` enum('0','1') COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '0 -> Cliente, 1 -> Operador',
`data` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `atendon_clientes` (
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`nome` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
`dataCadastro` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `atendon_grupos` (
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`nome` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`nivel` enum('0','1') COLLATE utf8_unicode_ci DEFAULT '0' COMMENT '0 -> Operador, 1 -> Administrador',
`dataCadastro` date DEFAULT NULL,
`adminID` tinyint(3) unsigned DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `atendon_operadores` (
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`nome` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
`foto` char(36) COLLATE utf8_unicode_ci DEFAULT NULL,
`grupoID` tinyint(3) unsigned DEFAULT NULL,
`status` enum('0','3','2','1') COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '0 -> offline, 1 -> online, 2 -> ocupado, 3 -> ausente',
`dataCadastro` date DEFAULT NULL,
`adminID` tinyint(3) unsigned DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;Cara, manda a sua modelagem, não os create table! --'
Desculpem-se pelo equívoco.
Segue:
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.cassianodesigner.com/forum/Modelagem-Atendimento-online.png&key=9863fde44fb9eec7b8dce0d0724a7aeb99aa91e497d59021312497e366d1da47" alt="Modelagem-Atendimento-online.png" />
Basicamente, a lógica é esta:
* O cliente / visitante ao preencher o formulário para atendimento, é cadastrado no banco (atendon_clientes).
* A solicitação é registrada (atendon_atendimentos), por padrão, o atendimento é definido como "Aguard. atendimento".
* Um operador (atendon_operadores) disponível atende a solicitação e seu status é atualizado "ocupado", o atendimento é atualizado para "Em atendimento".
* As mensagens enviadas vão para atendon_mensagens, onde indicam para quem é destinada "cliente" ou "operador".
* Após o atendimento, os status do Operador e atendimento são alterados para "disponível" e "Fechado" respectivamente.
faz no dbdesigner ou no mysql worckbench e manda, assim fic ameio dificil de se ver..