perf: use redeem usage index

This commit is contained in:
2026-04-28 14:14:21 +08:00
parent 6611852a97
commit fb965a1207

View File

@@ -1852,8 +1852,8 @@ fn latest_profile_recharge_order(
fn count_profile_redeem_code_user_usage(ctx: &ReducerContext, code: &str, user_id: &str) -> u32 { fn count_profile_redeem_code_user_usage(ctx: &ReducerContext, code: &str, user_id: &str) -> u32 {
ctx.db ctx.db
.profile_redeem_code_usage() .profile_redeem_code_usage()
.iter() .by_profile_redeem_code_usage_code_user_id()
.filter(|row| row.code == code && row.user_id == user_id) .filter((code, user_id))
.count() as u32 .count() as u32
} }
@@ -1863,12 +1863,7 @@ fn build_profile_redeem_code_usage_id(
user_id: &str, user_id: &str,
redeemed_at_micros: i64, redeemed_at_micros: i64,
) -> String { ) -> String {
let sequence = ctx let sequence = count_profile_redeem_code_user_usage(ctx, code, user_id);
.db
.profile_redeem_code_usage()
.iter()
.filter(|row| row.code == code && row.user_id == user_id)
.count();
format!( format!(
"redeem:{}:{}:{}:{}", "redeem:{}:{}:{}:{}",
code, user_id, redeemed_at_micros, sequence code, user_id, redeemed_at_micros, sequence