☰
mall-swarm 功能结构全解析:后台五大核心模块与前台商城系统源码级详解
2026/10/4 2:57:14 网站建设 项目流程
  • 后端
  • 电商
  • 微服务
  • API网关

【免费下载链接】mall-swarm

mall-swarm是一套微服务商城系统,采用了 Spring Cloud Alibaba、Spring Boot 3.5、Sa-Token、MyBatis、Elasticsearch、Docker、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。

项目地址:https://gitcode.com/gh_mirrors/ma/mall-swarm
点击查看免费下载

导读:本文以mall-swarm仓库中的功能结构说明文档(document/reference/function.md)为主线,逐模块拆解这套微服务商城系统的完整功能地图:后台管理系统涵盖商品、订单、促销、内容、用户五大管理域,前台商城系统则面向 C 端用户提供首页、搜索、购物车、下单与会员服务。读完本文,你将掌握每个功能域背后的 Controller 入口、核心业务能力与在仓库中的对应源码位置,可直接对照 mall-admin 与 mall-portal 模块的代码进行二次开发或功能扩展。

一、功能结构总览:后台管业务、前台管交易

mall-swarm在电商业务的基础上集成了注册中心、配置中心、监控中心、网关等微服务系统功能,业务侧则严格划分为两个子系统(详见 README.md 中的组织结构):

  • 后台管理系统(mall-admin服务):面向运营与管理员,负责商品、订单、促销、内容、用户等后台管理功能,前端配套 Vue 项目mall-admin-web;
  • 前台商城系统(mall-portal服务):面向消费者,负责首页内容、商品检索、购物车、下单支付、会员中心等交易链路功能,前端配套mall-app-web移动端项目。

仓库中的 document/mind 目录存放了与各功能域一一对应的思维导图源文件(pms.emmx商品、oms.emmx订单、sms.emmx促销、cms.emmx内容、ums.emmx用户、home.emmx首页、app.emmx前台应用),完整展示了各模块的功能点树状结构;而 document/sql/mall.sql 则提供了全量数据库表结构,与下文各模块的 Mapper 模型一一对应。

下面按照原文档的章节顺序,对每个功能域进行源码级展开。

二、后台管理系统:商品管理

商品管理是电商后台最核心的模块,对应数据库表前缀pms_(Product Management System),所有后端能力集中在mall-admin模块下com.macro.mall.controller包的Pms*Controller系列中。

商品 CRUD 与批量状态操作

核心入口是 PmsProductController.java,路由前缀/product,围绕商品主数据提供:

功能点接口说明
创建商品POST /product/create接收PmsProductParam,一次写入商品主表、SKU、属性、阶梯价、满减等多张表
商品编辑回显GET /product/updateInfo/{id}返回PmsProductResult聚合编辑信息
更新商品POST /product/update/{id}全量更新商品及其关联数据
分页查询GET /product/list支持PmsProductQueryParam组合条件,默认每页 5 条
模糊查询GET /product/simpleList按商品名称或货号模糊匹配
批量审核POST /product/update/verifyStatus批量修改审核状态并记录审核意见
批量上下架POST /product/update/publishStatus上架/下架控制
批量推荐 / 新品POST /product/update/recommendStatus、POST /product/update/newStatus控制商品在首页的推荐位与新品位
批量删除POST /product/update/deleteStatus逻辑删除(修改删除状态)

其中"商品创建/更新"涉及的多表写入逻辑,可在 PmsProductServiceImpl.java 中看到它对PmsProductAttributeValue、PmsSkuStock、PmsProductLadder、PmsProductFullReduction等模型(见 mall-mbg 的model目录)的协同操作。

商品分类、品牌、属性与 SKU

商品管理域还包括四个独立的管理入口,分别对应数据库pms_brand、pms_product_category、pms_product_attribute、pms_sku_stock等表:

  • 品牌管理PmsBrandController.java:品牌增删改查、按首字母检索、批量上下架品牌推荐位;
  • 商品分类管理PmsProductCategoryController.java:支持父子层级分类(parentId形成树形结构),可配置分类属性筛选;
  • 商品属性管理PmsProductAttributeController.java 与 PmsProductAttributeCategoryController.java:管理属性类型(规格参数/销售属性)及属性分类,前台 SKU 的生成依赖这套数据;
  • SKU 库存管理PmsSkuStockController.java:按商品查询库存、批量修改库存数量、按 SKU 编码模糊查询。

三、后台管理系统:订单管理

订单管理对应数据库表前缀oms_(Order Management System),核心入口是 OmsOrderController.java,路由前缀/order:

功能点接口说明
订单查询GET /order/list按OmsOrderQueryParam(订单编号、收货人、订单状态等)分页检索
批量发货POST /order/update/delivery接收OmsOrderDeliveryParam列表批量填物流单号
批量关闭订单POST /order/update/close关闭超时未支付等订单并附备注
批量删除POST /order/delete逻辑删除订单
订单详情GET /order/{id}返回OmsOrderDetail,聚合订单信息、商品信息与操作记录
修改收货人POST /order/update/receiverInfo修改收货地址信息
修改费用POST /order/update/moneyInfo修改订单金额相关字段
订单备注POST /order/update/note修改订单备注并记录操作日志

