3.2 KiB
3.2 KiB
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— 新增实体 + MapperActivityCapacityGroup.java— 新增实体 + MapperConstants.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 前端页面待后续补充。