|
|
@@ -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() {
|