這個 SpringCloud 微服務(wù)商城值得推薦!
大家好,我是小鋒,今天給小伙伴們推薦一個微服務(wù)商城;

一個基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服務(wù)B2B2C電商商城系統(tǒng),采用主流的互聯(lián)網(wǎng)技術(shù)架構(gòu)、全新的UI設(shè)計、支持集群部署、服務(wù)注冊和發(fā)現(xiàn)以及擁有完整的訂單流程等,代碼完全開源,沒有任何二次封裝,是一個非常適合二次開發(fā)的電商平臺系統(tǒng)。
前言
本商城致力于為中大型企業(yè)打造一個功能完整、易于維護的微服務(wù)B2B2C電商商城系統(tǒng),采用主流微服務(wù)技術(shù)實現(xiàn)。后臺管理系統(tǒng)包含平臺管理,店鋪管理、商品管理、訂單管理、規(guī)格管理、權(quán)限管理、資源管理等模塊。
文檔
這代碼有沒有文檔呀?當(dāng)然有啦,你已經(jīng)下載了,在doc這個文件夾上,實在不知道,我就給鏈接出來咯:
gitee:https://gitee.com/gz-yami/mall4cloud/tree/master/doc
本項目是一個極度遵守阿里巴巴代碼規(guī)約的項目,以下是代碼規(guī)約掃描結(jié)果

具體目錄結(jié)構(gòu)和代碼規(guī)范,可以查看?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
授權(quán)
除開源版本外,本商城還提供商業(yè)版本的商城,欲知詳情,請訪問官網(wǎng)。
商城官網(wǎng):https://www.mall4j.com
商城使用 AGPLv3 開源,請遵守 AGPLv3 的相關(guān)條款,或者聯(lián)系作者獲取商業(yè)授權(quán)(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
演示地址
商業(yè)版演示地址:
pc端:https://cloud-pc.mall4j.com
H5端:https://h5.mall4j.com/cloud
小程序:微信搜索 “mall4j微服務(wù)版”
目錄結(jié)構(gòu)規(guī)范
我們也有自己的目錄結(jié)構(gòu)

VO(View Object):顯示層對象,通常是 Web 向模板渲染引擎層傳輸?shù)膶ο蟆?/span>
DTO(Data Transfer Object):數(shù)據(jù)傳輸對象,前端像后臺進行傳輸?shù)膶ο?,類似于param。
BO(Business Object):業(yè)務(wù)對象,內(nèi)部業(yè)務(wù)對象,只在內(nèi)部傳遞,不對外進行傳遞。
Model:模型層,此對象與數(shù)據(jù)庫表結(jié)構(gòu)一一對應(yīng),通過 Mapper 層向上傳輸數(shù)據(jù)源對象。
Controller:主要是對外部訪問控制進行轉(zhuǎn)發(fā),各類基本參數(shù)校驗,或者不復(fù)用的業(yè)務(wù)簡單處理等。為了簡單起見,一些與事務(wù)無關(guān)的代碼也在這里編寫。
FeignClient:由于微服務(wù)之間存在互相調(diào)用,這里是內(nèi)部請求的接口。
Controller:主要是對內(nèi)部訪問控制進行轉(zhuǎn)發(fā),各類基本參數(shù)校驗,或者不復(fù)用的業(yè)務(wù)簡單處理等。為了簡單起見,一些與事務(wù)無關(guān)的代碼也在這里編寫。
Service 層:相對具體的業(yè)務(wù)邏輯服務(wù)層。
Manager 層:通用業(yè)務(wù)處理層,它有如下特征:
1) 對第三方平臺封裝的層,預(yù)處理返回結(jié)果及轉(zhuǎn)化異常信息,適配上層接口。
2) 對 Service 層通用能力的下沉,如緩存方案、中間件通用處理。
3) 與 DAO 層交互,對多個 DAO 的組合復(fù)用。
Mapper持久層:數(shù)據(jù)訪問層,與底層 MySQL進行數(shù)據(jù)交互。
Listener:監(jiān)聽?
RocketMQ?進行處理,有時候會監(jiān)聽easyexcel相關(guān)數(shù)據(jù)。
關(guān)于FeignClient,由于微服務(wù)之間存在互相調(diào)用,Feign?是http協(xié)議,理論上是為了解耦,而實際上提供方接口進行修改,調(diào)用方卻沒有進行修改的時候,會造成異常,所以我們抽取出來。還有就是對內(nèi)暴露的接口,是很多地方都公用的,所以我們還將接口抽取了出了一個模塊,方便引用。可以看到mall4cloud-api這個模塊下是所有對內(nèi)feign接口的信息。
目錄結(jié)構(gòu)
mall4cloud
├─mall4cloud-api -- 內(nèi)網(wǎng)接口
│ ├─mall4cloud-api-auth -- 授權(quán)對內(nèi)接口
│ ├─mall4cloud-api-biz -- biz對內(nèi)接口
│ ├─mall4cloud-api-leaf -- 美團分布式id生成接口
│ ├─mall4cloud-api-multishop -- 店鋪對內(nèi)接口
│ ├─mall4cloud-api-order -- 訂單對內(nèi)接口
│ ├─mall4cloud-api-platform -- 平臺對內(nèi)接口
│ ├─mall4cloud-api-product -- 商品對內(nèi)接口
│ ├─mall4cloud-api-rbac -- 用戶角色權(quán)限對內(nèi)接口
│ ├─mall4cloud-api-search -- 搜索對內(nèi)接口
│ └─mall4cloud-api-user -- 用戶對內(nèi)接口
├─mall4cloud-auth -- 授權(quán)校驗?zāi)K
├─mall4cloud-biz -- mall4cloud 業(yè)務(wù)代碼。如圖片上傳/短信等
├─mall4cloud-common -- 一些公共的方法
│ ├─mall4cloud-common-cache -- 緩存相關(guān)公共代碼
│ ├─mall4cloud-common-core -- 公共模塊核心(公共中的公共代碼)
│ ├─mall4cloud-common-database -- 數(shù)據(jù)庫連接相關(guān)公共代碼
│ ├─mall4cloud-common-order -- 訂單相關(guān)公共代碼
│ ├─mall4cloud-common-product -- 商品相關(guān)公共代碼
│ ├─mall4cloud-common-rocketmq -- rocketmq相關(guān)公共代碼
│ └─mall4cloud-common-security -- 安全相關(guān)公共代碼
├─mall4cloud-gateway -- 網(wǎng)關(guān)
├─mall4cloud-leaf -- 基于美團leaf的生成id服務(wù)
├─mall4cloud-multishop -- 商家端
├─mall4cloud-order -- 訂單服務(wù)
├─mall4cloud-payment -- 支付服務(wù)
├─mall4cloud-platform -- 平臺端
├─mall4cloud-product -- 商品服務(wù)
├─mall4cloud-rbac -- 用戶角色權(quán)限模塊
├─mall4cloud-search -- 搜索模塊
└─mall4cloud-user -- 用戶服務(wù)技術(shù)選型

