98 lines
3.3 KiB
Markdown
98 lines
3.3 KiB
Markdown
# 商城管理系统 (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+
|
||
|
||
### 启动方式
|
||
|
||
```bash
|
||
# 克隆项目后,进入项目根目录
|
||
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、注册中心等外部基础设施,即启即用
|