boom/README.md

98 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

2026-05-27 07:02:27 +00:00
# 商城管理系统 (Mall System)
2026-05-27 06:55:02 +00:00
2026-05-27 07:02:27 +00:00
基于 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、注册中心等外部基础设施即启即用