分销系统开发 分销商城开发 分销功能 Java开发"三级分销"业务功能

2023-11-14

众所周知,互联网时代,分享经济现在随处可见,各行各业都有各种分销系统,最为常见的就是三级分销,那么如何实现这个业务功能了,笔者通过本篇图文案例给大家分享一下实现过程。此处以二级分级分销实现为例。


1.什么是二级分销?
二级分销其实是一种让用户分裂通过邀请的形式来获得更多的用户。如有ABC三个人,A推荐B购买一件商品,B推荐C购买一件商品。假定通过直接推荐购买该商品可获得10%利润,通过间接推荐购买可获得5%的利润,设这件商品定价为1000元,结算下来A可以获得100+50=150元的利润,B可以获得100元的利润,这就是二级分销。对一个产品来讲这种方式可以快速获得更多的流量,大大提升用户量,从而让企业快速推广产品和聚集粉丝,通过更多的渠道发展意向的客户,代理商,以金字塔的裂变方式发展,短期内获得明显的推广效果。
2.代码实现分销业务功能
为了更好的理解这个原理我们用图实现一下上面的例子。首先假设有ABCDEFGH 8个人,他们的关系如图所示

下面是代码演示部分
创建一个人的类,里面定义成员变量名字、数组Person、数组长度、子类数组总长度、价格

package com.guobinhui.bean;
import java.util.ArrayList;
import java.util.List;

public class Person {
    private String name;
    private List<Person> list = new ArrayList<Person>();
    private int sum;
    private int total;
    private static double Price = 1000;

    public List<Person> getList() {
        return list;
    }

    public void setList(List<Person> list) {
        this.list = list;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;

    }

    public int getSum() {
        return list.size();
    }

    public void setSum(int sum) {
        this.sum = sum;
    }

    public int getTotal() {
        int sum = 0;
        for (int i = 0; i < list.size(); i++) {
            sum += list.get(i).getLength();
        }
        return sum;
    }

    public void setTotal(int total) {
        this.total= total;
    }

    public int getLength() {
        return list.size();
    }

    public double totalPrice() {
        return getSum() * Price * 10 / 100 + getTotal() * Price * 5 / 100;
    }
}

下面是测试类

package com.guobinhui.test;
import com.aou.bean.Person;
public class Test {
    public static void main(String[] args) {
        Person a = new Person();
        Person b = new Person();
        Person c = new Person();
        Person d = new Person();
        Person e = new Person();
        Person f = new Person();
        Person g = new Person();
        Person h = new Person();
        a.getList().add(b);
        a.getList().add(c);
        a.getList().add(d);
        a.getList().add(e);
        
        d.getList().add(f);
        d.getList().add(g);
        d.getList().add(h);
        
        System.out.println("A的利润为"+a.totalPrice()+"元");
        System.out.println("D的利润为"+d.totalPrice()+"元");
    }
}

结果:
A的利润为550.0元
D的利润为300.0元

