Files
danyang-match/docs/Phase-14-V11-Completion-Report.md
T

3.2 KiB
Raw Blame History

Phase 14 完成报告:多类型公益活动

版本基线:v1.0.0-RC.2 → v1.1.0-dev | 日期:2026-09-08 对应 EPIC:EPIC-P14-V11


完成摘要

项目 内容
Phase 14
模块 多类型公益活动
状态 ✅ 核心链路已完成(V1.1 MVP)

完成的任务

数据模型(V023)

  • activities 表新增 5 个字段:activity_type、registration_policy、target_group、industry_scope、post_event_interest_enabled
  • 新建 activity_organizations 表:支持多组织联合举办活动
  • 新建 activity_capacity_groups 表:支持按性别/组别的容量配额

Java 新增/修改

  • Activity.java — 新增 5 个 V1.1 字段
  • ActivityOrganization.java — 新增实体 + Mapper
  • ActivityCapacityGroup.java — 新增实体 + Mapper
  • Constants.java — 新增 6 个 ACTIVITY_TYPE_* + 5 个 ORG_ROLE_* 常量
  • ActivityService.java — 新增 4 个方法(getActivitiesByType / getActivityOrganizations / getActivityCapacityGroups / createActivityFromAdmin / addActivityOrganization / addCapacityGroup)
  • ActivityController.java — 新增 6 个 API 端点

数据库变更(V023)

-- activities 扩展字段
ALTER TABLE activities ADD COLUMN activity_type VARCHAR(64) DEFAULT 'matchmaking';
ALTER TABLE activities ADD COLUMN registration_policy TEXT;
ALTER TABLE activities ADD COLUMN target_group VARCHAR(200);
ALTER TABLE activities ADD COLUMN industry_scope VARCHAR(200);
ALTER TABLE activities ADD COLUMN post_event_interest_enabled BOOLEAN DEFAULT FALSE;

-- 多组织关联表
CREATE TABLE activity_organizations (
    id UUID PRIMARY KEY, activity_id UUID, organization_id UUID,
    role VARCHAR(32), created_at TIMESTAMPTZ, updated_at TIMESTAMPTZ,
    UNIQUE(activity_id, organization_id)
);
CHECK role IN ('host', 'organizer', 'co_organizer', 'partner', 'venue_partner');

-- 容量分组表
CREATE TABLE activity_capacity_groups (
    id UUID PRIMARY KEY, activity_id UUID, group_code VARCHAR(32),
    rule_definition TEXT, capacity INT, approved_count INT,
    created_at TIMESTAMPTZ, updated_at TIMESTAMPTZ,
    UNIQUE(activity_id, group_code)
);

API 新增

方法 路径 说明
GET /activities/types/{activityType} 按活动类型过滤
GET /activities/{id}/organizations 获取活动组织列表
GET /activities/{id}/capacity-groups 获取容量分组
POST /operator/activities 后台创建活动(含多组织)
POST /operator/activities/{id}/organizations 添加组织关联
POST /operator/activities/{id}/capacity-groups 添加容量分组

Miniapp 前端(后续补充)

任务 状态
T07 活动分类Tabs ⏳ 待实现
T08 类型化ActivityCard ⏳ 待实现
T09 动态报名资格提示 ⏳ 待实现

下一步

下一阶段为 Phase 16(活动互选二阶段同意重构),需要对现有 activity mutual 流程进行架构重构,将直接创建 Match 改为两阶段同意流程。


Phase 14 核心链路完成。后端 API + 数据模型已就绪,Miniapp 前端页面待后续补充。