Эх сурвалжийг харах

chore: add family_scope column to products and activities tables

Added family_scope column (migrations 139-140) and corresponding schema.sql sync.

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Xiaogang Liao 3 сар өмнө
parent
commit
7a007e5b23

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

@@ -6137,6 +6137,16 @@ try {
     } catch (Exception e) {
         log.warn("修改payment_orders.payment_type列长度失败: {}", e.getMessage());
     }
+
+    // 迁移138: tasks表添加dimension_code和dimension_weights列(原migration102内从未被调用)
+    ensureColumn("tasks", "dimension_code", "VARCHAR(20) COMMENT '五维维度: body/mind/wisdom/action/wealth'");
+    ensureColumn("tasks", "dimension_weights", "JSON COMMENT '五维权重: {\"body\":0,\"mind\":0,\"wisdom\":0,\"action\":0,\"wealth\":0}'");
+
+    // 迁移139: products表添加family_scope列(推荐系统-家庭消费去重,原migration102内从未被调用)
+    ensureColumn("products", "family_scope", "TINYINT DEFAULT 1 COMMENT '是否面向家庭: 1=家庭成员消费过即排除, 0=仅按个人消费排除'");
+
+    // 迁移140: activities表添加family_scope列(推荐系统-家庭参与去重,原migration102内从未被调用)
+    ensureColumn("activities", "family_scope", "TINYINT DEFAULT 1 COMMENT '是否面向家庭: 1=家庭成员参与过即排除, 0=仅按个人参与排除'");
     }
 
     private void runMigration82() {

+ 2 - 0
cfc-backend/src/main/resources/schema.sql

@@ -1095,6 +1095,7 @@ CREATE TABLE IF NOT EXISTS products (
     external_source VARCHAR(64) COMMENT '外部来源系统',
     external_id VARCHAR(128) COMMENT '外部来源ID',
     external_data TEXT COMMENT '外部来源数据JSON',
+    family_scope TINYINT DEFAULT 1 COMMENT '是否面向家庭: 1=家庭成员消费过即排除, 0=仅按个人消费排除',
     created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
     updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品表';
@@ -1741,6 +1742,7 @@ CREATE TABLE IF NOT EXISTS activities (
     vendor_id        BIGINT COMMENT '服务商ID',
     vendor_name      VARCHAR(100) COMMENT '服务商名称',
     feedback_dimensions TEXT COMMENT '评价维度列表JSON',
+    family_scope TINYINT DEFAULT 1 COMMENT '是否面向家庭: 1=家庭成员参与过即排除, 0=仅按个人参与排除',
     created_at       DATETIME DEFAULT CURRENT_TIMESTAMP,
     updated_at       DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
     INDEX idx_dimension (dimension_code),