use serde::{Deserialize, Serialize};
use super::account::*;
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct ReqSlotSpin {
#[serde(default)]
pub game_level_id: i32,
#[serde(default)]
pub game_id: u32,
#[serde(default)]
pub in_money: i64,
#[serde(default)]
pub hope_get: i64,
#[serde(default)]
pub immediate_money: i64,
#[serde(default)]
pub money_type: u32,
#[serde(default)]
pub need_change_lottery: bool,
#[serde(default)]
pub need_refund: bool,
#[serde(default)]
pub lottery_id: i32,
#[serde(default)]
pub spin_type: u32,
#[serde(default)]
pub card_type: i32,
#[serde(default)]
pub card_id: i64,
#[serde(default)]
pub drawing: i32,
#[serde(default)]
pub drawing_index: i64,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct ReqSlotRefund {
#[serde(default)]
pub game_level_id: i32,
#[serde(default)]
pub game_id: u32,
#[serde(default)]
pub in_money: i64,
#[serde(default)]
pub refund_get: i64,
#[serde(default)]
pub lottery_id: i32,
}
#[derive(Deserialize, Serialize, Default, Debug, Clone)]
pub struct SlotRefundRet {
#[serde(default)]
pub code: i32,
#[serde(default)]
pub info: Option<SlotRefundInfo>,
}
#[derive(Deserialize, Serialize, Default, Debug, Clone)]
pub struct SlotSpinRet {
#[serde(default)]
pub code: i32,
#[serde(default)]
pub info: Option<SlotsSpinInfo>,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct SlotsSpinInfo {
#[serde(default)]
pub account_id: i32,
#[serde(default)]
pub is_win: bool,
#[serde(default)]
pub money_type: u32,
#[serde(default)]
pub in_money: i64,
#[serde(default)]
pub win_money: i64,
#[serde(default)]
pub account_info: AccountInfoRet,
#[serde(default)]
pub level_ups: Vec<i64>,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct SlotRefundInfo {
#[serde(default)]
pub account_id: i32,
#[serde(default)]
pub game_level_id: i32,
#[serde(default)]
pub game_id: u32,
#[serde(default)]
pub in_money: i64,
pub money_info: MoneyContext,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct LotteryInfo {
#[serde(default)]
pub lottery_id: i32,
#[serde(default)]
pub hall_show: i32,
#[serde(default)]
pub lottery_type: i32,
#[serde(default)]
pub bet_or_money: i32,
#[serde(default)]
pub lottery_real: i64,
#[serde(default)]
pub lottery_min_bet: i64,
#[serde(default)]
pub lottery_max_bet: i64,
#[serde(default)]
pub coin_min: i64,
#[serde(default)]
pub lottery_real_increment: i32,
#[serde(default)]
pub game_ids: Vec<u32>,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct ReqSlotsCounterLine {
#[serde(default)]
pub game_id: u32,
#[serde(default)]
pub level_id: i32,
#[serde(default)]
pub in_money: i64,
#[serde(default)]
pub hope_get: i64,
#[serde(default)]
pub hidden_money: i64,
#[serde(default)]
pub need_change_lottery: bool,
#[serde(default)]
pub lottery_id: i32,
#[serde(default)]
pub is_free: bool,
#[serde(default)]
pub is_present: bool,
#[serde(default)]
pub money_type: u32,
}
#[derive(Deserialize, Serialize, Default, Debug, Clone)]
pub struct SlotsCounterLineRet {
#[serde(default)]
pub code: i32,
#[serde(default)]
pub info: Option<SlotsCounterLineInfo>,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct SlotsCounterLineInfo {
#[serde(default)]
pub account_id: i32,
#[serde(default)]
pub is_win: bool,
#[serde(default)]
pub money_type: u32,
#[serde(default)]
pub in_money: i64,
#[serde(default)]
pub win_money: i64,
#[serde(default)]
pub account_info: AccountInfoRet,
#[serde(default)]
pub level_ups: Vec<i64>,
#[serde(default)]
pub is_grand_win: bool,
}