This action will force synchronization from Hickey/EDEN-MACE, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
链接:https://pan.baidu.com/s/1he3Tnk324JKoMPsbtEPcyw 提取码:p20v
1.分销系统概览
2.分润计算
zookeeper下载:https://pan.baidu.com/s/184q_XyAL-R7n4KZnOgUs1w
2020-07-26 系统优化,以及增加可视化插件
2020-04-02 增加同步老系统数据插件
2019-11-06 增加docker部署(参考传送门)
2019-09-26 增加zk分布式锁
2019-07-05 定时任务bug修复
2019-05-21 新增代理-会员关系图
2019-05-19 重构分润核心代码,增加分段计算分润的方式,让分润更加精准化,防止因分润带来财务风险
2019-05-08 新增账务使用模板方法,新增账务更加快捷
2019-02-26 数据清理,一键初始化数据库
2019-02-12 优化界面查询,重构后端分页,增加会员邀请限制
2019-01-22 更新邀请会员接口,可以支持邀请会员或者平台任选一个
dist-primary 分销主模块
dist-front 模拟前端
dist-api 分销接口调用插件
随着微信等社交工具的出现,很多软件出现了通过人脉赚钱的方式,每个人通过各种方式将数据传递给另外的人,通过这种分裂式的发展,使得产品能够得到有效的推广,并且可以进行有效的精准推广,于是市场上产生了很多的微信三级分销等软件,也有很多成功的产品,比如拼多多等,根据我个人了解 很多初创企业 都使用这种模式,在产品刚刚上线的时候就使用这种模式,为企业赚得了第一桶金。
但是我们用第三方软件,有很多问题,比如 很多东西都不能够定制化,很多业务不够满足自己产品的需求,于是只能"凑合着用",有些公司会定制开发,产生了很大的开发成本和时间,在任何一个产品上线的时候,时间就是产品的生命线,尤其是遇到不熟悉这些业务的开发的时候 ,可能需求和产品会产生误差,会导致产品拖延很长时间。
我通过对分销系统多年的研究发现,分销的分润和等级的计算完全在后台进行配置化管理,将抽象的分销系统具体化,前端可以单独开发,开发成本和时间完全可以进行控制,于是就开发这样的一套系统。
primary 分销主项目,用于分销配置和api的调用
front 为了更加的形象,模拟前端对接,主要是http调用api接口
对于程序员 ,可以学到技术和业务逻辑紧密结合,用业务作为跳板去学习技术
对于企业,可以实现企业的推广,快速将人脉变现
立足产业互联网,打造产业互联网每个环节的利润点,致力于打通产业内部之间的联系,做产业之间的核心和纽带
1、权限和分销完全分离,符合开发的 低耦合的需求。
2、产品完全可配置化,仅需要少量改动
3、采用微服务思想,和原业务低耦合 ,不需要的时候可以随时下线。
4、可视化图形化界面统计。
5、完善化的账务体系,可追溯每一笔分润的来源。
1、已有项目,需要增加分销功能。
2、项目需要暂时使用分销功能。
3、对接多个系统,需要对多个账户进行控制的系统
企业级软件,为企业低成本、高效率、快速的盈利。
https://gitee.com/codingdb/distribution_management
1、引用guns 权限管理系统
2、采用spring boot 简化了配置、并且将开发环境的配置和生产环境配置分离开。
3、jwt 安全验证。
4、将权限数据库和业务数据库进行分离
5、采用quartz进行任务调度,直接修改数据库即可
6、采用枚举类和数据字典配合的方式进行数据维护,不必要的地方直接调用枚举类,减少数据库的调用。
7、策略模式和简单工厂模式实现佣金的扩展,可以很容易的扩展分销系统。
8、 采用swagger方式对外开放接口,并且使用restful风格。
9、采用阿里云编码规约。
10、分销商自动分配权限。
11、自动权限配置功能。
枚举类实现自动计算分润
ZERO_STATUS("0","按照百分比计算") {
@Override
public BigDecimal calResult(BigDecimal amount, BigDecimal arg) {
return amount.multiply(arg);
}
}
策略模式实现分佣账户的扩展
public AmountFactoryContext(String type) {
switch (type){
case "0":
amountService = new TradeAmountServiceImpl();
break;
case "1":
amountService = new LevelAmountServiceImpl();
break;
default:
break;
}
}
项目使用场景图示
分销功能架构图
分销内部设计图
distribution_management 用来运行分销管理系统
plug用来调试接口,调试完成后,可以直接使用
下载此项目后,generator.ExecuSql 修改数据库和密码,可以自动导入sql。
运行/distribution_management 目录下的项目,访问http://localhost/。
账号 : admin /111111
dist/123
如下图中的分销模式,就可以很好的与本系统对接
系统以微服务的形式运行,即独立于其他的软件,提供接口进行交互,不会对其他的系统产生新的冗余数据。
假设李老板 前期需要推广自己的软件,自己的软件又没有设计这个功能,加功能又需要很多钱,这个时候,使用这个软件就可以减少资金的投入(写很少的代码就可以实现自己的需求)。
系统稳定了,李老板 不需要这个分销软件了, 那么可以直接将原来的几行代码关了,或者在自己的系统中增加开关,直接就可以关掉。并且不影响原来的系统的运行。
假设平台原来只设置一级又分润,后面需要给二级或者三级分润,这个时候只需要在后台进行配置就可以。平台 如果设置原来的配置每笔交易按照百分比收取,后来改为每笔交易按照固定金额收取,就可以直接在后台进行配置。 如下图中的分润配置,可以根据各种情况进行配置分润。
会员的发展理论上可以无限制的发展下去,并且可以通过树状图表现出来。
每个分销商只能看到自己名下的会员。并且可以看到自己的交易明细,这个就减少原有的系统的开发。
对接参考,用来对系统进行对接,并且已经写好了的模拟接口,可以模仿使用
会员信息对会员账号和会员资金进行管理
分销配置用来配置分润等信息
交易中心 集中对收入和支出进行管理
统计中心 对数据进行统计 交易动态,可以查看最新的交易成功的动态 账户收益统计图
inside docker folder, start docker by
$ ./start.sh
Then dump the data inside docker folder, access mysql container by
$ docker exec -it distribution-mysql bash -l
$ mysql -uroot -p
$ source /docker-entrypoint-initdb.d/distribution.sql;
$ source /docker-entrypoint-initdb.d/authority.sql;
注意: 这里mysql 的port 是 6603, 需要在application-dev.yml 中替换成相应的port.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。