系統(tǒng)架構(gòu)圖

商城部署后 API 地址
| 服務(wù) | 地址 |
|---|---|
| mall4cloud-gatway 網(wǎng)關(guān)服務(wù) | http://127.0.0.1:9000 |
| mall4cloud-auth 授權(quán)校驗服務(wù) | http://127.0.0.1:9101 |
| mall4cloud-biz 業(yè)務(wù)代碼服務(wù)(如圖片上傳/短信等) | http://127.0.0.1:9000 |
| mall4cloud-leaf 基于美團leaf的生成id服務(wù) | http://127.0.0.1:9100 |
| mall4cloud-multishop 商家服務(wù) | http://127.0.0.1:9103 |
| mall4cloud-order 訂單服務(wù) | http://127.0.0.1:9106 |
| mall4cloud-payment 支付服務(wù) | http://127.0.0.1:9113 |
| mall4cloud-product 商品服務(wù) | http://127.0.0.1:9112 |
| mall4cloud-rbac 用戶角色服務(wù) | http://127.0.0.1:9102 |
| mall4cloud-search 搜索服務(wù) | http://127.0.0.1:9108 |
| mall4cloud-user 用戶服務(wù) | http://127.0.0.1:9105 |
部署教程
部署教程請參考該文件夾下的/基本開發(fā)文檔/mall4cloud開發(fā)環(huán)境搭建.md以及/開發(fā)環(huán)境搭建目錄下的中間件安裝。
代碼運行相關(guān)截圖
1.后臺截圖
平臺端

商家端


2.小程序截圖

3.uni-app截圖

碼云開源地址:
https://gitee.com/gz-yami/mall4cloud

加鋒哥微信:?java1239?? 圍觀鋒哥朋友圈,每天推送Java干貨!
