|
|
@@ -3504,6 +3504,10 @@ insertSysConfigSeed("gift_membership_pay_price", "198000", "送会员商品达
|
|
|
// 本列仅记录「某条服务角色申请挂在哪个邀请人名下」,与 users.referrerId(用户级推荐人)并存互不替代,
|
|
|
// 且服务端写入时不触发任何分销/佣金副作用(物化推荐树/directCount/F24 CF 等)。
|
|
|
addServiceRoleApplicationInviterColumn();
|
|
|
+
|
|
|
+ // 迁移468: 创建心理测评记录表 mind_psychological_assessments
|
|
|
+ //(S-cfc-237 teacher.mind.record · SC-T-25 舌诊/情绪测评录入(规划师)统一录入链路承载表)
|
|
|
+ createMindPsychologicalAssessmentTable();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -15740,6 +15744,38 @@ log.info("迁移298: 已为无 openid 的 child 账号补齐 family_members 记
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 迁移468: 创建心理测评记录表(S-cfc-237 teacher.mind.record · SC-T-25 舌诊/情绪测评录入(规划师))。
|
|
|
+ *
|
|
|
+ * <p>统一承载规划师代客户录入的舌诊(tongue)/情绪(emotion)测评记录:受评客户按 memberId 归属
|
|
|
+ * (用户模型统一口径)、录入规划师按 guideId 归属、status 默认 draft → confirmed 状态机(对齐舌诊链)、
|
|
|
+ * assessmentDate 为倒序查询排序键。幂等(CREATE TABLE IF NOT EXISTS)。</p>
|
|
|
+ */
|
|
|
+ private void createMindPsychologicalAssessmentTable() {
|
|
|
+ try {
|
|
|
+ jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS mind_psychological_assessments ("
|
|
|
+ + "id BIGINT AUTO_INCREMENT PRIMARY KEY, "
|
|
|
+ + "member_id BIGINT NULL COMMENT '受评客户家庭成员ID(memberId 归属,用户模型统一口径)', "
|
|
|
+ + "guide_id BIGINT NULL COMMENT '录入规划师ID(guideId 归属,代录链路审计)', "
|
|
|
+ + "assessment_type VARCHAR(32) NULL COMMENT '测评类型: tongue(舌诊)/emotion(情绪) 双类', "
|
|
|
+ + "status VARCHAR(16) NOT NULL DEFAULT 'draft' COMMENT '状态机: draft(新建未确认)->confirmed(确认入库)', "
|
|
|
+ + "assessment_date DATETIME NULL COMMENT '测评时间(倒序查询排序键)', "
|
|
|
+ + "total_score INT NULL COMMENT '测评总分(可空)', "
|
|
|
+ + "result_level VARCHAR(32) NULL COMMENT '结果等级(可空)', "
|
|
|
+ + "result_summary VARCHAR(500) NULL COMMENT '结果摘要(可空)', "
|
|
|
+ + "result_detail TEXT NULL COMMENT '结果明细(可空)', "
|
|
|
+ + "report_url VARCHAR(500) NULL COMMENT '报告URL(可空)', "
|
|
|
+ + "created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', "
|
|
|
+ + "updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', "
|
|
|
+ + "INDEX idx_member_date (member_id, assessment_date), "
|
|
|
+ + "INDEX idx_guide (guide_id) "
|
|
|
+ + ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='心理测评记录(舌诊/情绪统一录入,SC-T-25)'");
|
|
|
+ log.info("迁移468: 已创建 mind_psychological_assessments 表");
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("迁移468: 创建 mind_psychological_assessments 表失败(可能已存在): {}", e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/** 幂等 upsert 维度种子:按 dimension_code 存在则补 source_system/legacy_alias,不存在则插入。 */
|
|
|
private void upsertDimensionSeed(String code, String name, String dimensionType, Long parentId,
|
|
|
int sort, String sourceSystem, String nodeKind,
|