Sistema de Vendas com MMN (Marketing de Multinível)
**Olá pessoas,
Estou desenvolvendo um sistema no qual irei ter que abordar o sistema de Marketing de Multinível (MKT ou MMN),
e durante o processo de desenvolvimento encontrei-me de mãos atadas por não conseguir solucionar um problema, então gostaria de pedir uma ajudinha para vocês se possível...**
Bem vamos lá!
1º - Como o sistema irá funcionar?
Basicamente o sistema é um sistema de "afiliados", onde as pessoas irão poder se cadastrar através de um link de referência, e por consequência irá ocorrer o seguinte:
O afiliado [Raiz] cadastra 2 novos Afiliados [Filhos], e consecutivamente seus dois "filhos" irão cadastrar mais 2 novos afiliados ou mais, dando no final a entender a seguinte situação:
=> [Pedro (Raiz)]
=> [João 1ª (Filho)] # Pedro Cadastrou seu filho João 1º
=> [Olavo 1º (Neto)] # João 1º Cadastrou seu Filho Olavo 1º
=> [Matheus 1º (Bisneto)] # Olavo 1º Cadastrou seu Filho Matheus 1º
=> [Patricia (Trineto)] # Matheus 1º Cadastrou sua filha Patricia
=> [Rose (QuadraNeto '-')] # Patricia Cadastrou sua filha Rose
...
=> [Matheus 2º (Bisneto)] # Olavo 1º Cadastrou seu Filho Matheus 2º
=> [Patricio (Trineto)] # Matheus 2º Cadastrou seu filho Patricio (RSRS)
=> [Rosana (Trineto)] # Matheus 2º Cadastrou sua filha Rosana
...
=> [Olavo 2º (Neto)] # João 1º Cadastrou seu Filho Olavo 2º
=> ...
=> [João 2° (Filho)] # Pedro Cadastrou seu filho João 2º
=> [Pedro 1º (Neto)] # João 2º Cadastrou seu Filho Pedro 1º
...
=> [Pedro 2º (Neto)] # João 2º Cadastrou seu Filho Pedro 2º
...
**[ OU SEJA ]**
[Raiz]
|______[Filho 1]
| |_______[Neto 1]
| | |________[BisNeto 1]
| | | |_________[TriNeto 1]
| | | | |________[QuadraNeto]
| | | | | ...
| | | | | ...
| | | | |________[QuadraNeto]
| | | | ...
| | | | ...
| | | |
| | | |
| | | |_________[TriNeto 2]
| | | |________[QuadraNeto]
| | | | ...
| | | | ...
| | | |________[QuadraNeto]
| | | ...
| | | ...
| | |
| | |________[BisNeto 2]
| | ...
| | ...
| |
| |
| |______[Neto 2]
| |________[BisNeto 1]
| | |_________[TriNeto 1]
| | | |________[QuadraNeto]
| | | | ...
| | | | ...
| | | |________[QuadraNeto]
| | | ...
| | | ...
| | |
| | |_________[TriNeto 2]
| | ... |________[QuadraNeto]
| | ... |...
| | |...
| | |________[QuadraNeto]
| ...
| ...
|
|_______[Filho 2]
|
|
|_______[Filho 3]
...
...
>
Citar
Obs: Não existe limites de cadastros, ou seja, o raiz pode cadastrar 30 filhos ou mais, e isso serve ao resto...
Enfim!
**Reparem que os Níveis são [Raiz], [Filho], [Neto], [Bisneto], [Trineto]
Dando um total de 5 níveis máximos, para o Pedro [Raiz], depois João 1º [Filho] irá se tornar um [Raiz] e por sua vez terá direito também a 5 Níveis e assim sucessivamente!**
--------
**Pois bem, como é um sistema de vendas, então iremos trabalhar vendendo cartões, e suponhamos que
Rose filha de Patricia e Quadraneto de Pedro faça uma venda de um cartão no valor de 100 reais, então o seguinte deverá ocorrer:**
>> Direito na venda <<
**[Pedro (Raiz)] => Possui direito a 3% em cida da venda de Rose
[João 1º (Filho)] => Possui direito a 2.9% em cida da venda de Rose
[Olavo 1º (Neto)] => Possui direito a 2.4% em cida da venda de Rose
[Matheus 1º (Bisneto)] => Possui direito a 2.2% em cida da venda de Rose
[Patricia (Trineto)] => Possui direito a 2% em cida da venda de Rose**
**Ou seja, Pedro por ser o (Raiz) irá receber uma porcentagem sobre cada venda realizada por seus parentes até a quinta camada, ou seja, somente até as vendas de seus quadranetos...**
**Agora suponhamos que a filha de Rose faça uma venda no valor de 200 reais, então por sua vez, João 1º irá se tornar o raiz e irá ter o direito ao mesmo de acordo com os níveis (e sim Pedro não irá ter mais direitos de Receber...).**
**E assim por diante...**
**--------**
**Digo desculpas pelo longo texto... infelizmente não consegui achar um modo de encurtar o mesmo :S,
mas gostaria de saber se algum de vocês podem me ajudar ou dar um "ponta pé inicial" no modo de programar o mesmo...**
Estou usando o framework CodeIgniter para desenvolver o mesmo, e creio eu que só falta está parte para o sistema ficar pronto e entragar ao meu cliente pois o mesmo já vem me dando dores de cabeça faz alguns dias...
--------
Por fim, gostaria de agradecer as pessoas que me ajudarem...
Já faz alguns meses que estou desenvolvendo o mesmo e creio que muitos de vocês irão um dia talvez encontrar um cliente que deseja o mesmo (ou algo próximo), então como forma de recompensar vocês irei postar o código fonte do mesmo depois de pronto e poderão fazer o destino desejado com o mesmo...
Atenciosamente, Matheus!
--------
Abaixo encontram-se fragmentos da DB para análise!
/ Tentativa de "Facilitar" a criação da rede MMN /
CREATE TABLE IF NOT EXISTS `bit_rede_mkt` (
`idRede` INT(11) NOT NULL AUTO_INCREMENT,
`idPai` INT(11) NOT NULL DEFAULT '1', /* Referencia */
`idFilho` INT(11) NOT NULL, /* id do novo Afiliado */
`data_cadastro` DATE NOT NULL DEFAULT '0000-00-00',
`status` TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY(`idRede`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/ Tabela de Afiliados /
CREATE TABLE IF NOT EXISTS `bit_afiliados` (
`idAfiliado` INT(11) NOT NULL AUTO_INCREMENT,
`nome` TEXT(30) NOT NULL,
`sobrenome` TEXT(30) NOT NULL,
`cpf` VARCHAR(50) NOT NULL,
`rg` VARCHAR(50) NOT NULL,
`email` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL,
`data_cadastro` DATE NOT NULL DEFAULT '0000-00-00',
`ativo` TINYINT(1) NOT NULL DEFAULT '0',
`status` TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY(`idAfiliado`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;Discussão (4)
Carregando comentários...