Ir para conteúdo
ShadowDLL

[HELP-ME] Sistema de Vendas com MMN (Marketing de Multinível)

Recommended Posts

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;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 horas atrás, Izabelle disse:

Olá, você já deu uma olhada  nesse post?

 

 

Obrigado pela ajuda,

Não cheguei a utilizar o código no sistema pois eu fiz uma limitação até o segmento (Neto), mas desde  já agradeço pela ajuda e paciência...

 

Se possível fechar o tópico ou se preferir deixar aberto para depois eu postar o link para o código fonte fica a critério...

Agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por MateusOFCZ
      Olá, estou desenvolvendo um BOT utilizando java, javascript e node.js, gostaria de saber se tem como eu fazer um painel em java (arquivo executável) onde tem um campo de texto (Que é digitado um tema, exemplo "Brasil"), uma lista com 3 itens (Quem é, O que é e A história do(a), você iria selecionar, por exemplo no campo de texto você digitou "Brasil" e na lista você selecionaria "A história do(a)"...) como faço pra quando clicar no botão "Enviar" ele iria executar um comando em node.js adicionando as informações (Tema e Opção).

       


      Caso não tenha entendido posso tentar explicar de uma forma mais clara!
    • Por MateusOFCZ
      Olá, estou desenvolvendo um sistema de publicidade para meu site, e quando entra em uma página, vamos chama-la de "Publicidade" ele mostra uma publicidade e depois de 10 segundos ele redireciona (OBS.: Essa página já está funcionando 100%), e temos outra página que vamos chama-la de "Início", bom... Quando você entrar na página "Início" ele irá na verdade, redirecionar o usuário para a página de Publicidade, porém, como faço para a pessoa não poder pular essa publicidade, como se fosse um camuflador de página, ou seja, se o usuário acessar a página ele irá para a página "imasters.com.br/publicidade", porém se ele alterar o link para "imasters.com.br/inicio" ele irá obrigar o usuário a ver a publicidade primeiro para depois leva-lo a página de "Inicio", caso isso seja complexo de fazer, teria alguma forma de esconder o nome da página (a parte do "/inicio" por exemplo), e deixar apenas o link, por exemplo, se eu ir para a página de publicidade irá aparecer apenas o link, neste caso "imasters.com.br", e não "imasters.com.br/publicidade", caso tenha alguma dúvida sobre o meu pedido pode perguntar, não mordo rs.

      Deis de já agradeço!
    • Por Miqueias Barros
      Fala pessoal tudo bem?
      Estou criando um site de guia de comercio no meu estado e estou utilizando o tema Robolist Lite.
      Estou personalizando o buscador principal, porém o resultado da busca faz apenas atualizar a página. O novo link com a localização, categoria e o que a pessoa procura altera, mas o layout do site permanece o mesmo apenas atualizando.
       
      O buscador padrão do WP atualiza e mostra os resultados, mas quando utilizo o padrão do tema não mostra os resultados.
      Já tentei adaptar usando a função do padrão que é get_search_form(); , mas não surtiu efeito, criou outro box sem estar personalizado.
       
      Segue o código do botão:
      <button class="button btn-default"><i                                class="ion-ios-search"></i><?php echo esc_html__('Buscar', 'robolist-lite'); ?></button> O site é este: https://www.negociandoempresas.com/1salto/
       
      Grato a quem me ajudar, abraços.
    • Por davilimao93
      Olá,
       
      Gostaria de tirar uma dúvida. Sou iniciante em PHP e gostaria de desenvolver um sistema de orçamento de planos, sendo que existem 3 tipos de planos e preços distintos para diferentes tipos de idade.
       
      Preço para titular:
       
      Ex: Plan1 + Idade até 17  = R$15 
            Plan1 + idade maior que 18 e menor que 48 = R$16
            Plan1 + idade maior que 48 = R$17
       
            Plan2 + Idade até 17 = R$18
            Plan2 + idade maior que 18 e menor que 48 = R$19
            Plan2 + idade maior que 48 = R$20
       
            Plan3 + Idade até 17 = R$21
            Plan3 + idade maior que 18 e menor que 48 = R$22
            Plan3 + idade maior que 48= R$23
       
      Porém, cada titular pode adicionar até 3 dependentes no planos, e o valor também varia de acordo com a idade do dependente  e o plano do titular.
       
      Ex: Plan1 + Idade do dependente até 17  = Adiciona R$4 ao valor total do plano.
            Plan1 + idade do dependente maior que 18 e menor que 48 = Adiciona R$5 ao valor total do plano.
            Plan1 + idade do dependente maior que 48 = Adiciona R$6 ao valor total do plano.
       
            Plan2 + Idade do dependente até 17  = Adiciona R$7 ao valor total do plano.
            Plan2 + idade do dependente maior que 18 e menor que 48 = Adiciona R$8 ao valor total do plano.
            Plan2 + idade do dependente maior que 48 = Adiciona R$9 ao valor total do plano.
            
            Plan3 + Idade do dependente até 17  = Adiciona R$10 ao valor total do plano.
            Plan3 + idade do dependente maior que 18 e menor que 48 = Adiciona R$11 ao valor total do plano.
            Plan3 + idade do dependente maior que 48 = Adiciona R$12 ao valor total do plano.
       
       Já quebrei a cabeça usando IF, SWICTH e outros, meti a cara em apostilas, porém, não consigo desenvolver esse sistema com essa tamanha complexidade (para mim), gostaria de saber sobre o que preciso estudar em especifico para conseguir desenvolver esse sistema. Fico grato a todos que puderem colaborar.
           
    • Por dayenne
      Galera então é o seguinte, tenho um trabalho da faculdade para fazer porém ainda não entendo quase nada de java, to meio perdida no trabalho.
      o trabalho propoe que eu faça uma agenda de contatos, onde eu possa armazenar contatos, excluir contatos, pesquisa-los, edita-los, tudo isso usando 
      arquivos txt, porém não consigo de jeito nenhum sair da estaca 0, queria que você me orientasse melhor para que eu consiga flluir melhor os codigos.
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.