5

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

 2 years ago
source link: https://blog.didispace.com/tj-opensource-mall4cloud/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

年之计在于春,新年就要有新的打算,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”,获取仓库地址!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK