package entity

type UserWithdrawalResp struct {
	Details []*UserWithdrawalDetail `json:"details"`
	Total   int64                   `json:"total"`
}

// UserWithdrawalResp \game\game_cluster\nodes\webadmin\entity\user_withdrawal.go
type UserWithdrawalDetail struct {
	Id          string      `json:"id" bson:"_id"`                    // Id
	UserName    string      `json:"user_name" bson:"userName"`        // 用户ID
	NickName    string      `json:"nick_name" bson:"nickName"`        // 昵称
	OpenId      string      `json:"openId" bson:"openId"`             // 对应tgid
	Status      int         `json:"status" bson:"status"`             // 0:未审核 1:审核通过 2:审核失败
	Reason      string      `json:"reason" bson:"reason"`             // 提现原因
	Withdrawal  int         `json:"withdrawal" bson:"withdrawal"`     // 提现 1:提现成功 2:提现中 3：提现失败 4：拒绝提现
	Amount      int         `json:"amount" bson:"amount"`             // 提现金额
	AfterAmount int         `json:"after_amount" bson:"after_amount"` // 提现后金额
	Type        interface{} `json:"type" bson:"type"`                 // 货币内型
	Address     string      `json:"address" bson:"address"`           // 地址
	CreateAt    interface{} `json:"createAt" bson:"createAt"`         // 提现时间
	UpdateAt    interface{} `json:"updateAt" bson:"updateAt"`
}

type UserWithdrawalReq struct {
	UserName       string `json:"user_name" bson:"user_name"` // 用户ID
	NickName       string `json:"nick_name" bson:"nick_name"` // 昵称
	ID             string `json:"id" bson:"id"`               // ID
	Address        string `json:"address"`                    // 地址
	Currency       string `json:"currency"`                   // 货币类型
	StartTime      int64  `json:"start_time"`                 // 开始时间
	EndTime        int64  `json:"end_time"`                   // 结束时间
	Page           int    `json:"page"`                       // 页码
	Size           int    `json:"size"`                       // 每页数量
	State          int    `json:"state"`                      // 服务器是否已经处理 0 未处理 1已处理
	Withdrawal     int    `json:"withdrawal"`                 // 提现 0 :未体现 1:提现成功 2:提现中 3：提现失败 4：拒绝提现
	AmountMin      int    `json:"amount_min"`                 // 提现金额最小值
	AmountMax      int    `json:"amount_max"`                 // 提现金额最大值
	AfterAmountMin int    `json:"after_amount_min"`           // 提现后金额最小值
	AfterAmountMax int    `json:"after_amount_max"`           // 提现后金额最大值
}

type UserWithdrawalExportReq struct {
	ExportFormat   int    `json:"export_format"`              // 导出样式 0:返回需要导出的数据1:返回包含导出数据的csv文件url 该字段暂未使用
	UserName       string `json:"user_name" bson:"user_name"` // 用户ID
	NickName       string `json:"nick_name" bson:"nick_name"` // 昵称
	ID             string `json:"id" bson:"id"`               // ID
	StartTime      int64  `json:"start_time"`                 // 开始时间
	EndTime        int64  `json:"end_time"`                   // 结束时间
	Address        string `json:"address"`                    // 地址
	State          int    `json:"state"`                      // 服务器是否已经处理 0 未处理 1已处理
	Withdrawal     int    `json:"withdrawal"`                 // 提现 0 :未体现 1:提现成功 2:提现中 3：提现失败 4：拒绝提现
	AmountMin      int    `json:"amount_min"`                 // 提现金额最小值
	AmountMax      int    `json:"amount_max"`                 // 提现金额最大值
	AfterAmountMin int    `json:"after_amount_min"`           // 提现后金额最小值
	AfterAmountMax int    `json:"after_amount_max"`           // 提现后金额最大值
}

type UserWithdrawalStatus struct {
	UserName   string `json:"user_name" bson:"user_name" binding:"required"` // 用户ID
	Status     int    `json:"status" bson:"status" `                         // 0:未审核 1:审核通过 2:审核失败
	Withdrawal int    `json:"withdrawal" bson:"withdrawal"`                  // 提现 1:提现成功 2:提现中 3：提现失败 4：拒绝提现
}

type UserWithdrawalStatusBatch struct {
	ID         []string `json:"id" bson:"id" binding:"required"` // 用户ID
	Status     int      `json:"status" bson:"status"`            // 0:未审核 1:审核通过 2:审核失败
	Withdrawal int      `json:"withdrawal" bson:"withdrawal"`    // 提现 1:提现成功 2:提现中 3：提现失败 4：拒绝提现
}
