最近猿哥在逛网站的时候发现一个不错的开源项目,这个项目目前收获了 1.1K Star,猿哥觉得不错,值得拿出来和大家分享下。
本项目是一个微服务下的分销管理利器,更加灵活的管理佣金,涵盖并且总结了目前流行的分销模式。扩展:接私活儿
产品亮点
1、权限和分销完全分离,符合开发的 低耦合的需求。
2、产品完全可配置化,仅需要少量改动
3、采用微服务思想,和原业务低耦合 ,不需要的时候可以随时下线。
4、可视化图形化界面统计。扩展:接私活神器!
5、完善化的账务体系,可追溯每一笔分润的来源。
我这里有两份整理好各种场景的提示词,大家如有需求可以加我微信领取。

适用企业
1、已有项目,需要增加分销功能。
2、项目需要暂时使用分销功能。
3、对接多个系统,需要对多个账户进行控制的系统
场景案例
电商商品需要增加购买商品分佣功能
广告网站需要增加邀请奖励功能
金融机构需要增加推广奖励 的功能
目标
企业级软件,为企业低成本、高效率、快速的盈利。
技术特色
1、引用guns 权限管理系统
2、采用spring boot 简化了配置、并且将开发环境的配置和生产环境配置分离开。
3、jwt 安全验证。
4、将权限数据库和业务数据库进行分离
5、采用quartz进行任务调度,直接修改数据库即可
6、采用枚举类和数据字典配合的方式进行数据维护,不必要的地方直接调用枚举类,减少数据库的调用。另外,搜索公众号Java架构师技术后台回复“代码生成器”,获取一份惊喜礼包。
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;
}
}
项目总览
项目使用场景图示

分销功能架构图

分销内部设计图







牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧
项目说明
distribution_management 用来运行分销管理系统
plug用来调试接口,调试完成后,可以直接使用
安装方法
下载此项目后,generator.ExecuSql 修改数据库和密码,可以自动导入sql。
运行/distribution_management 目录下的项目,访问http://localhost/。
账号 :admin /111111
dist/123
项目特色
经典分销模式
如下图中的分销模式,就可以很好的与本系统对接 
强大的账户体系

分销配置化

会员关系可视化
会员的发展理论上可以无限制的发展下去,并且可以通过树状图表现出来。 
分销关系权限化
每个分销商只能看到自己名下的会员。并且可以看到自己的交易明细,这个就减少原有的系统的开发。另外,搜索公众号顶级算法后台回复“微信”,获取一份惊喜礼包。
积分控制可视化

功能演示
平台简介
对接参考,用来对系统进行对接,并且已经写好了的模拟接口,可以模仿使用

会员信息对会员账号和会员资金进行管理

分销配置用来配置分润等信息
