ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

这个 SpringCloud 微服务商城值得推荐

2022-01-19 22:00:51  阅读:285  来源: 互联网

标签:值得 http -- SpringCloud 接口 0.1 api mall4cloud 商城


今天给小伙伴们推荐一个微信商城


一个基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服务B2B2C电商商城系统,采用主流的互联网技术架构、全新的UI设计、支持集群部署、服务注册和发现以及拥有完整的订单流程等,代码完全开源,没有任何二次封装,是一个非常适合二次开发的电商平台系统。

前言

本商城致力于为中大型企业打造一个功能完整、易于维护的微服务B2B2C电商商城系统,采用主流微服务技术实现。后台管理系统包含平台管理,店铺管理、商品管理、订单管理、规格管理、权限管理、资源管理等模块。

文档

这代码有没有文档呀?当然有啦,你已经下载了,在doc这个文件夹上,实在不知道,我就给链接出来咯:

gitee:https://gitee.com/gz-yami/mall4cloud/tree/master/doc

本项目是一个极度遵守阿里巴巴代码规约的项目,以下是代码规约扫描结果

具体目录结构和代码规范,可以查看 https://gitee.com/gz-yami/mall4cloud/tree/master/doc/%E4%BB%A3%E7%A0%81%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84

授权

除开源版本外,本商城还提供商业版本的商城,欲知详情,请访问官网。

商城官网:https://www.mall4j.com

商城使用 AGPLv3 来源,请遵守 AGPLv3 的相关条款,或者联系作者获取商业授权(https://www.mall4j.com)

项目链接

JAVA后台:https://gitee.com/gz-yami/mall4cloud

平台端:https://gitee.com/gz-yami/mall4cloud-platform

商家端:https://gitee.com/gz-yami/mall4cloud-multishop

uni-app:https://gitee.com/gz-yami/mall4cloud-uniapp

演示地址

商业版演示地址:

pc端:https://cloud-pc.mall4j.com

H5端:https://h5.mall4j.com/cloud

小程序:微信搜索 “mall4j微服务版”

目录结构规范

我们也有自己的目录结构

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

关于FeignClient,由于微服务之间存在互相调用,Feign 是http协议,理论上是为了解耦,而实际上提供方接口进行修改,调用方却没有进行修改的时候,会造成异常,所以我们抽取出来。还有就是对内暴露的接口,是很多地方都公用的,所以我们还将接口抽取出了一个模块,方便引用。可以看到mall4cloud-api这个模块下是所有对内feign接口的信息。

目录结构

mall4cloud
├─mall4cloud-api -- 内网接口
│  ├─mall4cloud-api-auth  -- 授权对内接口
│  ├─mall4cloud-api-biz  -- biz对内接口
│  ├─mall4cloud-api-leaf  -- 美团分布式id生成接口
│  ├─mall4cloud-api-multishop  -- 店铺对内接口
│  ├─mall4cloud-api-order  -- 订单对内接口
│  ├─mall4cloud-api-platform  -- 平台对内接口
│  ├─mall4cloud-api-product  -- 商品对内接口
│  ├─mall4cloud-api-rbac  -- 用户角色权限对内接口
│  ├─mall4cloud-api-search  -- 搜索对内接口
│  └─mall4cloud-api-user  -- 用户对内接口
├─mall4cloud-auth  -- 授权校验模块
├─mall4cloud-biz  -- mall4cloud 业务代码。如图片上传/短信等
├─mall4cloud-common -- 一些公共的方法
│  ├─mall4cloud-common-cache  -- 缓存相关公共代码
│  ├─mall4cloud-common-core  -- 公共模块核心(公共中的公共代码)
│  ├─mall4cloud-common-database  -- 数据库连接相关公共代码
│  ├─mall4cloud-common-order  -- 订单相关公共代码
│  ├─mall4cloud-common-product  -- 商品相关公共代码
│  ├─mall4cloud-common-rocketmq  -- rocketmq相关公共代码
│  └─mall4cloud-common-security  -- 安全相关公共代码
├─mall4cloud-gateway  -- 网关
├─mall4cloud-leaf  -- 基于美团leaf的生成id服务
├─mall4cloud-multishop  -- 商家端
├─mall4cloud-order  -- 订单服务
├─mall4cloud-payment  -- 支付服务
├─mall4cloud-platform  -- 平台端
├─mall4cloud-product  -- 商品服务
├─mall4cloud-rbac  -- 用户角色权限模块
├─mall4cloud-search  -- 搜索模块
└─mall4cloud-user  -- 用户服务

技术选型

系统架构图

商城部署后 API 地址

服务

地址

mall4cloud-gatway 网关服务

http://127.0.0.1:9000

mall4cloud-auth 授权校验服务

http://127.0.0.1:9101

mall4cloud-biz 业务代码服务(如图片上传/短信等)

http://127.0.0.1:9000

mall4cloud-leaf 基于美团leaf的生成id服务

http://127.0.0.1:9100

mall4cloud-multishop 商家服务

http://127.0.0.1:9103

mall4cloud-order 订单服务

http://127.0.0.1:9106

mall4cloud-payment 支付服务

http://127.0.0.1:9113

mall4cloud-product 商品服务

http://127.0.0.1:9112

mall4cloud-rbac 用户角色服务

http://127.0.0.1:9102

mall4cloud-search 搜索服务

http://127.0.0.1:9108

mall4cloud-user 用户服务

http://127.0.0.1:9105

部署教程

部署教程请参考该文件夹下的/基本开发文档/mall4cloud开发环境搭建.md以及/开发环境搭建目录下的中间件安装。

代码运行相关截图

1.后台截图

  • 平台端
  • 商家端

2.小程序截图

3.uni-app截图

码云开源地址:

https://gitee.com/gz-yami/mall4cloud

标签:值得,http,--,SpringCloud,接口,0.1,api,mall4cloud,商城
来源: https://blog.csdn.net/m0_64821673/article/details/122590650

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有