fix: 限定 VIP 历史回填索引范围

This commit is contained in:
zhx 2026-07-11 02:20:19 +08:00
parent 667828f3c2
commit 093838babd
2 changed files with 8 additions and 2 deletions

View File

@ -96,12 +96,15 @@ EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 历史成功命令必须在上线前进入同一守卫空间,否则升级后一段时间内仍可能走旧唯一键竞争路径。
-- wallet_transactions 的业务索引以 app_code 为首列;这里显式限定当前已注册 App避免生产迁移
-- 因只按 biz_type 过滤退化为全表扫描。新 App 上线后的命令会直接经过运行时 command guard。
INSERT IGNORE INTO vip_command_locks (
app_code, command_id, biz_type, request_hash, created_at_ms, updated_at_ms
)
SELECT app_code, command_id, biz_type, request_hash, created_at_ms, updated_at_ms
FROM wallet_transactions
WHERE biz_type IN ('vip_purchase', 'vip_grant');
WHERE app_code IN ('lalu', 'fami', 'huwaa', 'yumi')
AND biz_type IN ('vip_purchase', 'vip_grant');
INSERT IGNORE INTO vip_command_locks (
app_code, command_id, biz_type, request_hash, created_at_ms, updated_at_ms

View File

@ -67,9 +67,12 @@ SET execution_scope = 'notice'
WHERE benefit_code = 'online_global_notice';
-- 已经先上线过领取交易的环境补齐统一 VIP command guard同 command 不能再被购买、发卡或另一返现复用。
-- 显式限定当前 App 才能使用 wallet_transactions 的 (app_code,biz_type,created_at_ms) 索引;
-- 禁止在生产迁移中只按 biz_type 扫描完整钱包交易表。
INSERT IGNORE INTO vip_command_locks (
app_code, command_id, biz_type, request_hash, created_at_ms, updated_at_ms
)
SELECT app_code, command_id, biz_type, request_hash, created_at_ms, updated_at_ms
FROM wallet_transactions
WHERE biz_type = 'vip_daily_coin_rebate';
WHERE app_code IN ('lalu', 'fami', 'huwaa', 'yumi')
AND biz_type = 'vip_daily_coin_rebate';