# 活动模块开发计划 ## 1. 创建基本目录结构 ✅ - [x] 创建 AdminControllers 目录 - [x] 创建 Commands 目录 - [x] 创建 Enums 目录 - [x] 创建 Events 目录 - [x] 创建 Logics 目录 - [x] 创建 Models 目录 - [x] 创建 Providers 目录 - [x] 创建 Repositorys 目录 - [x] 创建 Services 目录 - [x] 创建 Dtos 目录 ## 2. 实现枚举类 ✅ - [x] ACTIVITY_TYPE - 活动类型枚举(礼包活动、限时活动、任务活动等) - [x] ACTIVITY_STATUS - 活动状态枚举(未开始、进行中、已结束、已关闭) - [x] PARTICIPATION_STATUS - 参与状态枚举(进行中、已完成、已失败) - [x] REWARD_STATUS - 奖励状态枚举(未领取、已领取、已过期) - [x] CONDITION_TYPE - 条件类型枚举(等级要求、道具要求、时间要求等) ## 3. 实现模型类 ✅ - [x] ActivityConfig - 活动基础配置 - [x] ActivityParticipation - 活动参与记录 - [x] UserActivityData - 用户活动数据 - [x] ActivityCondition - 活动条件 ## 4. 实现DTO类 ✅ - [x] ActivityConfigDto - 活动配置DTO - [x] ActivityParticipationDto - 活动参与记录DTO - [x] UserActivityDataDto - 用户活动数据DTO - [x] ActivityConditionDto - 活动条件DTO - [x] ActivityRewardDto - 活动奖励DTO ## 5. 实现数据仓库 ✅ - [x] ActivityConfigRepository - 活动配置仓库 - [x] ActivityParticipationRepository - 活动参与记录仓库 - [x] UserActivityDataRepository - 用户活动数据仓库 - [x] ActivityConditionRepository - 活动条件仓库 ## 6. 实现逻辑层和服务层 ✅ ### 6.1 逻辑层(内部) - [x] ActivityLogic - 活动核心逻辑 - [x] ParticipationLogic - 参与逻辑 - [x] ProgressLogic - 进度逻辑 - [x] ConditionLogic - 条件逻辑 ### 6.2 服务层(对外,静态方法) - [x] ActivityService - 活动服务 - [x] ActivityManagementService - 活动管理服务 ## 7. 实现事件和监听器 ✅ ### 7.1 事件 - [x] ActivityCreatedEvent - 活动创建事件 - [x] ActivityStatusChangedEvent - 活动状态变更事件 - [x] UserParticipatedEvent - 用户参与活动事件 - [x] ActivityProgressUpdatedEvent - 活动进度更新事件 - [x] ActivityCompletedEvent - 活动完成事件 - [x] ActivityRewardClaimedEvent - 活动奖励领取事件 ### 7.2 监听器 - [x] ActivityStatusChangeListener - 活动状态变更监听器 - [x] UserParticipationListener - 用户参与监听器 - [x] ActivityProgressListener - 活动进度监听器 - [x] ActivityCompletedListener - 活动完成监听器 - [x] RewardDistributionListener - 奖励发放监听器 ## 8. 实现后台控制器 ✅ - [x] ActivityController - 活动管理控制器 - [x] ActivityParticipationController - 活动参与记录控制器 - [x] UserActivityDataController - 用户活动数据控制器 - [x] ActivityConditionController - 活动条件控制器 ## 9. 实现服务提供者 ✅ - [x] ActivityServiceProvider - 注册服务、事件、命令等 ## 10. 实现命令行工具 ✅ - [x] UpdateActivityStatusCommand - 更新活动状态命令 - [x] CleanExpiredActivitiesCommand - 清理过期活动命令 - [x] GenerateActivityReportCommand - 生成活动报告命令 ## 11. 与奖励组系统集成 ⏳ - [ ] 修改活动配置表结构,添加奖励组ID和奖励组编码字段 - [ ] 更新ActivityConfigDto,添加奖励组相关字段 - [ ] 更新ActivityLogic,支持通过奖励组发放奖励 - [ ] 更新ActivityController,支持选择奖励组 - [ ] 更新RewardDistributionListener,使用奖励组系统发放奖励 ## 12. 单元测试 ⏳ - [ ] 编写ActivityService测试 - [ ] 编写ActivityLogic测试 - [ ] 编写ParticipationLogic测试 - [ ] 编写ConditionLogic测试 - [ ] 编写命令行工具测试 ## 开发进度 - ✅ 已完成 - 🔄 进行中 - ⏳ 待开始 ### 当前进度 - 已完成活动模块文档设计 - 已完成基本目录结构 - 已完成枚举类实现 - 已完成模型类实现 - 已完成DTO类实现 - 已完成数据仓库实现 - 已完成逻辑层和服务层实现 - 已完成事件和监听器实现 - 已完成后台控制器实现 - 已完成服务提供者实现 - 已完成命令行工具实现 - 正在进行与奖励组系统的集成 ### 下一步计划 1. 完成与奖励组系统的集成 - 修改数据库结构 - 更新相关DTO和逻辑 - 更新控制器和视图 2. 编写单元测试 - 测试活动创建和管理功能 - 测试活动参与和进度更新功能 - 测试奖励发放功能 3. 编写使用文档 - 更新API文档 - 编写集成指南