boom/README.md

98 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 商城管理系统 (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、注册中心等外部基础设施即启即用