订单域还包含三个配套管理模块:

  • 退货申请处理OmsOrderReturnApplyController.java:退货申请的分页查询、详情查看、审核(同意/拒绝)、确认收货等售后全流程;
  • 退货原因设置OmsOrderReturnReasonController.java:前台发起退货时可选原因的管理;
  • 订单设置OmsOrderSettingController.java:配置未支付订单超时时间、收货后超时时间等业务规则(对应oms_order_setting表);
  • 公司收货地址OmsCompanyAddressController.java:管理发货地址库,供订单发货时选用。

与订单相关的查询聚合逻辑位于 OmsOrderServiceImpl.java,其通过 OmsOrderDao.java 完成多表联查;订单操作记录的写入则由 OmsOrderOperateHistoryDao.java 支撑。

四、后台管理系统:促销管理

促销管理对应数据库表前缀sms_(Sales & Marketing System),是 mall 系电商的特色模块,覆盖优惠券、限时购、首页营销位三大块。

优惠券体系

  • 优惠券管理SmsCouponController.java:优惠券的创建(SmsCouponParam支持关联适用商品或商品分类)、删除、修改、按名称/类型分页查询;
  • 优惠券领取记录SmsCouponHistoryController.java:查询会员领取与使用历史,可手动发放优惠券。

优惠券的适用商品与分类关系分别落在sms_coupon_product_relation、sms_coupon_product_category_relation表,对应 SmsCouponDao.java 中的聚合查询实现。

限时购活动

  • 限时购活动SmsFlashPromotionController.java:活动本身的增删改查与上下线控制;
  • 限时购场次SmsFlashPromotionSessionController.java:一天内多个秒杀场次(如 10 点场、14 点场)的管理;
  • 限时购与商品关联SmsFlashPromotionProductRelationController.java:配置每个场次参与秒杀的商品、秒杀价格与限购数量,其查询结果通过 SmsFlashPromotionProductRelationDao.java 联查商品信息。

首页营销位

首页营销内容由 5 个SmsHome*Controller支撑,分别管理轮播广告、品牌推荐、新品推荐、人气推荐与专题推荐:

  • SmsHomeAdvertiseController.java:首页轮播广告位;
  • SmsHomeBrandController.java:首页品牌推荐;
  • SmsHomeNewProductController.java:新品推荐位;
  • SmsHomeRecommendProductController.java:人气推荐位;
  • SmsHomeRecommendSubjectController.java:专题推荐位。

这些营销位数据正是前台首页各推荐列表的数据来源,形成了"后台配置、前台展示"的闭环。

五、后台管理系统:内容管理

内容管理对应数据库表前缀cms_(Content Management System),主要承载商城的内容运营素材:

  • 商品专题管理CmsSubjectController.java:GET /subject/listAll获取全部专题、GET /subject/list按名称分页查询;专题是前台首页内容聚合(如HomeController的/home/subjectList)与专题推荐位的数据源;
  • 优选专区管理CmsPrefrenceAreaController.java:管理"优选专区"内容,专区与商品的关联通过cms_prefrence_area_product_relation表维护(见 CmsPrefrenceAreaProductRelationDao.java)。

内容域对应的 Mapper 模型(CmsSubject、CmsPrefrenceArea等)可在 mall-mbg/src/main/java/com/macro/mall/model 中查看,服务层实现位于 CmsSubjectServiceImpl.java 与 CmsPrefrenceAreaServiceImpl.java。

六、后台管理系统:用户管理

用户管理对应数据库表前缀ums_(User Management System),涵盖管理员账号、角色权限与会员等级三大体系。

后台账号与权限(Sa-Token 鉴权)

核心入口是 UmsAdminController.java,路由前缀/admin:

  • 用户注册POST /admin/register、登录POST /admin/login(返回 Sa-Token Token,tokenHead前缀取自sa-token.token-prefix配置);
  • 获取当前登录用户信息GET /admin/info:返回用户名、菜单树(roleService.getMenuList)、角色列表与头像;
  • 用户列表分页、增删改、修改密码(区分参数不合法/用户不存在/旧密码错误等返回码);
  • 帐号状态启停POST /admin/updateStatus/{id};
  • 用户-角色分配POST /admin/role/update与角色查询GET /admin/role/{adminId}。

配套的权限基础设施包括:

  • 角色管理UmsRoleController.java:角色 CRUD 及角色-菜单、角色-资源分配;
  • 菜单管理UmsMenuController.java:动态菜单树的维护(返回UmsMenuNode树结构,前端据此渲染侧边栏);
  • 资源管理UmsResourceController.java 与 UmsResourceCategoryController.java:后台接口资源的登记与分类,配合网关侧 StpInterfaceImpl.java 实现基于 Sa-Token 的接口级权限校验。

