Просмотр исходного кода

feat: add EMI and Big Five personality fields to dan_assessment_results

Add 10 new assessment score columns to dan_assessment_results:
- EMI: emotion_score, resilience_score, stress_coping_score, self_awareness_score
- Big Five: openness, conscientiousness, extraversion, agreeableness, neuroticism, big_five_overall_score

Also cleanup: remove leftover merge conflict markers from DatabaseInitializer and delete legacy UserAddressController (superseded by new module).

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Xiaogang Liao 4 месяцев назад
Родитель
Сommit
0dce5cf1d3

+ 44 - 3
cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java

@@ -2547,10 +2547,7 @@ log.info("已添加template_id列到tasks表");
             log.warn("numsoul_config 种子数据初始化失败: {}", e.getMessage());
             log.warn("numsoul_config 种子数据初始化失败: {}", e.getMessage());
         }
         }
 
 
-<<<<<<< Updated upstream
-=======
         // Migration: user_address table (收货地址)
         // Migration: user_address table (收货地址)
->>>>>>> Stashed changes
         try {
         try {
             jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS user_address (" +
             jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS user_address (" +
                     "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
                     "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
@@ -2571,6 +2568,50 @@ log.info("已添加template_id列到tasks表");
             log.warn("创建 user_address 表失败: {}", e.getMessage());
             log.warn("创建 user_address 表失败: {}", e.getMessage());
         }
         }
 
 
+        // Migration: dan_assessment_results 表添加 v1.2 EMI 字段
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN emotion_score INT DEFAULT NULL COMMENT '情绪商数 0-100'");
+            log.info("已添加 emotion_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN resilience_score INT DEFAULT NULL COMMENT '心理韧性 0-100'");
+            log.info("已添加 resilience_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN stress_coping_score INT DEFAULT NULL COMMENT '压力应对 0-100'");
+            log.info("已添加 stress_coping_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN self_awareness_score INT DEFAULT NULL COMMENT '自我认知 0-100'");
+            log.info("已添加 self_awareness_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+
+        // Migration: dan_assessment_results 表添加 Big Five 人格字段
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN openness_score INT DEFAULT NULL COMMENT '开放性 0-100'");
+            log.info("已添加 openness_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN conscientiousness_score INT DEFAULT NULL COMMENT '尽责性 0-100'");
+            log.info("已添加 conscientiousness_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN extraversion_score INT DEFAULT NULL COMMENT '外向性 0-100'");
+            log.info("已添加 extraversion_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN agreeableness_score INT DEFAULT NULL COMMENT '宜人性 0-100'");
+            log.info("已添加 agreeableness_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN neuroticism_score INT DEFAULT NULL COMMENT '神经质性 0-100'");
+            log.info("已添加 neuroticism_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+        try {
+            jdbcTemplate.execute("ALTER TABLE dan_assessment_results ADD COLUMN big_five_overall_score INT DEFAULT NULL COMMENT '大五人格综合分 0-100'");
+            log.info("已添加 big_five_overall_score 列到 dan_assessment_results 表");
+        } catch (Exception e) { /* 列已存在,忽略 */ }
+
         log.info("数据库迁移完成");
         log.info("数据库迁移完成");
 
 
         // ==================== 健康维度 Phase 1: health_dimension_score / health_data_source_record / health_norm_reference ====================
         // ==================== 健康维度 Phase 1: health_dimension_score / health_data_source_record / health_norm_reference ====================

+ 0 - 61
cfc-backend/src/main/java/com/etotem/cfc/controller/UserAddressController.java

@@ -1,61 +0,0 @@
-package com.etotem.cfc.controller;
-
-import com.etotem.cfc.common.Result;
-import com.etotem.cfc.entity.UserAddress;
-import com.etotem.cfc.service.UserAddressService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-import java.util.Map;
-
-@Tag(name = "用户地址接口")
-@RestController("legacyUserAddressController")
-@RequestMapping("/api/user/address")
-public class UserAddressController {
-
-    @Resource
-    private UserAddressService userAddressService;
-
-    @PostMapping("/list")
-    @Operation(summary = "获取用户地址列表")
-    public Result<List<UserAddress>> list(HttpServletRequest request) {
-        Long userId = (Long) request.getAttribute("userId");
-        return Result.success(userAddressService.list(userId));
-    }
-
-    @PostMapping("/delete")
-    @Operation(summary = "删除地址")
-    public Result<String> delete(HttpServletRequest request, @RequestBody Map<String, Long> params) {
-        Long userId = (Long) request.getAttribute("userId");
-        Long id = params.get("id");
-        if (id == null) {
-            return Result.error("地址ID不能为空");
-        }
-        try {
-            userAddressService.delete(id, userId);
-            return Result.success("已删除");
-        } catch (RuntimeException e) {
-            return Result.error(e.getMessage());
-        }
-    }
-
-    @PostMapping("/setDefault")
-    @Operation(summary = "设置默认地址")
-    public Result<String> setDefault(HttpServletRequest request, @RequestBody Map<String, Long> params) {
-        Long userId = (Long) request.getAttribute("userId");
-        Long id = params.get("id");
-        if (id == null) {
-            return Result.error("地址ID不能为空");
-        }
-        try {
-            userAddressService.setDefault(id, userId);
-            return Result.success("已设为默认");
-        } catch (RuntimeException e) {
-            return Result.error(e.getMessage());
-        }
-    }
-}