欢迎广大开发者一起交流学习,笔者电话微信18629374628

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分销系统开发 分销商城开发 分销功能 Java开发"三级分销"业务功能 的相关文章

  • 构造函数初始化:提高代码可读性和执行效率

    在C 中 构造函数是用来初始化对象数据成员的 一个对象在创建的时候 构造函数会被自动调用 以便为该对象的数据成员赋初值 传统的初始化方式是在构造函数内部对数据成员逐一进行初始化 这种方式虽然可行 但是代码复杂度高且效率低下 本文将介绍如何使
  • 如何在 Python 中创建元组字典

    本演练是关于在 Python 中创建元组字典的全部内容 此数据结构存储键值对 通过组合字典和元组 可以创建元组字典 好处是以结构化格式组织且可访问的数据 可以轻松表示每个键的多个值 例如学生成绩或联系信息 让我们看看它如何有效地存储和检索复
  • 用jQuery编写简单的动画效果

    jQuery是一种基于JavaScript库的快速 小型而且特别丰富的JavaScript库 它极大地简化了HTML文档遍历和操作 事件处理 动画效果和AJAX交互等功能 jQuery中的各种动画函数可以让我们轻松地为网页添加各种各样的动画
  • Python 中的__main__和__name__

    用 C 族语言 C C Java C 等 编写的程序 需要main 功能来指示执行的起点 另一方面 在 Python 中 没有main 函数的概念 因为它是一种基于解释器的语言 同样可以在交互 Shell中使用 扩展名为 py的 Pytho
  • git add 命令详解

    1 前言 2 git add 基本操作 3 git add 命令参数 4 git add 背后做了什么 1 前言 众所周知 git 中有工作区 暂存区 版本库三大组成部分 工作区 电脑中能看到的目录 也就是写代码的地方 暂存区 英文叫 st
  • 在 NLP 中训练 Unigram 标记器

    介绍 单个标记称为 unigram Unigram 标记器是一种只需要一个单词来推断单词的词性标记器类型 它有一个单词的上下文 NLTK库为我们提供了UnigramTagger 并从NgramTagger继承而来 在本文中 让我们了解 Un
  • 深入了解jQuery的children方法

    jQuery是一种简化HTML文档遍历和操作 事件处理 动画和AJAX等常见任务的JavaScript库 而children 方法是其中之一 它是一个非常实用的方法 可以让我们在DOM树中轻松找到特定元素的子元素 并进行进一步操作 在本文中
  • Python Get()函数用法介绍

    一 简介 Python是一种高级编程语言 它具有简单 易学 高效等特点 而Python get 函数是其中一个重要的函数 该函数用于返回指定键的值 如果键不存在 则返回默认值None 下面将从各个方面对Python get 函数做详细的阐述
  • Spring 6.X IoC 容器

    目录 一 Spring IoC 容器和 Bean 简介 1 1 容器概述 1 3 使用 一 Spring IoC 容器和 Bean 简介 下面主要介绍 Spring 框架对控制反转 IoC 原理的实现 首先要说明的是 IoC 也称为依赖注入
  • java哈希表,java哈希表常用方法

    Java中的哈希表是一种用于存储键值对的数据结构 它通过使用一个哈希函数 能够实现快速查找 插入 删除的操作 本文将详细解读Java哈希表的运作机制 并介绍其常用方法及使用方式 一 Java哈希表的基本概念 Java哈希表 即HashTab
  • 如何在 seaborn 中创建三角相关热图?

    在本教程中 我们将学习在 seaborn 中创建三角形相关热图 顾名思义 相关性是一种度量 用于显示变量的相关程度 相关热图是一种表示数值变量之间关系的图 这些图用于了解哪些变量彼此相关以及它们之间的关系强度 而热图是使用不同颜色的数据的二
  • python如何输出数字后三位

    想要输出数字的后三位 首先需要了解一些基础知识 在Python中 浮点数可以用round 函数来保留小数位数 这个函数有两个参数 要操作的数字和要保留的小数位数 例如 round 3 1415926 3 将返回3 142 其中第二个参数3表
  • Python抠图:使用OpenCV实现背景去除

    一 了解抠图和OpenCV库 抠图 Matting 是图像处理领域的重要任务之一 旨在将对象与其它部分分离 OpenCV是一个开源计算机视觉库 它提供了丰富的函数和工具进行图像编辑处理 可以简单而快速地实现抠图功能 同时可以进行更多的图像处
  • 使用 Python 创建使用 for 循环的元组列表

    Python 的关键数据结构是列表和元组 元组元素一旦设置 就无法更改 这称为不可变性 但是列表元素可以在初始化后修改 在处理需要组合在一起的数据时 for 循环用于创建元组列表 列表比元组更具适应性 因为它们能够被修改 本教程演示如何使用
  • java集合框架中contains(),containsKey()和containsValue()的用法:

    java集合框架中contains containsKey 和containsValue 的用法 List集合的contains 方法用于判断集合中包不包含某个元素 返回值是boolean Map集合的containsKey 和contai
  • Java中的函数使用

    Java中函数是一段可重复使用的代码块 可接受输入参数并返回结果 函数的定义通常包括函数名 参数列表和返回类型 在Java中 函数也被看作是对象 具有属性和方法 本文将从多个方面详细阐述Java中函数的使用和注意事项 一 函数的定义和使用
  • 如何在 Python 和 Node.js 之间通信 JSON 数据?

    JSON 可以缩写为 JavaScript Object Notation 它是一个基于文本的文件 用于在编程语言中传输和存储数据 它由使用内置包即 JSON 的 python 编程语言支持 其文本以带引号的字符串格式给出 其中在大括号 中
  • css中align-self属性是什么

    css中align self属性是什么 1 align self属性定义flex子项单独在侧轴 纵轴 方向上的对齐方式 2 align self多了个auto 默认值 表示继承自flex容器的align items属性值 实例 CSS co
  • 如何在 wxPython 中创建多个工具栏

    在GUI编程领域 wxPython已经成为一个功能强大且通用的库 使开发人员能够轻松制作令人惊叹的图形用户界面 在众多基本组件中 工具栏在为用户提供对各种功能的快速访问方面发挥着至关重要的作用 在本教程中 我们将深入探讨使用 wxPytho
  • ul里面可以放div吗?

    在HTML中 ul 标签代表无序列表 可以用来展示项目列表 而 div 标签则是div容器用于分组内容 提供独立于文档的CSS样式和JavaScript事件处理 那么 ul里面可以放div吗 答案是肯定的 下面从多个方面进行详细阐述 一 语