会员等级

UmsMemberLevelController.java 管理会员等级定义(如普通会员、黄金会员等),对应ums_member_level表,是前台下单时积分/折扣计算的重要依据。

七、前台商城系统

前台商城系统对应mall-portal服务,路由集中在com.macro.mall.portal.controller包,面向消费者提供完整的购物链路。

首页内容聚合

HomeController.java 聚合了首页所需的全部分区数据:

  • GET /home/content:一次性返回HomeContentResult(含轮播广告、秒杀信息、新品、人气推荐、品牌推荐、专题推荐等聚合内容);
  • GET /home/recommendProductList:分页获取推荐商品(默认每页 4 条);
  • GET /home/productCateList/{parentId}:按父分类获取商品分类列表;
  • GET /home/subjectList:按分类获取专题;
  • GET /home/hotProductList/GET /home/newProductList:人气与新品推荐(默认每页 6 条)。

这些接口的数据源正是上文后台"首页营销位"模块配置的数据,聚合逻辑在 HomeServiceImpl.java 中通过 HomeDao.java 完成多表联查。

商品搜索与详情

PmsPortalProductController.java 提供 C 端商品能力:

  • GET /product/search:综合搜索、筛选与排序,sort参数语义为:0按相关度、1按新品、2按销量、3价格从低到高、4价格从高到低;
  • GET /product/categoryTreeList:返回PmsProductCategoryNode树形商品分类;
  • GET /product/detail/{id}:返回PmsPortalProductDetail聚合详情(基本信息、属性、规格、促销信息等)。

购物车

OmsCartItemController.java 以当前登录会员为维度管理购物车:添加商品、获取购物车列表、获取含促销信息的购物车列表(GET /cart/list/promotion,返回CartPromotionItem计算满减/优惠券优惠)、修改数量、重选规格(GET /cart/getProduct/{productId})、删除与清空。促销计算的核心算法在 OmsPromotionServiceImpl.java 中实现。

下单与支付

  • 订单提交OmsPortalOrderController.java:确认订单(OrderParam)、生成订单(含库存锁定与促销优惠计算)、取消超时订单(配合 CancelOrderReceiver.java 的 RabbitMQ 延时队列消息与 OrderTimeOutCancelTask.java 定时任务兜底);
  • 支付宝支付AlipayController.java:支付下单、支付结果异步回调处理;
  • 退货申请OmsPortalOrderReturnApplyController.java:消费者发起售后申请。

会员中心与增值功能

  • 会员登录注册UmsMemberController.java:手机验证码注册/登录(GET /sso/getAuthCode)、登录返回 Sa-Token Token、获取会员信息、修改密码;
  • 收货地址UmsMemberReceiveAddressController.java:地址簿的增删改查与默认地址设置;
  • 会员优惠券UmsMemberCouponController.java:领券、可用/已用/过期优惠券列表、下单时获取可用优惠券;
  • 商品收藏MemberProductCollectionController.java 与品牌关注MemberAttentionController.java:基于 MongoDB(Repository 层见 repository)实现收藏与关注;
  • 浏览历史MemberReadHistoryController.java:基于 MongoDB 记录商品浏览历史。

前台商城还有独立的搜索服务mall-search,基于 Elasticsearch 实现商品搜索(EsProductController.java),提供从数据库导入 ES、综合搜索(按关键字/品牌/分类/价格区间/排序)等功能,是对mall-portal商品搜索的工程化替代方案。

八、功能地图速查:模块与服务对照

功能域后台服务模块前台服务模块主要表前缀核心 Controller
商品管理mall-adminmall-portal / mall-searchpms_PmsProductController 等
订单管理mall-adminmall-portaloms_OmsOrderController、OmsPortalOrderController
促销管理mall-adminmall-portalsms_SmsCouponController、SmsFlashPromotionController 等
内容管理mall-adminmall-portalcms_CmsSubjectController、HomeController
用户管理mall-adminmall-portalums_UmsAdminController、UmsMemberController
会员增值—mall-portalMongoDB 集合MemberProductCollectionController 等

由此可以看出mall-swarm的功能架构遵循"后台配置(mall-admin)→ 前台消费(mall-portal)"的清晰分层:后台五大管理域负责业务数据的生产与运营配置,前台商城系统负责将这些数据转化为 C 端购物体验。读者在定位任意功能时,可按"数据库表前缀 → mall-mbg 模型 → mall-admin/mall-portal Controller → Service 实现"的四步路径快速溯源,这也是基于本文功能地图进行二次开发的最实用方法。

  • 后端
  • 电商
  • 微服务
  • API网关

【免费下载链接】mall-swarm

mall-swarm是一套微服务商城系统,采用了 Spring Cloud Alibaba、Spring Boot 3.5、Sa-Token、MyBatis、Elasticsearch、Docker、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。

项目地址:https://gitcode.com/gh_mirrors/ma/mall-swarm
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询