use crate::static_def::BASE_CONFIG;
use once_cell::sync::OnceCell;
use serde::{Deserialize, Serialize};
#[derive(sqlx::FromRow, Serialize, Deserialize, Debug, Clone)]
pub struct SlotsBetRatios {
#[serde(default)]
#[sqlx(default)]
pub level_id: i32,
#[serde(default)]
#[sqlx(default)]
pub bet_money: f64,
#[serde(default)]
#[sqlx(default)]
pub bet_line: i32,
#[serde(default)]
#[sqlx(default)]
pub radio: i32,
#[serde(skip_serializing, skip_deserializing)]
#[sqlx(skip)]
key: OnceCell<String>,
}
impl SlotsBetRatios {
#[inline]
pub fn get_redis_key(&self) -> &str {
self.key.get_or_init(|| {
format!(
"game_cache:{}_{}_{}_{}",
BASE_CONFIG.base.server_id, self.level_id, self.bet_money, self.radio
)
})
}
}