清除数据

This commit is contained in:
2026-05-06 23:30:54 +08:00
parent 17a5734d67
commit d16fc36264
149 changed files with 6691 additions and 5575 deletions

View File

@@ -1,14 +1,11 @@
# 社区生鲜团购系统 (FlashSaleSystem)
退货
评价
# 社区生鲜团购系统 (CommunityFreshGroupBuySystem)
基于 Spring Boot + Redis 构建的社区生鲜团购系统
## 📖 项目概述
本项目是一个完整的社区生鲜团购系统,采用分布式架构设计,通过 Redis
集群实现高并发处理能力。系统支持用户管理、商品管理、购物车功能和秒杀活动,具备防超卖、限流控制、分布式锁等核心技术特性。
集群实现高并发处理能力。系统支持用户管理、商品管理、购物车、拼团活动和订单管理,具备防超卖、限流控制、分布式锁等核心技术特性。
**项目完成度**: 90%
@@ -34,9 +31,9 @@
## 🏗️ 项目结构
```
FlashSaleSystem/
CommunityFreshGroupBuySystem/
├── src/main/java/com/org/flashsalesystem/
│ ├── FlashSaleSystemApplication.java # 启动类
│ ├── CommunityFreshGroupBuySystemApplication.java # 启动类
│ ├── config/ # 配置类
│ │ ├── RedissonConfig.java # Redis集群配置
│ │ ├── SwaggerConfig.java # API文档配置
@@ -44,7 +41,7 @@ FlashSaleSystem/
│ ├── controller/ # 控制器层
│ │ ├── AdminController.java # 管理员控制器
│ │ ├── CartController.java # 购物车控制器
│ │ ├── FlashSaleController.java # 秒杀控制器
│ │ ├── FlashSaleController.java # 限时活动控制器
│ │ ├── OrderController.java # 订单控制器
│ │ ├── PageController.java # 页面控制器
│ │ ├── ProductController.java # 商品控制器
@@ -52,17 +49,17 @@ FlashSaleSystem/
│ │ └── UserController.java # 用户控制器
│ ├── dto/ # 数据传输对象
│ │ ├── CartDTO.java # 购物车DTO
│ │ ├── FlashSaleDTO.java # 秒杀DTO
│ │ ├── FlashSaleDTO.java # 限时活动DTO
│ │ ├── OrderDTO.java # 订单DTO
│ │ ├── ProductDTO.java # 商品DTO
│ │ └── UserDTO.java # 用户DTO
│ ├── entity/ # 实体类
│ │ ├── FlashSale.java # 秒杀实体
│ │ ├── FlashSale.java # 限时活动实体
│ │ ├── Order.java # 订单实体
│ │ ├── Product.java # 商品实体
│ │ └── User.java # 用户实体
│ ├── repository/ # 数据访问层
│ │ ├── FlashSaleRepository.java # 秒杀数据访问
│ │ ├── FlashSaleRepository.java # 限时活动数据访问
│ │ ├── OrderRepository.java # 订单数据访问
│ │ ├── ProductRepository.java # 商品数据访问
│ │ └── UserRepository.java # 用户数据访问
@@ -70,7 +67,7 @@ FlashSaleSystem/
│ │ ├── AdminService.java # 管理员服务
│ │ ├── CartService.java # 购物车服务
│ │ ├── DistributedLockService.java # 分布式锁服务
│ │ ├── FlashSaleService.java # 秒杀服务
│ │ ├── FlashSaleService.java # 限时活动服务
│ │ ├── MessageListenerService.java # 消息监听服务
│ │ ├── OrderService.java # 订单服务
│ │ ├── ProductService.java # 商品服务
@@ -88,7 +85,7 @@ FlashSaleSystem/
│ ├── lua/ # Lua脚本
│ │ ├── cart_operation.lua # 购物车操作脚本
│ │ ├── distributed_lock.lua # 分布式锁脚本
│ │ ├── flashsale.lua # 秒杀脚本
│ │ ├── flashsale.lua # 活动脚本
│ │ ├── rate_limit.lua # 限流脚本
│ │ └── unlock.lua # 解锁脚本
│ ├── sql/ # SQL脚本
@@ -128,7 +125,7 @@ FlashSaleSystem/
- 批量操作支持
- 持久化策略
### 4. 秒杀核心模块
### 4. 限时活动核心模块
- 分布式锁防超卖
- Lua 脚本原子操作
@@ -154,7 +151,7 @@ FlashSaleSystem/
### Lua 脚本实现
- **秒杀脚本**: 原子性库存扣减,防止超卖
- **活动脚本**: 原子性库存扣减,防止超卖
- **分布式锁脚本**: 原子性设置锁和过期时间
- **限流脚本**: 滑动窗口精确限流
- **购物车脚本**: 原子性购物车操作
@@ -164,7 +161,7 @@ FlashSaleSystem/
- 订单状态变更通知
- 库存变化通知
- 秒杀结果通知
- 限时活动结果通知
- 用户行为监听
### 性能优化技术
@@ -174,19 +171,19 @@ FlashSaleSystem/
- 数据预热机制
- 连接池优化
## 🚀 秒杀流程
## 🚀 限时活动流程
1. **库存预热**: 将商品库存加载到 Redis
2. **用户请求**: 前端发起秒杀请求
2. **用户请求**: 前端发起限时活动请求
3. **限流检查**: 检查用户请求频率
4. **分布式锁**: 获取商品锁防止并发
5. **库存扣减**: Lua 脚本原子性扣减
6. **订单创建**: 创建秒杀订单
7. **消息通知**: 发布秒杀结果消息
6. **订单创建**: 创建限时订单
7. **消息通知**: 发布限时活动结果消息
## 🛡️ 防超卖机制
- **分布式锁**: 串行化处理秒杀请求
- **分布式锁**: 串行化处理限时活动请求
- **Lua 脚本**: 原子性检查和扣减库存
- **重复检查**: 防止用户重复参与
- **数据一致性**: Redis 和数据库双重保障
@@ -221,7 +218,7 @@ FlashSaleSystem/
```bash
git clone <repository-url>
cd FlashSaleSystem
cd CommunityFreshGroupBuySystem
```
2. **配置数据库**
@@ -275,7 +272,7 @@ mvn test -Dtest=RedisServiceTest
### 压力测试
- 使用 JMeter 或其他工具进行压力测试
- 测试并发秒杀场景
- 测试并发限时活动场景
- 验证系统性能指标
## 📈 项目亮点
@@ -329,4 +326,4 @@ mvn test -Dtest=RedisServiceTest
**项目完成时间**: 2025-06-28
**总体完成度**: 90%
**核心技术**: Redis集群 + Spring Boot + 分布式锁 + Lua脚本
**核心技术**: Redis集群 + Spring Boot + 分布式锁 + Lua脚本