package commonApi

import "github.com/gogf/gf/v2/frame/g"

// ====================================================================================
// 通用卡类账户API结构
// ====================================================================================

// BaseAccountDeleteReq 通用账户删除请求
type BaseAccountDeleteReq struct {
	g.Meta `summary:"删除账户"`
	CommonStrId
}

// BaseAccountDeleteRes 通用账户删除响应
type BaseAccountDeleteRes struct{}

// BaseAccountListReq 通用账户列表请求
type BaseAccountListReq struct {
	g.Meta `summary:"获取账户列表"`
	CommonPageReq
	Name     string `json:"name" description:"账户名称"`
	NickName string `json:"nickName" description:"用户昵称"`
	Status   int    `json:"status" description:"状态筛选"`
}

// BaseAccountCreateRes 通用账户创建响应
type BaseAccountCreateRes struct{}

// BaseAccountUpdateReq 通用账户更新请求
type BaseAccountUpdateReq struct {
	g.Meta `summary:"修改账户"`
	CommonStrId
	Name   string `json:"name" description:"别名"`
	Status int    `json:"status" description:"状态"`
	Remark string `json:"remark" description:"备注"`
}

// BaseAccountUpdateRes 通用账户更新响应
type BaseAccountUpdateRes struct{}

// BaseAccountUpdateStatusReq 通用账户状态更新请求
type BaseAccountUpdateStatusReq struct {
	g.Meta `summary:"修改账户状态"`
	CommonStrId
	Status int `json:"status" v:"required#状态不能为空" description:"状态"`
}

// BaseAccountUpdateStatusRes 通用账户状态更新响应
type BaseAccountUpdateStatusRes struct{}

// BaseAccountCookieCheckReq 通用Cookie检测请求
type BaseAccountCookieCheckReq struct {
	g.Meta `summary:"检测cookie是否可用"`
	Cookie string `json:"cookie" v:"required#cookie不能为空" description:"cookie"`
}

// BaseAccountCookieCheckRes 通用Cookie检测响应
type BaseAccountCookieCheckRes struct {
	Username    string  `json:"username" dc:"用户名"`
	Nickname    string  `json:"nickname" dc:"昵称"`
	Balance     float64 `json:"balance" dc:"余额"`
	IsExist     bool    `json:"isExist" dc:"是否存在系统中"`
	IsAvailable bool    `json:"isAvailable" dc:"是否可用"`
}

// BaseDownloadTemplateReq 通用下载模板请求
type BaseDownloadTemplateReq struct {
	g.Meta `summary:"下载导入模板"`
}

// BaseDownloadTemplateRes 通用下载模板响应
type BaseDownloadTemplateRes struct {
	g.Meta `mime:"application/vnd.ms-excel"`
}

// BaseDownloadReq 通用下载请求
type BaseDownloadReq struct {
	g.Meta `summary:"下载数据"`
}

// BaseDownloadRes 通用下载响应
type BaseDownloadRes struct {
	g.Meta `mime:"application/vnd.ms-excel"`
}