随机推荐

  • Contains Duplicate III

    Given an array of integers find out whether there are two distinct indices i and j in the array such that the difference
  • 常用问题网址

    https www leonelngande com fetching the current route fragment in angular 7 RxJS https github com manojjha86 complete an
  • Router-Link详解

  • 文件(或文件夹)的复制(Java)

    将源文件 或目录 复制到另一个目录里 三种方法 1 最普通的方法 主要用File类中的方法和IO流相关的类进行递归复制 2 主要用Files类中的copy 方法递归复制 3 主要用Files类中的copy 方法和walkFileTree 方
  • 构建Buildroot根文件系统(I.MX6ULL)

    Busybox构建的根文件系统只有一些常用的命令和文件 Buildroot不仅集成了 busybox 而且还集成了各种常见的第三方库和软件 开发环境 Buildroot 版本 buildroot 2019 02 6 tar gz 虚拟机 4
  • XSS-通关小游戏(1-20)

    在玩游戏之前先简单的了解下 什么是XSS 1 什么是xss XSS攻击全称跨站脚本攻击 是为不和层叠样式表 Cascading Style Sheets CSS 的缩写混淆 故将跨站脚本攻击缩写为XSS XSS是一种在web应用中的计算机安
  • Unity --- UGUI(Unity Graphical user interface)--- Canvas画布

    1 UI User Interface 使用者与机器之间的交互界面 1 所谓的自适应系统指的是分辨率的适应 比如在一个分辨率下做的UI放到另一个分辨率下显示时 如果没有自适应系统的话就会导致UI过大 过小 被辟成一半等等情况 而有了自适应系
  • Android:项目结构

    前言 默认情况下 在 Android Studio 中创建 Android 项目后 将默认生成 Project Packages Scratches Android Project Fines Problems Production Tes
  • 性能指标有哪些

    1 响应时间 Response time 响应时间就是用户感受软件系统为其服务所耗费的时间 对于网站系统来说 响应时间就是从点击了一个页面计时开始 到这个页面完全在浏览器里展现计时结束的这一段时间间隔 看起来很简单 但其实在这段响应时间内
  • 开源GIS浅谈

    开源GIS浅谈 转 http blog csdn net happyduoduo1 article details 51773850 谈到GIS软件 首先让我们想到的是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品 从最初接触的ver
  • js中的微任务和宏任务,附面试题

    因为javascript是一门单线程语言 所以代码的解析执行都要以自上而下的执行 直到任务队列 task queue 的出现 js开始有了异步任务 当一段代码需要稍后执行时 便可以使用异步方案 setTimeout setInterval
  • Eclipse C debug报错Can‘t find a source file at “xxxxx“Locate the file or edit the source lookup path

    笔记备忘 1 操作入下 Debug configerations进入如下界面 双击你的放置器对应的选项 添加新的选项 在source位置记得添加如下选项 2 解决完上面报错还提示如下 no source for main step1 工程右
  • C++构造函数的各种用法全面解析(C++初学面向对象编程)

    文章目录 一 构造函数的基本用法 二 带参构造函数与其调用 三 拷贝构造函数 四 构造函数的重载 一 构造函数的基本用法 1 构造函数概念 一个类的对象被创建的时候 编译系统对象分配内存空间 并自动调用该构造函数 由构造函数完成成员的初始化
  • 解决:如何将pytorch的版本改为和cuda对应、如何使用笔记本电脑自带的NVIDIA使用GPU跑深度学习

    Step1 安装cuda 网址 https developer nvidia com cuda toolkit archive PS 此处必须先看看电脑显卡是否自己就装了cuda 可以通过执行命令行语句nvcc V以此检查cuda是否有 如
  • 字典表设计

    为什么字典表 存在问题 某些变量在多个地方使用 而且一般是固定的 但是随着系统升级和后期变化 可能需要改变 如果这些变量写死在代码里面将会变得难以维护 所以要将其从代码中抽离出来 一般的业务系统客户端与用户交互的时候都会使用下拉框组件 对于
  • Kafka3.0.0版本——消费者(分区的分配以及再平衡)

    目录 一 分区的分配以及再平衡 1 1 消费者分区及消费者组的概述 1 2 如何确定哪个consumer来消费哪个partition的数据 1 3 消费者分区分配策略 一 分区的分配以及再平衡 1 1 消费者分区及消费者组的概述 一个con
  • 样本的均值和方差的无偏估计与测试阶段均值方差的关系

    什么是无偏估计 估计是用样本统计量 可以理解为随机抽样 来估计总体参数时的一种无偏推断 无偏估计的要求就是 估计出来的参数的数学期望等于被估计参数的真实值 所以呢 可以看出 估计值也是一个变量 因为是随机的嘛 真实值谁也不知道啊 因为你不可
  • 数据隐藏之Qt中d指针详解

    最近看到代码有用到了Qt中的Q D指针 就去学习了下 发现真的很好用 因此写一篇文章总结下 student h class CStudent public CStudent CStudent private string m name in
  • LeetCode 1. 两数之和

    题目链接 https leetcode cn problems two sum 思路如下 从前往后遍历 n u m s nums
  • 分销系统开发 分销商城开发 分销功能 Java开发"三级分销"业务功能

    众所周知 互联网时代 分享经济现在随处可见 各行各业都有各种分销系统 最为常见的就是三级分销 那么如何实现这个业务功能了 笔者通过本篇图文案例给大家分享一下实现过程 此处以二级分级分销实现为例 1 什么是二级分销 二级分销其实是一种让用户分