# 3-在线商城系统 - 功能说明
# 项目概述
面向消费者与商家的在线商城,提供商品分类、商品浏览、购物车、订单、收藏、评价和推荐入口。管理员维护平台基础资料,商家维护商品与订单,用户完成选购和订单查询。
# 项目概览
# 创新点
- 多种商品推荐:提供用户协同、商品协同、热门商品及组合推荐接口。
- 订单明细快照:记录下单时的商品名称、图片、单价与数量,便于回看交易明细。
- 库存联动:创建订单时检查并扣减库存,取消待支付订单时恢复库存。
# 项目亮点
- 角色分工:提供管理员、商家、普通用户等业务入口。
- 业务数据组织:主初始化脚本包含 13 张表,围绕该系统的核心对象与业务记录建模。
- 前后端分离:前端负责页面交互,后端通过控制器、服务与数据映射层提供接口。
- 操作体验:提供列表查询、表单编辑、状态展示及个人资料维护入口。
# 管理员
# 账号管理
维护管理员、用户和商家账号及商家审核状态。
# 商品管理
维护分类、商品信息和商品审核状态。
# 交易管理
管理订单、购物车、收货地址、收藏及评价记录。
# 内容管理
维护轮播图与公告。
# 商家
# 商品经营
维护商品信息、价格、库存和状态。
# 订单处理
查看本商家订单并处理发货等操作,后端部分订单接口校验商家归属。
# 普通用户
# 商品选购
浏览分类、商品详情与推荐商品,收藏感兴趣的商品。
# 购物车结算
调整选购商品,选择收货地址并创建订单。
# 订单管理
查询订单、支付、取消待支付订单、确认收货及申请退货。
# 商品评价
通过订单相关入口发表评价。
# 个人中心
管理地址、收藏、个人资料以及余额页面。
# 功能权限对照表
下表说明当前菜单与业务入口分工。“—”表示未列为该角色的常规入口;不代表已对每个接口完成权限安全审计。
| 功能模块 | 管理员 | 商家 | 普通用户 |
|---|---|---|---|
| 账号、分类及公告 | 管理 | — | 浏览公开内容 |
| 商品 | 管理审核 | 经营维护 | 浏览收藏 |
| 订单 | 管理 | 本商家处理 | 购买及售后申请 |
| 购物车、地址 | 后台管理 | — | 个人维护 |
| 评价 | 后台管理 | — | 发表查看 |
# 业务状态说明
- 订单主业务:待支付 → 待发货 → 待收货 → 已完成。
- 订单分支:待支付可转为已取消;已完成可申请转为退货中。
# 默认账号
以下为主初始化 SQL 中能够核实的示例账号;需先导入对应脚本。这里不把脚本初始值视为当前运行数据库的实际账号或余额。
| 登录角色 | 角色标识 | 用户名 | 初始密码 |
|---|---|---|---|
| 管理员 | ADMIN | admin | 123456 |
| 商家 | MERCHANT | merchant1 | 123456 |
| 普通用户 | USER | user1 | 123456 |
# 核心业务流程
# 购物流程
- 浏览商品。
- 加入购物车。
- 选择地址。
- 创建待支付订单及明细。
- 确认支付。
- 商家发货。
- 用户确认收货。
# 取消订单
- 进入我的订单。
- 选择待支付订单。
- 取消。
- 系统恢复对应商品库存。
# 退货申请
- 选择已完成订单。
- 填写退货原因。
- 提交申请。
- 订单进入退货中。
# 技术说明
# 系统架构
| 项目 | 当前源码配置 |
|---|---|
| Vue | ^3.4.29 |
| Element Plus | ^2.8.4 |
| Pinia | ^2.2.2 |
| Axios | ^1.7.5 |
| Vite | ^5.3.1 |
| Spring Boot | 3.2.10 |
| Java | 17 |
| MyBatis 集成组件 | 3.0.4 |
| 数据库 | MySQL;具体运行版本以实际部署为准 |
| 身份认证 | JWT;通过登录接口生成令牌 |
前端版本按 package.json 中的声明范围记录,不将依赖范围等同于已安装的精确版本。
# 访问地址
- 后端接口:http://localhost:1000 (opens new window),对应服务端端口配置。
- 前端开发页面:http://localhost:5173 (opens new window),项目未显式覆盖 Vite 默认端口,实际以启动日志为准。
- 登录入口:前端
/login;管理端基础路由/admin。
# 数据库
- 配置数据库名:
a_2026_3_mall_system。 - 主初始化脚本:
sql/sql.sql。 - 主脚本建表数量:13 张,仅统计当前主脚本的 CREATE TABLE,不包含临时 SQL、迁移脚本或运行时改动。
- 字符集:主脚本采用 utf8mb4。
- 数据表清单:
address、admin、banner、cart、category、favorite、merchant、notice、order_item、orders、product、review、user。
# 文件上传
- 上传接口:
POST /file/upload。 - 文件访问:
GET /file/{fileName}。 - 配置限制:单文件 100MB,单次请求 1000MB。
- 使用范围:根据业务页面上传图片或附件;具体允许类型以对应上传组件配置为准。
# 系统特色
# 多种商品推荐
提供用户协同、商品协同、热门商品及组合推荐接口。
# 订单明细快照
记录下单时的商品名称、图片、单价与数量,便于回看交易明细。
# 库存联动
创建订单时检查并扣减库存,取消待支付订单时恢复库存。
# 当前实现说明
- payOrder 服务更新支付状态与时间,没有扣减用户余额;该流程属于支付状态演示,不能描述为已完成真实资金支付。
- 退货申请服务将订单置为“退货中”,未形成自动退款闭环。
- 后台订单表单及部分订单详情仍使用“待确认、已确认、已发货”等旧状态,与订单主服务不一致。
- 未发现优惠券和促销活动的独立业务实现,删除原文相关说明。
本次按本地源码进行静态核对,未启动前后端或连接数据库执行端到端验证;上述说明反映当前代码与页面定义。