|
|
@@ -3421,18 +3421,26 @@ insertSysConfigSeed("gift_membership_pay_price", "198000", "送会员商品达
|
|
|
*/
|
|
|
private void migrateSalesAwardTierThresholds() {
|
|
|
try {
|
|
|
+ // 唯一键 uk_min 冲突规避:先设临时值(唯一且不撞最终值),再设最终值。
|
|
|
+ // 单条 CASE UPDATE 逐行执行时,若直接改 100→10000 会与尚未更新的 10000(原钻石)撞 uk_min。
|
|
|
+ jdbcTemplate.execute(
|
|
|
+ "UPDATE cf_direct_sales_tier SET min_annual_ppoints = 9000000 + id, tier_name = CONCAT('TMP', id) "
|
|
|
+ + "WHERE id BETWEEN 1 AND 5 AND tier_name IN ('青铜','白银','黄金','铂金','钻石')");
|
|
|
jdbcTemplate.execute(
|
|
|
"UPDATE cf_direct_sales_tier SET min_annual_ppoints = CASE id "
|
|
|
+ "WHEN 1 THEN 10000 WHEN 2 THEN 50000 WHEN 3 THEN 200000 WHEN 4 THEN 500000 WHEN 5 THEN 1000000 END, "
|
|
|
+ "tier_name = CASE id WHEN 1 THEN '新秀' WHEN 2 THEN '小成' WHEN 3 THEN '中富' "
|
|
|
+ "WHEN 4 THEN '大成' WHEN 5 THEN '至富' END "
|
|
|
- + "WHERE id BETWEEN 1 AND 5");
|
|
|
+ + "WHERE id BETWEEN 1 AND 5 AND min_annual_ppoints BETWEEN 9000001 AND 9000005");
|
|
|
+ jdbcTemplate.execute(
|
|
|
+ "UPDATE cf_indirect_sales_tier SET min_self_ppoints = 9000000 + id, tier_name = CONCAT('TMP', id) "
|
|
|
+ + "WHERE id BETWEEN 1 AND 5 AND tier_name IN ('青铜','白银','黄金','铂金','钻石')");
|
|
|
jdbcTemplate.execute(
|
|
|
"UPDATE cf_indirect_sales_tier SET min_self_ppoints = CASE id "
|
|
|
+ "WHEN 1 THEN 10000 WHEN 2 THEN 50000 WHEN 3 THEN 200000 WHEN 4 THEN 500000 WHEN 5 THEN 1000000 END, "
|
|
|
+ "tier_name = CASE id WHEN 1 THEN '新秀' WHEN 2 THEN '小成' WHEN 3 THEN '中富' "
|
|
|
+ "WHEN 4 THEN '大成' WHEN 5 THEN '至富' END "
|
|
|
- + "WHERE id BETWEEN 1 AND 5");
|
|
|
+ + "WHERE id BETWEEN 1 AND 5 AND min_self_ppoints BETWEEN 9000001 AND 9000005");
|
|
|
log.info("迁移431完成:销售奖档位门槛×100(分),档位名新秀/小成/中富/大成/至富");
|
|
|
} catch (Exception e) {
|
|
|
log.warn("迁移431失败(幂等容忍): {}", e.getMessage());
|