|
|
@@ -3387,6 +3387,8 @@ insertSysConfigSeed("gift_membership_pay_price", "198000", "送会员商品达
|
|
|
migrateProductsPurchasePriceToCents();
|
|
|
// 迁移431: 销售奖档位门槛 ×100(元→分)+ 档位名改为 新秀/小成/中富/大成/至富
|
|
|
migrateSalesAwardTierThresholds();
|
|
|
+ // 迁移429(家庭): 存量家庭名回填(家庭主账号已填真实姓名但家庭名仍为旧规则 → 按新规则回填「XX家庭」;DML,无 schema 变更,幂等)
|
|
|
+ migrateFamilyNameBackfill();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -3437,6 +3439,20 @@ insertSysConfigSeed("gift_membership_pay_price", "198000", "送会员商品达
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /** 迁移:家庭主账号已填真实姓名但家庭名仍为旧规则 → 回填为「XX家庭」(幂等,重复执行无副作用) */
|
|
|
+ private void migrateFamilyNameBackfill() {
|
|
|
+ String sql = "UPDATE families f JOIN users u ON u.id = f.creator_id " +
|
|
|
+ "SET f.name = CONCAT(TRIM(u.real_name), '家庭'), f.updated_at = NOW() " +
|
|
|
+ "WHERE u.real_name IS NOT NULL AND TRIM(u.real_name) <> '' " +
|
|
|
+ "AND f.name <> CONCAT(TRIM(u.real_name), '家庭')";
|
|
|
+ try {
|
|
|
+ int n = jdbcTemplate.update(sql);
|
|
|
+ log.info("迁移[家庭名回填XX家庭] 影响行数={}", n);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("迁移[家庭名回填XX家庭] 执行异常: {}", e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 迁移421: activities 表新增 audience_scope / audience_type 两列(A2)
|
|
|
* - audience_scope: all(默认,全部用户可参加) / member_only(仅会员可参加,后端硬门禁)
|