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

feat: 迁移143 创建virtual_goods_config道具映射表
测评/会员/订阅虚拟支付道具映射,UNIQUE(goods_type,biz_key),幂等

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

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

@@ -7281,5 +7281,23 @@ private void runMigration100() {
 		} catch (Exception e) {
 			log.warn("添加activities.registration_deadline字段失败: {}", e.getMessage());
 		}
+
+		// 迁移143: 创建小程序虚拟支付道具映射表
+		try {
+			jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS virtual_goods_config (" +
+					"id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+					"goods_type VARCHAR(32) NOT NULL COMMENT 'ASSESSMENT_PACKAGE / MEMBERSHIP / SUBSCRIPTION', " +
+					"biz_key VARCHAR(64) NOT NULL COMMENT '业务SKU标识: 测评套餐ID / 会员等级code / 订阅档位code', " +
+					"product_id VARCHAR(64) NOT NULL COMMENT '微信商户后台道具ID', " +
+					"goods_name VARCHAR(128) NOT NULL COMMENT '道具名称', " +
+					"status TINYINT NOT NULL DEFAULT 1 COMMENT '1=启用 0=停用', " +
+					"create_time DATETIME DEFAULT CURRENT_TIMESTAMP, " +
+					"update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, " +
+					"UNIQUE KEY uk_goods_type_biz (goods_type, biz_key)" +
+					") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='小程序虚拟支付道具映射'");
+			log.info("已创建virtual_goods_config表");
+		} catch (Exception e) {
+			log.warn("创建virtual_goods_config表失败: {}", e.getMessage());
+		}
 	}
 }

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

@@ -3684,3 +3684,18 @@ CREATE TABLE IF NOT EXISTS recommendation_logs (
 
 -- activities表添加family_scope列(推荐系统-家庭参与去重)
 -- ALTER TABLE activities ADD COLUMN family_scope TINYINT DEFAULT 1 COMMENT '是否面向家庭: 1=家庭成员参与过即排除, 0=仅按个人参与排除';
+
+-- ============================================================
+-- 小程序虚拟支付道具映射
+-- ============================================================
+CREATE TABLE IF NOT EXISTS virtual_goods_config (
+    id BIGINT AUTO_INCREMENT PRIMARY KEY,
+    goods_type VARCHAR(32) NOT NULL COMMENT 'ASSESSMENT_PACKAGE / MEMBERSHIP / SUBSCRIPTION',
+    biz_key VARCHAR(64) NOT NULL COMMENT '业务SKU标识: 测评套餐ID / 会员等级code / 订阅档位code',
+    product_id VARCHAR(64) NOT NULL COMMENT '微信商户后台道具ID',
+    goods_name VARCHAR(128) NOT NULL COMMENT '道具名称',
+    status TINYINT NOT NULL DEFAULT 1 COMMENT '1=启用 0=停用',
+    create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
+    update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    UNIQUE KEY uk_goods_type_biz (goods_type, biz_key)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='小程序虚拟支付道具映射';