|
|
||
|---|---|---|
| src | ||
| .gitignore | ||
| README.md | ||
| events.ndjson | ||
| generation.json | ||
| pom.xml | ||
README.md
商城管理系统 (Mall System)
基于 Spring Boot 3.x + Java 17 构建的单体商城管理系统,提供完整的电商核心功能。
功能模块
用户端
- 商品浏览:查看商品列表、商品详情,支持按分类筛选
- 购物车管理:添加/删除/修改购物车商品数量
- 订单管理:创建订单、查看订单列表和详情、取消订单
- 退款管理:提交退款申请、查看退款进度
管理端
- 商品管理:新增、编辑、删除、上下架商品
- 订单管理:查看全部订单、更新订单状态(发货/完成/取消)
- 退款审核:查看退款申请列表、批准/拒绝退款
技术栈
- 语言:Java 17
- 框架:Spring Boot 3.2.0
- 接口文档:Knife4j + OpenAPI 3 (Swagger)
- 构建工具:Maven
- 数据存储:内存假数据(便于快速启动和演示)
快速启动
前提条件
- JDK 17+
- Maven 3.8+
启动方式
# 克隆项目后,进入项目根目录
cd mall-system
# 编译并运行
mvn spring-boot:run
# 或打包后运行
mvn clean package -DskipTests
java -jar target/mall-system-1.0.0.jar
访问地址
| 服务 | 地址 |
|---|---|
| 应用首页 | http://localhost:8080 |
| Swagger 文档 | http://localhost:8080/doc.html |
| OpenAPI JSON | http://localhost:8080/v3/api-docs |
| 健康检查 | http://localhost:8080/health |
接口概览
健康检查
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /health |
服务健康检查 |
用户端接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/products |
获取商品列表 |
| GET | /api/products/{id} |
获取商品详情 |
| POST | /api/cart/add |
添加商品到购物车 |
| GET | /api/cart |
查询当前用户购物车 |
| DELETE | /api/cart/{itemId} |
删除购物车条目 |
| POST | /api/orders/create |
创建订单 |
| GET | /api/orders |
查询用户订单列表 |
| GET | /api/orders/{id} |
查询订单详情 |
| PUT | /api/orders/{id}/cancel |
取消订单 |
| POST | /api/refunds/apply |
提交退款申请 |
| GET | /api/refunds |
查询退款记录 |
管理端接口
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/admin/products |
新增商品 |
| PUT | /api/admin/products/{id} |
编辑商品 |
| DELETE | /api/admin/products/{id} |
删除商品 |
| PUT | /api/admin/products/{id}/status |
上下架商品 |
| GET | /api/admin/orders |
查询全部订单 |
| PUT | /api/admin/orders/{id}/status |
更新订单状态 |
| GET | /api/admin/refunds |
查询退款申请列表 |
| PUT | /api/admin/refunds/{id}/approve |
批准退款 |
| PUT | /api/admin/refunds/{id}/reject |
拒绝退款 |
扩展预留
本工程采用"内存假数据 + 预留接口"的策略,便于后续接入真实基础设施:
- repository 接口:已预留
ProductRepository、OrderRepository、CartRepository、RefundRepository、UserRepository接口,后续可对接 JPA/MyBatis - 配置类:预留了
OpenApiConfig配置,可扩展安全认证等 - 数据模型:完整的数据结构设计,直接对应数据库表
- 无外部依赖:当前不依赖数据库、Redis、MQ、注册中心等外部基础设施,即启即用