查看原文
其他

一个很酷的企业级分销管理系统

GitHub猿 2022-07-01

The following article is from 程序员小乐 Author 小乐

推荐关注

责编:猿哥 | 来源:程序员小乐 整理

往期文章:看看人家那智能客服系统,那叫一个优雅(附源码)


正文

大家好,我是GitHub猿。今天,推荐一个企业级分销管理系统。猿哥第一次使用就有点上头,爱不释手,必须要推荐给大家。

上次是谁要的企业级分销管理系统啊,猿哥帮你找到了。

这是我目前见过最好的企业级分销管理系统。功能完整,代码结构清晰。值得推荐。

📚 项目介绍

本项目是一个微服务下的分销管理利器,更加灵活的管理佣金,涵盖并且总结了目前流行的分销模式。

产品亮点

1、权限和分销完全分离,符合开发的 低耦合的需求。

2、产品完全可配置化,仅需要少量改动

3、采用微服务思想,和原业务低耦合 ,不需要的时候可以随时下线。

4、可视化图形化界面统计。扩展:接私活神器!

5、完善化的账务体系,可追溯每一笔分润的来源。

适用企业

1、已有项目,需要增加分销功能。

2、项目需要暂时使用分销功能。

3、对接多个系统,需要对多个账户进行控制的系统

场景案例

  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;
}
}

项目总览

项目使用场景图示

分销功能架构图

分销内部设计图 

项目说明

distribution_management 用来运行分销管理系统

plug用来调试接口,调试完成后,可以直接使用

安装方法

下载此项目后,generator.ExecuSql 修改数据库和密码,可以自动导入sql。

运行/distribution_management 目录下的项目,访问http://localhost/。

账号 :admin /111111

dist/123

项目特色

经典分销模式

如下图中的分销模式,就可以很好的与本系统对接 

强大的账户体系

分销配置化

会员关系可视化

会员的发展理论上可以无限制的发展下去,并且可以通过树状图表现出来。 

分销关系权限化

每个分销商只能看到自己名下的会员。并且可以看到自己的交易明细,这个就减少原有的系统的开发。另外,搜索公众号顶级算法台回复“微信”,获取一份惊喜礼包。

积分控制可视化

功能演示

平台简介

对接参考,用来对系统进行对接,并且已经写好了的模拟接口,可以模仿使用

 

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

 

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

     

交易中心 集中对收入和支出进行管理 

 

统计中心 对数据进行统计 交易动态,可以查看最新的交易成功的动态 

 

账户收益统计图 

 

模拟前端界面展示

利用docker 本地部署

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.


项目源码,怎么领取?

源码获取

扫码下方二维码,后台回复【分销】即可获取所有系统

欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️

在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!

--END--


猿哥个人微信


添加猿哥个人微信即送一份惊喜大礼包


→ 技术资料共享

→ 技术交流社群



版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

往日文章:
推荐一套开源通用后台管理系统(附源码)
一款神奇的极客工具,用了永无 Bug
推荐一个酷炫的监控系统(附源码)!
看看人家那 IM 即时通讯系统,那叫一个优雅(附源码)
一个很酷的图床系统(自带鉴黄功能)
一个很酷的进销存管理系统一个很酷的博客系统这个开源项目太绝了,金三银四的你们肯定需要
看看人家那企业办公系统,那叫一个优雅(附源码)
卧槽,阿里云盘也杀疯了!!!

最近,GitHub猿建了一个「GitHub猿交流群」,欢迎大家一起交流优秀开源项目,也可以宣传自己的开源项目,在 「GitHub猿」公众号后台回复【加群】邀请你入群。

你点的每个赞,我都认真当成了喜

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存