商城功能设计
这篇解决什么
商城怎么分层:四个 Maven 子模块分别是商品 product、营销 promotion、交易 trade、统计 statistics。读完先对模块边界和表,再进分类、SPU、订单等功能篇。
默认端口 48080,管理端前缀 /admin-api,用户端前缀 /app-api。工程启动见 快速开始。
业务流程及架构
商城自己不算流程引擎。售后审批人是管理端用户,不是 Flowable,不要去编 processDefinitionKey。下单要会员账号,收款要支付应用。
示意图:四个子模块落在 yudao-module-mall/。商品和进销存产品不是一张表。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 商品 | product_spu / product_sku / product_category | 商品分类、商品 SPU 与 SKU |
| 营销 | 券、折扣、满减、秒杀、拼团、砍价 | 优惠券、限时折扣 |
| 交易 | trade_order、购物车、售后、配送 | 交易订单、售后 |
| 统计 | product_statistics / trade_statistics | 会员、商品、交易统计 |
和 ERP 产品不是一张表
商城 SPU 在 product_spu。进销存产品在 erp_product。两边分类、库存、价格各自维护,下单不会去扣 erp_stock。
数据表 ER
主干表按已有篇和 DO 画出。营销活动、装修页、客服会话不进这张图。
示意图:可售库存在 product_sku。下单写 trade_order,不写 erp_stock。
前后端代码
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 聚合 | 商品 / 营销 / 交易 / 统计 | ruoyi-office/yudao-module-mall/ |
| 单体引入 | 四个 *-server | ruoyi-office/yudao-server/pom.xml |
| 管理端 | 商城各页 | ruoyi-office-vben/apps/web-antd/src/views/mall/ |
| 用户端 | App Controller,前缀 /app-api | 各模块 controller/app/ |
| 移动端管理 | 商城搬家 | ruoyi-office-uniapp/src/pages-mall/ |
官方菜单:2362 商城系统(/mall)。首页 2388(/mall/home)。商品中心 2000,订单中心 2072,营销中心 2030,统计中心 2358。客服 2797。看不到菜单时先查角色,再确认 OA 裁剪有没有关掉这棵目录。
商品列表路由 /mall/product/spu,订单 /mall/trade/order。

本系统截图:商城系统 → 商城首页。四个中心从这里进。

本系统截图:商品中心 → 商品列表。改的是 product_spu,不是 erp_product。
功能开启
单体 -P boot 时已经依赖 yudao-module-product-server、promotion-server、trade-server、statistics-server。启动 YudaoServerApplication 即可。没有单独的「商城开关」页。
客户默认包 ruoyi-office-db/dump/latest/:先 schema_*.sql 再 static_data_*.sql,带 product_*、promotion_*、trade_* 表和菜单。以后改表走 ruoyi-office-db/update/。
没有支付时管理端还能维护商品,用户端下单会卡在支付。会员见 会员功能设计,支付见 支付功能设计。
示意图:先会员和支付,再商品。
旧文 商城功能开启 已并入本页,请收藏本篇。
