package main

//钱包模式.
var (
	CANCEL_ACTION = 4 //取消下注
	GET_BALANCE   = 6 //取得余额
	BET_GAME_INFO = 8 //下注信息及游戏结果

	AgentName      = "DBDZ"
	aesKeyDefValue = "05a60a287336e1c3"
	aesIvDefValue  = "97d099817cdbba7a"
)

// 取消下注
type cancelAction struct {
	Action     int
	Ts         int64  //当前系统时间
	TransferId int64  //交易序号
	Uid        string //玩家账号,只限a-z 与 0-9
}

//取得余额
type getBalance struct {
	Action   int
	Ts       int64  //当前系统时间
	Uid      string //玩家账号,只限 a-z 与 0-9
	Currency string //货币别
}

//取消下注 取得余额 下注信息及游戏结果
type dbdzRequest struct {
	Action         int     `json:"action"`
	Ts             int64   `json:"ts"`             //当前系统时间
	TransferId     int64   `json:"transferId"`     //交易序号
	GameSeqNo      int64   `json:"gameSeqNo"`      //游戏序号
	Uid            string  `json:"uid"`            //玩家账号
	GType          int  `json:"gType"`          //游戏型态
	MType          int  `json:"mType"`          //机台类型
	ReportDate     string  `json:"reportDate"`     //报表日期
	GameDate       string  `json:"gameDate"`       //游戏日期
	Currency       string  `json:"currency"`       //货币别
	Bet            float64 `json:"bet"`            //下注金额
	Win            float64 `json:"win"`            //游戏赢分
	NetWin         float64 `json:"netWin"`         //总输赢
	Denom          float64 `json:"denom"`          //投注面值
	IpAddress      string  `json:"ipAddress"`      //玩家登入IP
	ClientType     string  `json:"clientType"`     //玩家从网页或行动装置登入
	SystemTakeWin  int     `json:"systemTakeWin"`  //系统结算标记 0:否 1:是
	LastModifyTime string  `json:"lastModifyTime"` //最后修改时间 日月年 时分秒
	//老虎机下注记录 gType=0
	JackpotWin        float64 `json:"jackpotWin"`        //赢得彩金金额
	JackpotContribute float64 `json:"jackpotContribute"` //彩金贡献值
	HasFreegame       int     `json:"hasFreegame"`       //免费游戏 0:否 1:是
	HasGamble         int     `json:"hasGamble"`         //博取游戏 0:否 1:是
	//鱼机下注记录 gType=7
	RoomType int `json:"roomType"` //游戏区域 0:欢乐 1:富豪 2:依机台类型区分 mType=7003:财神 mType=7004:五龙
	//街机下注记录 gType=9
	//HasGamble int `json:"hasGamble"` //博取游戏 0:否 1:是
	HasBonusGame int `json:"hasBonusGame"` //奖金游戏 0:否 1:是
	//电子彩票下注记录 gType=12
}

//统一返回
type dbdzResponseErr struct {
	Status   int    //状态码
	Err_text string //错误讯息
}
type dbdzResponseSuc struct {
	Status  int     //状态码
	Balance float64 //余额
}

//调用接口model

//获取token
type getToken struct {
	Action      int     `json:"action"`
	Ts          int64   `json:"ts"`          //当前系统时间
	Parent      string  `json:"parent"`      //代理账号
	Uid         string  `json:"uid"`         //玩家账号
	Balance     float64 `json:"balance"`     //余额
	Lang        string  `json:"lang"`        //语系 非必须
	GType       string  `json:gType`         //游戏型态
	MType       string  `json:"mType"`       //机台类型
	WindowMode  string  `json:"windowMode"`  //1:使用JDB游戏大厅 2:不适用JDB游戏大厅
	IsAPP       bool    `json:"isApp"`       //是否为手机APP进入游戏 true:手机app
	LobbyURL    string  `json:"lobbyUrl"`    //游戏大厅网址 当 windowMode 为 2 时, 此参数才会有作用
	MoreGame    int     `json:"moreGame"`    //0: 不显示更多游戏 1: 显示更多游戏（默认值）
	Mute        int     `json:"mute"`        //0: 开启音效（默认值）1: 静音
	JackpotFlag int     `json:"jackpotFlag"` // 0：打开 1:关闭
}

//获取token返回
type getTokenResponse struct {
	Status   string //状态码
	Err_text string //错误讯息
	path     string //开启游戏连结
}

//踢人
type kickOutPlayer struct {
	Action int    `json:"action"`
	Ts     int64  `json:"ts"`     //当前系统时间
	Parent string `json:"parent"` //代理账号
	Uid    string `json:"uid"`    //玩家账号
}

//踢人返回结果
type kickOutResponse struct {
	Status   string
	Err_text string //错误讯息
}

type Member struct {
	Username string  `json:"username"`
	Balance  float64 `json:"balance,omitempty"`
}

type Orders struct {
	Amount   float64 `json:"amount"`
	CodeId   int     `json:"codeId"`
	Serial   string  `json:"serial"`
	TicketId int64   `json:"ticketId"`
	Time     int64   `json:"time"`
	Username string  `json:"username"`
}

type NatsOrders struct {
	balance    float64
	tax        float64
	winLose    float64
	gameMaker  int64 //接入游戏厂商
	game_id    int64
	bet_id     string
	bet        float64
	start_time int64
	end_time   int64
}
