# 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) ```sql -- 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 前端页面待后续补充。*