Alternate Text

mall电商

电商
技术栈: MySQL / MariaDB SpringBoot MyBatis-Plus Vue3

mall 是一套开源 B2C 自营电商系统,分为**前台用户商城**和**后台运营管理平台**,支持单体 SpringBoot 版本,还有微服务版本 mall-swarm。

2026-10-16 7 T13611764069

一、系统简介

mall 是一套开源 B2C 自营电商系统,分为前台用户商城和后台运营管理平台,支持单体 SpringBoot 版本,还有微服务版本 mall-swarm。

  • 后端:SpringBoot 2.3.x + MyBatis
  • 数据库:MySQL5.7
  • 中间件:Redis(购物车、缓存、秒杀)、Elasticsearch(商品全文检索)、RabbitMQ(订单消息、延时关闭订单)、MongoDB(商品内容详情)
  • 前端:Vue 后台管理端、H5 前台商城
  • 部署方式:支持手动部署、Docker / Docker Compose 容器化部署
  • 适用场景:学习 Java 电商开发、自营 B2C 零售商城二次开发;不适合完全不懂 Java、没有运维能力的商家直接拿来商用

二、核心功能模块

前台商城 mall-portal(用户端)

  1. 首页门户:轮播广告、商品分类、新品推荐、热门商品、品牌展示、活动专区
  2. 商品模块:无限级商品分类、商品详情、多规格 SKU、商品图文、评价、收藏、ES 全文搜索、商品筛选(价格、品牌、属性)
  3. 会员中心:手机号注册登录、收货地址管理、个人信息、我的收藏、浏览记录、优惠券、积分
  4. 购物车:Redis 存储购物车,增减数量、选中结算、合并购物车
  5. 订单系统:下单、库存扣减、订单状态机(待付款 / 待发货 / 待收货 / 已完成 / 售后)、超时自动关闭订单、物流信息、订单评价
  6. 营销活动:秒杀、限时折扣、优惠券、满减、品牌活动
  7. 支付模块:原生集成支付宝沙箱支付;微信支付、新中付、银联需要自行开发对接
  8. 售后:退货申请、退款申请

后台管理 mall-admin(运营端)

  1. 商品管理:商品新增、SKU 维护、上下架、商品分类、品牌管理、商品属性、库存管理
  2. 订单管理:订单查看、订单改价、发货录入快递单号、退款审核、订单导出
  3. 会员管理:用户列表、会员等级、余额、积分、用户行为查看
  4. 营销管理:优惠券创建、秒杀活动配置、广告位管理、首页推荐商品配置
  5. 内容管理:首页轮播图、文章、帮助中心、公告
  6. 数据统计:销售额统计、销量报表、用户新增、流量数据
  7. 权限管理:管理员账号、角色权限、菜单权限(RBAC 权限模型)
  8. 系统配置:商城基础信息、OSS 图片存储、短信配置、消息通知

三、优点

  1. 完全开源,代码规范:国内最经典 Java 电商学习项目,注释完善,架构标准,适合学习电商业务、二次开发。
  2. 技术栈主流:SpringBoot、Redis、MQ、ES,企业通用技术栈,开发者多,网上资料、教程丰富。
  3. 高并发能力强:Redis 缓存、MQ 异步处理订单、ES 商品检索,支持秒杀等高并发场景,PHP 商城很难做到同等性能。
  4. 架构解耦:前后端分离,后台管理独立,方便单独开发 APP、小程序、H5 多端。
  5. 可扩展强:可升级为微服务版本 mall-swarm,支持后期业务扩容;可对接多种支付、物流、短信。
  6. 功能完整:标准电商全链路功能,从商品、库存、订单、营销到售后、统计,覆盖自营 B2C 绝大多数需求。
  7. 安全可控:自主部署,源码可见,没有第三方后门风险(对比网上流传的 PHP 二开源码)。

四、缺点 & 风险(重点)

  1. 部署门槛高:Java 项目,依赖大量中间件 MySQL/Redis/ES/RabbitMQ,不像 PHP 商城上传源码即用;需要懂 Java、Linux 基础。
  2. 原生不带商用支付:自带仅支付宝沙箱测试支付,微信、新中付、银联支付都需要自己写接口开发,对接工作量大。
  3. 不适合零基础商家:无可视化一键安装向导,没有官方运营后台保姆式引导,运营人员上手成本高。
  4. 官方定位是学习项目:不是商用成品系统,没有官方售后客服,线上生产环境 BUG 需要自己团队修复。
  5. 服务器资源要求高:全套中间件一起跑,至少4 核 8G 服务器起步;2 核 2G 机器部署全套中间件容易卡顿、内存溢出。
  6. 多商户不支持:原生版本是单商户 B2C,不支持商家入驻、平台抽佣,做多商户需要大规模二次开发。
  7. 版本老旧:基于 SpringBoot2,部分组件版本偏旧,直接上线生产环境需要做安全漏洞修复。