DEV.md 4.5 KB

活动模块开发计划

1. 创建基本目录结构 ✅

  • 创建 AdminControllers 目录
  • 创建 Commands 目录
  • 创建 Enums 目录
  • 创建 Events 目录
  • 创建 Logics 目录
  • 创建 Models 目录
  • 创建 Providers 目录
  • 创建 Repositorys 目录
  • 创建 Services 目录
  • 创建 Dtos 目录

2. 实现枚举类 ✅

  • ACTIVITY_TYPE - 活动类型枚举(礼包活动、限时活动、任务活动等)
  • ACTIVITY_STATUS - 活动状态枚举(未开始、进行中、已结束、已关闭)
  • PARTICIPATION_STATUS - 参与状态枚举(进行中、已完成、已失败)
  • REWARD_STATUS - 奖励状态枚举(未领取、已领取、已过期)
  • CONDITION_TYPE - 条件类型枚举(等级要求、道具要求、时间要求等)

3. 实现模型类 ✅

  • ActivityConfig - 活动基础配置
  • ActivityParticipation - 活动参与记录
  • UserActivityData - 用户活动数据
  • ActivityCondition - 活动条件

4. 实现DTO类 ✅

  • ActivityConfigDto - 活动配置DTO
  • ActivityParticipationDto - 活动参与记录DTO
  • UserActivityDataDto - 用户活动数据DTO
  • ActivityConditionDto - 活动条件DTO
  • ActivityRewardDto - 活动奖励DTO

5. 实现数据仓库 ✅

  • ActivityConfigRepository - 活动配置仓库
  • ActivityParticipationRepository - 活动参与记录仓库
  • UserActivityDataRepository - 用户活动数据仓库
  • ActivityConditionRepository - 活动条件仓库

6. 实现逻辑层和服务层 ✅

6.1 逻辑层(内部)

  • ActivityLogic - 活动核心逻辑
  • ParticipationLogic - 参与逻辑
  • ProgressLogic - 进度逻辑
  • ConditionLogic - 条件逻辑

6.2 服务层(对外,静态方法)

  • ActivityService - 活动服务
  • ActivityManagementService - 活动管理服务

7. 实现事件和监听器 ✅

7.1 事件

  • ActivityCreatedEvent - 活动创建事件
  • ActivityStatusChangedEvent - 活动状态变更事件
  • UserParticipatedEvent - 用户参与活动事件
  • ActivityProgressUpdatedEvent - 活动进度更新事件
  • ActivityCompletedEvent - 活动完成事件
  • ActivityRewardClaimedEvent - 活动奖励领取事件

7.2 监听器

  • ActivityStatusChangeListener - 活动状态变更监听器
  • UserParticipationListener - 用户参与监听器
  • ActivityProgressListener - 活动进度监听器
  • ActivityCompletedListener - 活动完成监听器
  • RewardDistributionListener - 奖励发放监听器

8. 实现后台控制器 ✅

  • ActivityController - 活动管理控制器
  • ActivityParticipationController - 活动参与记录控制器
  • UserActivityDataController - 用户活动数据控制器
  • ActivityConditionController - 活动条件控制器

9. 实现服务提供者 ✅

  • ActivityServiceProvider - 注册服务、事件、命令等

10. 实现命令行工具 ✅

  • UpdateActivityStatusCommand - 更新活动状态命令
  • CleanExpiredActivitiesCommand - 清理过期活动命令
  • GenerateActivityReportCommand - 生成活动报告命令

11. 与奖励组系统集成 ⏳

  • 修改活动配置表结构,添加奖励组ID和奖励组编码字段
  • 更新ActivityConfigDto,添加奖励组相关字段
  • 更新ActivityLogic,支持通过奖励组发放奖励
  • 更新ActivityController,支持选择奖励组
  • 更新RewardDistributionListener,使用奖励组系统发放奖励

12. 单元测试 ⏳

  • 编写ActivityService测试
  • 编写ActivityLogic测试
  • 编写ParticipationLogic测试
  • 编写ConditionLogic测试
  • 编写命令行工具测试

开发进度

  • ✅ 已完成
  • 🔄 进行中
  • ⏳ 待开始

当前进度

  • 已完成活动模块文档设计
  • 已完成基本目录结构
  • 已完成枚举类实现
  • 已完成模型类实现
  • 已完成DTO类实现
  • 已完成数据仓库实现
  • 已完成逻辑层和服务层实现
  • 已完成事件和监听器实现
  • 已完成后台控制器实现
  • 已完成服务提供者实现
  • 已完成命令行工具实现
  • 正在进行与奖励组系统的集成

下一步计划

  1. 完成与奖励组系统的集成

    • 修改数据库结构
    • 更新相关DTO和逻辑
    • 更新控制器和视图
  2. 编写单元测试

    • 测试活动创建和管理功能
    • 测试活动参与和进度更新功能
    • 测试奖励发放功能
  3. 编写使用文档

    • 更新API文档
    • 编写集成指南