跳至主要內容

一个基于Spring Cloud的微服务电商平台系统

TJ君原创开源推荐Spring Cloud开源大约 3 分钟

年之计在于春,新年就要有新的打算,TJ君身边不少小伙伴都有点想在新的一年里开个网店的冲动,但是如何入手、如何开店都是个学问,需要好好研究,不过这也说明了电商行业的前景还是不错滴。

所以当TJ君今天留意到这个开源项目的时候,第一反应就是,可用!推荐!

mall4cloud

mall4cloud

说到mall4cloud,不得不先说下Mall4j。

Mall4j

Mall4j是一个商用的提供多元化电商服务,满足企业多场景业务需求,为垂直行业提供专业的电商解决方案网站,提供多种成熟的电商配套服务,而mall4cloud则正是它的开源版本!

此开源版本,是一个基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服务B2B2C电商商城系统,非常良心的没有其他二次封装,真正做到完全开源,小伙伴们无论是学习,还是二次开发,都是非常合适的一个项目。

项目使用 AGPLv3 开源规则,采用主流的互联网技术架构,支持集群部署、服务注册和发现以及拥有完整的订单流程,同时还拥有不错的UI设计效果。

先看看整体目录结构及应用分层:

mall4cloud

mall4cloud

其中各项分层解释是这样的:

  • VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
  • DTO(Data Transfer Object):数据传输对象,前端像后台进行传输的对象,类似于param。
  • BO(Business Object):业务对象,内部业务对象,只在内部传递,不对外进行传递。
  • Model:模型层,此对象与数据库表结构一一对应,通过 Mapper 层向上传输数据源对象。
  • Controller:主要是对外部访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。为了简单起见,一些与事务无关的代码也在这里编写。
  • FeignClient:由于微服务之间存在互相调用,这里是内部请求的接口。
  • Controller:主要是对内部访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。为了简单起见,一些与事务无关的代码也在这里编写。
  • Service 层:相对具体的业务逻辑服务层。
  • Mapper持久层:数据访问层,与底层 MySQL进行数据交互。
  • Listener:监听 RocketMQ 进行处理,有时候会监听easyexcel相关数据。
  • Manager 层:通用业务处理层,主要有三个特点。
    • 对第三方平台封装的层,预处理返回结果及转化异常信息,适配上层接口。
  • 对 Service 层通用能力的下沉,如缓存方案、中间件通用处理。
  • 与 DAO 层交互,对多个 DAO 的组合复用。

了解了这些我们还可以看下项目的架构图:

mall4cloud

mall4cloud

mall4cloud

然后还可以看下实际运行的效果:

订单界面

mall4cloud-订单

平台管理界面

mall4cloud-平台管理

小程序界面

https://mmbiz.qpic.cn/mmbiz_png/8cpIYdAicCcsukDCjmKVXLRic2qqFJ2ibkicpVjTNjNKafOvPSV1VsyrjicAz3NgJ8ehA7CpiciaQ9qFdNkLuib2B1o3FQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1 mall4cloud-小程序

项目还提供了一系列的开发及搭建文档,供小伙伴们在使用过程中查看:

mall4cloud

怎么样?想试试电商项目的小伙伴,不要犹豫啦,赶紧来学学吧!

扫描下方二维码,关注公众号“TJ君”,回复“mall4cloud”,获取仓库地址!

上次编辑于:
贡献者: 程序猿DD