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

chore: auto bump version and changelog [skip ci]

iwt 1 месяц назад
Родитель
Сommit
f049160643

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

@@ -6071,6 +6071,51 @@ try {
     }
     ensureColumn("products", "recommendation_tags", "VARCHAR(500) DEFAULT NULL COMMENT '推荐标签'");
     ensureColumn("products", "repurchase_interval_days", "INT DEFAULT 30 COMMENT '复购间隔天数'");
+
+    // 迁移134: 创建 category_ppoint 表(品类P点比例配置)
+    try {
+        jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS category_ppoint (" +
+            "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+            "category_id BIGINT NOT NULL COMMENT '商品类目ID', " +
+            "ratio INT DEFAULT 0 COMMENT 'P点比例(千分比)', " +
+            "start_date DATETIME COMMENT '生效日期', " +
+            "end_date DATETIME COMMENT '失效日期(null=永不过期)', " +
+            "created_by BIGINT COMMENT '创建人', " +
+            "created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', " +
+            "INDEX idx_category_id (category_id)" +
+        ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='品类P点比例配置'");
+        log.info("已创建category_ppoint表");
+    } catch (Exception e) {
+        log.warn("创建category_ppoint表失败: {}", e.getMessage());
+    }
+
+    // 迁移135: 创建 commission_dist_log 表(P点分润记录)
+    try {
+        jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS commission_dist_log (" +
+            "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+            "buyer_id BIGINT NOT NULL COMMENT '买家用户ID', " +
+            "order_id BIGINT COMMENT '订单ID', " +
+            "product_id BIGINT COMMENT '商品ID', " +
+            "source_ppoint INT DEFAULT 0 COMMENT '本次产生的原始P点数量', " +
+            "level1_user_id BIGINT COMMENT '一级推荐人用户ID', " +
+            "level1_ppoint INT DEFAULT 0 COMMENT '一级推荐人获得P点', " +
+            "level1_wealth_percent INT DEFAULT 0 COMMENT '一级推荐人当时财富等级(profitSharePercent)', " +
+            "level2_user_id BIGINT COMMENT '二级推荐人用户ID', " +
+            "level2_ppoint INT DEFAULT 0 COMMENT '二级推荐人获得P点', " +
+            "level2_wealth_percent INT DEFAULT 0 COMMENT '二级推荐人当时财富等级(profitSharePercent)', " +
+            "status VARCHAR(20) DEFAULT 'pending' COMMENT '状态: pending/completed/failed', " +
+            "remark VARCHAR(500) COMMENT '备注', " +
+            "created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', " +
+            "updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', " +
+            "INDEX idx_buyer (buyer_id), " +
+            "INDEX idx_order (order_id), " +
+            "INDEX idx_level1 (level1_user_id), " +
+            "INDEX idx_level2 (level2_user_id)" +
+        ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='P点分润记录'");
+        log.info("已创建commission_dist_log表");
+    } catch (Exception e) {
+        log.warn("创建commission_dist_log表失败: {}", e.getMessage());
+    }
     }
 
     private void runMigration82() {

+ 3 - 0
cfc-backend/src/main/java/com/etotem/cfc/service/PpointConfigService.java

@@ -37,6 +37,9 @@ public class PpointConfigService {
     @Resource
     private ProductMapper productMapper;
 
+    @Resource
+    private ProductCategoryMapper productCategoryMapper;
+
     // ======================== 品类级P点比例 ========================
 
     /**

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

@@ -3512,3 +3512,38 @@ CREATE TABLE IF NOT EXISTS report_summary (
   UNIQUE KEY uk_source (source_table, source_id)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统一报告汇总表';
 -- report_summary 表已由 DatabaseInitializer 迁移创建
+
+-- category_ppoint: 品类P点比例配置(P点体系)
+CREATE TABLE IF NOT EXISTS category_ppoint (
+    id BIGINT AUTO_INCREMENT PRIMARY KEY,
+    category_id BIGINT NOT NULL COMMENT '商品类目ID',
+    ratio INT DEFAULT 0 COMMENT 'P点比例(千分比)',
+    start_date DATETIME COMMENT '生效日期',
+    end_date DATETIME COMMENT '失效日期(null=永不过期)',
+    created_by BIGINT COMMENT '创建人',
+    created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    INDEX idx_category_id (category_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='品类P点比例配置';
+
+-- commission_dist_log: P点分润记录(P点体系)
+CREATE TABLE IF NOT EXISTS commission_dist_log (
+    id BIGINT AUTO_INCREMENT PRIMARY KEY,
+    buyer_id BIGINT NOT NULL COMMENT '买家用户ID',
+    order_id BIGINT COMMENT '订单ID',
+    product_id BIGINT COMMENT '商品ID',
+    source_ppoint INT DEFAULT 0 COMMENT '本次产生的原始P点数量',
+    level1_user_id BIGINT COMMENT '一级推荐人用户ID',
+    level1_ppoint INT DEFAULT 0 COMMENT '一级推荐人获得P点',
+    level1_wealth_percent INT DEFAULT 0 COMMENT '一级推荐人当时财富等级(profitSharePercent)',
+    level2_user_id BIGINT COMMENT '二级推荐人用户ID',
+    level2_ppoint INT DEFAULT 0 COMMENT '二级推荐人获得P点',
+    level2_wealth_percent INT DEFAULT 0 COMMENT '二级推荐人当时财富等级(profitSharePercent)',
+    status VARCHAR(20) DEFAULT 'pending' COMMENT '状态: pending/completed/failed',
+    remark VARCHAR(500) COMMENT '备注',
+    created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+    INDEX idx_buyer (buyer_id),
+    INDEX idx_order (order_id),
+    INDEX idx_level1 (level1_user_id),
+    INDEX idx_level2 (level2_user_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='P点分润记录';

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-5b28e0ffb7e494f619d8f4d2fb6af5dd37f481e3
+f939e9db2fde88d7b952927e71f1338526e35cb9