Explorar el Código

feat: activity_registrations 表添加 registrant_name/registrant_phone 列, child_id 改为可空

迁移118: 新增字段支持报名表单存储报名人信息; schema.sql 同步更新。

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
iwt hace 3 meses
padre
commit
e03ad03f85

+ 20 - 0
cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java

@@ -7235,5 +7235,25 @@ private void runMigration100() {
 		} catch (Exception e) {
 		} catch (Exception e) {
 			log.warn("添加activities.family_scope字段失败: {}", e.getMessage());
 			log.warn("添加activities.family_scope字段失败: {}", e.getMessage());
 		}
 		}
+
+		// 迁移118: activity_registrations表child_id改为可空 + 添加registrant_name/phone(报名表单-多人报名)
+		try {
+			ensureColumn("activity_registrations", "registrant_name", "VARCHAR(100) COMMENT '报名人姓名'");
+			log.info("已完成activity_registrations.registrant_name字段添加");
+		} catch (Exception e) {
+			log.warn("添加activity_registrations.registrant_name字段失败: {}", e.getMessage());
+		}
+		try {
+			ensureColumn("activity_registrations", "registrant_phone", "VARCHAR(20) COMMENT '报名人联系方式'");
+			log.info("已完成activity_registrations.registrant_phone字段添加");
+		} catch (Exception e) {
+			log.warn("添加activity_registrations.registrant_phone字段失败: {}", e.getMessage());
+		}
+		try {
+			jdbcTemplate.execute("ALTER TABLE activity_registrations MODIFY COLUMN child_id BIGINT COMMENT '孩子ID(手动输入报名人为空)'");
+			log.info("已完成activity_registrations.child_id改为可空");
+		} catch (Exception e) {
+			log.warn("修改activity_registrations.child_id失败: {}", e.getMessage());
+		}
 	}
 	}
 }
 }

+ 3 - 1
cfc-backend/src/main/resources/schema.sql

@@ -1688,8 +1688,10 @@ CREATE TABLE IF NOT EXISTS blood_type_config (
 CREATE TABLE IF NOT EXISTS activity_registrations (
 CREATE TABLE IF NOT EXISTS activity_registrations (
     id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
     id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
     activity_id BIGINT NOT NULL COMMENT '活动ID',
     activity_id BIGINT NOT NULL COMMENT '活动ID',
-    child_id BIGINT NOT NULL COMMENT '孩子ID',
+    child_id BIGINT COMMENT '孩子ID(手动输入报名人为空)',
     user_id BIGINT NOT NULL COMMENT '报名人用户ID(家长)',
     user_id BIGINT NOT NULL COMMENT '报名人用户ID(家长)',
+    registrant_name VARCHAR(100) COMMENT '报名人姓名',
+    registrant_phone VARCHAR(20) COMMENT '报名人联系方式',
     status VARCHAR(20) DEFAULT 'pending' COMMENT '状态: pending/approved/rejected/cancelled',
     status VARCHAR(20) DEFAULT 'pending' COMMENT '状态: pending/approved/rejected/cancelled',
     registered_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '报名时间',
     registered_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '报名时间',
     approved_at DATETIME COMMENT '审核通过时间',
     approved_at DATETIME COMMENT '审核通过时间',