package dto

// CreateMyWithdrawalReq 发起提现申请请求（由 POST /shops/:id/withdrawal-requests 复用）
type CreateMyWithdrawalReq struct {
	ShopID           uint   `json:"-" path:"shop_id" description:"店铺ID" required:"true"`
	Amount           int64  `json:"amount" validate:"required,min=1" required:"true" minimum:"1" description:"提现金额（分）"`
	WithdrawalMethod string `json:"withdrawal_method" validate:"required,oneof=alipay" required:"true" enum:"alipay" description:"收款类型"`
	AccountName      string `json:"account_name" validate:"required,max=50" required:"true" maximum:"50" description:"收款人姓名"`
	AccountNumber    string `json:"account_number" validate:"required,max=100" required:"true" maximum:"100" description:"收款账号"`
}

// CreateMyWithdrawalResp 发起提现申请响应（由 POST /shops/:id/withdrawal-requests 复用）
type CreateMyWithdrawalResp struct {
	ID           uint   `json:"id" description:"提现申请ID"`
	WithdrawalNo string `json:"withdrawal_no" description:"提现单号"`
	Amount       int64  `json:"amount" description:"提现金额（分）"`
	FeeRate      int64  `json:"fee_rate" description:"手续费比率（基点）"`
	Fee          int64  `json:"fee" description:"手续费（分）"`
	ActualAmount int64  `json:"actual_amount" description:"实际到账金额（分）"`
	Status       int    `json:"status" description:"状态"`
	StatusName   string `json:"status_name" description:"状态名称"`
	CreatedAt    string `json:"created_at" description:"申请时间"`
}
