package apple

type RedeemReq struct {
	Account        string `json:"account" description:"苹果账户邮箱地址"`
	Password       string `json:"password" description:"苹果账户密码"`
	OrderId        string `json:"order_id" description:"订单ID，用于追踪操作"`
	RedemptionCode string `json:"redemption_code" description:"待兑换的卡密代码"`
}

type RedeemResp struct {
	BalanceAfter float64 `json:"balance_after" description:"兑换后账户余额"`
	Amount       float64 `json:"amount" description:"本次兑换金额"`
	OrderId      string  `json:"order_id" description:"订单ID"`
}

type QueryBalanceReq struct {
	Account  string `json:"account" description:"苹果账户邮箱地址"`
	Password string `json:"password" description:"苹果账户密码"`
	OrderId  string `json:"order_id" description:"ID"`
}

type QueryBalanceResp struct {
	Status  int     `json:"status" description:"查询状态：0成功，其他"`
	Balance float64 `json:"balance" description:"当前账户余额"`
	OrderId string  `json:"order_id" description:"订单ID"`
}

type HeartBeatReq = QueryBalanceReq

type HeartBeatResp struct {
	Status int `json:"status" description:"查询状态：0成功，其他"`
}

type Resp[T any] struct {
	Data    *T     `json:"data,omitempty"`
	Code    Code   `json:"code"`
	Message string `json:"message"`
	TraceId string `json:"trace_id"`
}
