Explorar el Código

db: 迁移305-307 关键人拓展 3 表(octopus_effect_record/octopus_key_person/octopus_effect_key_person)

Sisyphus Agent hace 1 semana
padre
commit
28133b2908

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

@@ -10638,5 +10638,62 @@ public class DatabaseInitializer implements CommandLineRunner {
         } catch (Exception e) {
             log.warn("迁移309: 创建 pearl_interaction_reminder 表失败: {}", e.getMessage());
         }
+
+
+        try {
+            jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS octopus_effect_record (" +
+                    "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+                    "user_id BIGINT NOT NULL COMMENT '当前用户(租户键)', " +
+                    "member_order_id BIGINT COMMENT '关联 MemberSubscriptionOrder.id(会员订单)', " +
+                    "effect_type TINYINT UNSIGNED NOT NULL COMMENT '成效类型 bitmask:1=金额大,2=频次高,4=新成交(支持多选)', " +
+                    "effect_amount DECIMAL(10,2) DEFAULT 0 COMMENT '成效金额(元)', " +
+                    "effect_desc VARCHAR(500) COMMENT '成效描述', " +
+                    "status TINYINT DEFAULT 1 COMMENT '1=有效,0=无效', " +
+                    "created_at DATETIME DEFAULT CURRENT_TIMESTAMP, " +
+                    "INDEX idx_oer_user (user_id), " +
+                    "INDEX idx_oer_order (member_order_id) " +
+                    ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='关键人拓展-成效记录'");
+            log.info("已创建octopus_effect_record表");
+        } catch (Exception e) {
+            log.warn("创建octopus_effect_record表失败: {}", e.getMessage());
+        }
+
+
+        try {
+            jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS octopus_key_person (" +
+                    "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+                    "user_id BIGINT NOT NULL COMMENT '当前用户(租户键)', " +
+                    "name VARCHAR(64) NOT NULL COMMENT '关键人姓名', " +
+                    "organization VARCHAR(128) COMMENT '单位/公司', " +
+                    "department VARCHAR(64) COMMENT '部门', " +
+                    "title VARCHAR(64) COMMENT '职务/职位', " +
+                    "first_meet_scene VARCHAR(128) COMMENT '初识场合', " +
+                    "know_way VARCHAR(255) COMMENT '如何认识(认识路径)', " +
+                    "contact_info VARCHAR(255) COMMENT '联系方式(可选)', " +
+                    "created_at DATETIME DEFAULT CURRENT_TIMESTAMP, " +
+                    "INDEX idx_okp_user (user_id), " +
+                    "INDEX idx_okp_org (organization) " +
+                    ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='关键人画像'");
+            log.info("已创建octopus_key_person表");
+        } catch (Exception e) {
+            log.warn("创建octopus_key_person表失败: {}", e.getMessage());
+        }
+
+
+        try {
+            jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS octopus_effect_key_person (" +
+                    "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+                    "effect_id BIGINT NOT NULL COMMENT '关联 octopus_effect_record.id', " +
+                    "key_person_id BIGINT NOT NULL COMMENT '关联 octopus_key_person.id', " +
+                    "role TINYINT NOT NULL COMMENT '1=引荐,2=决策,3=其他', " +
+                    "created_at DATETIME DEFAULT CURRENT_TIMESTAMP, " +
+                    "INDEX idx_oekp_effect (effect_id), " +
+                    "INDEX idx_oekp_person (key_person_id), " +
+                    "UNIQUE KEY uk_oekp (effect_id,key_person_id) " +
+                    ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成效-关键人关联'");
+            log.info("已创建octopus_effect_key_person表");
+        } catch (Exception e) {
+            log.warn("创建octopus_effect_key_person表失败: {}", e.getMessage());
+        }
     }
 }

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

@@ -5267,6 +5267,48 @@ CREATE TABLE IF NOT EXISTS resource_items (
     INDEX idx_ri_connection_type (connection_type)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='珍珠图资源登记表(社会连接资源)';
 
+-- 关键人拓展-成效记录
+CREATE TABLE IF NOT EXISTS octopus_effect_record (
+    id BIGINT AUTO_INCREMENT PRIMARY KEY,
+    user_id BIGINT NOT NULL COMMENT '当前用户(租户键)',
+    member_order_id BIGINT COMMENT '关联 MemberSubscriptionOrder.id(会员订单)',
+    effect_type TINYINT UNSIGNED NOT NULL COMMENT '成效类型 bitmask:1=金额大,2=频次高,4=新成交(支持多选)',
+    effect_amount DECIMAL(10,2) DEFAULT 0 COMMENT '成效金额(元)',
+    effect_desc VARCHAR(500) COMMENT '成效描述',
+    status TINYINT DEFAULT 1 COMMENT '1=有效,0=无效',
+    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+    INDEX idx_oer_user (user_id),
+    INDEX idx_oer_order (member_order_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='关键人拓展-成效记录';
+
+-- 关键人画像
+CREATE TABLE IF NOT EXISTS octopus_key_person (
+    id BIGINT AUTO_INCREMENT PRIMARY KEY,
+    user_id BIGINT NOT NULL COMMENT '当前用户(租户键)',
+    name VARCHAR(64) NOT NULL COMMENT '关键人姓名',
+    organization VARCHAR(128) COMMENT '单位/公司',
+    department VARCHAR(64) COMMENT '部门',
+    title VARCHAR(64) COMMENT '职务/职位',
+    first_meet_scene VARCHAR(128) COMMENT '初识场合',
+    know_way VARCHAR(255) COMMENT '如何认识(认识路径)',
+    contact_info VARCHAR(255) COMMENT '联系方式(可选)',
+    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+    INDEX idx_okp_user (user_id),
+    INDEX idx_okp_org (organization)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='关键人画像';
+
+-- 成效-关键人关联
+CREATE TABLE IF NOT EXISTS octopus_effect_key_person (
+    id BIGINT AUTO_INCREMENT PRIMARY KEY,
+    effect_id BIGINT NOT NULL COMMENT '关联 octopus_effect_record.id',
+    key_person_id BIGINT NOT NULL COMMENT '关联 octopus_key_person.id',
+    role TINYINT NOT NULL COMMENT '1=引荐,2=决策,3=其他',
+    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+    INDEX idx_oekp_effect (effect_id),
+    INDEX idx_oekp_person (key_person_id),
+    UNIQUE KEY uk_oekp (effect_id,key_person_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成效-关键人关联';
+
 -- 维度配置表(cfclub 五维能量体系)
 CREATE TABLE IF NOT EXISTS product_dimension_config (
     id BIGINT PRIMARY KEY AUTO_INCREMENT,