syntax = "proto2";
package WithdrawalCmd;

option java_package = "com.miaole.live.protocol.request";
option java_outer_classname = "WithdrawalCmd";


//提取现金申请 主播（废弃，请使用 withdrawInternational）
message liveExpenseWithdrawCash {
  optional double amount = 1;//提现金额
  optional int32 expenseType = 2;//提现方式类型
  optional string channelType = 3;//提现渠道
  optional string countryId = 4; //收款国家代号
  optional string name = 5;//姓名（账户名）
  optional string phoneNumber = 6;//手机号
  optional string email = 7;//邮箱

  optional string bankAccount = 8;//银行账号 | 沃达丰账号
  optional string bankCode = 9;//银行编码
  optional string bankName = 10;//银行名称
  optional string bankAddress = 11;//银行地址(支行)

  optional string blockchainAddress = 12;//虚拟币区块链地址
  optional string blockchainProvider = 13;//虚拟币区块链服务商

  optional string bankCardImgUrl = 14;//银行卡照片地址

}

//国际提现申请 主播
message withdrawInternational {
  optional double amount = 1;//提现金额，最终打款金额仍按该值记录
  optional int32 expenseType = 2;//提现方式类型
  optional string channelType = 3;//提现渠道
  optional string countryId = 4; //收款国家代号
  optional string name = 5;//姓名（账户名）
  optional string phoneNumber = 6;//手机号
  optional string email = 7;//邮箱

  optional string bankAccount = 8;//银行账号 | 沃达丰账号 | 钱包账号(钱包手机号)
  optional string bankCode = 9;//银行编码
  optional string bankName = 10;//银行名称
  optional string bankAddress = 11;//银行地址(支行)

  optional string blockchainAddress = 12;//虚拟币区块链地址
  optional string blockchainProvider = 13;//虚拟币区块链服务商

  optional string bankCardImgUrl = 14;//银行卡照片地址
}

//设置提现方式信息
message setWithdrawData {
  optional int32 expenseType = 1;//提现方式类型
  optional string channelType = 2;//提现渠道

  optional string countryId = 3; //收款国家代号
  optional string name = 4;//姓名
  optional string phoneNumber = 5;//手机号
  optional string email = 6;//邮箱

  optional string bankAccount = 7;//银行账号 | 沃达丰账号 | 钱包账号
  optional string bankCode = 8;//银行编码
  optional string bankName = 9;//银行名称
  optional string bankAddress = 10;//银行地址

  optional string blockchainAddress = 11;//虚拟币区块链地址
  optional string blockchainProvider = 12;//虚拟币区块链服务商
}

//获取用户设置的提现方式 返回：WithdrawalResult.WithdrawData
message getWithdrawData {

}

//提现方式列表 WithdrawalResult.WithdrawalMethodList
message getWithdrawalMethodList {
  // 国家三位编码；不传时按用户最近 IP 国家选择，无可用方式时回退到第一个可用国家
  optional string countryId = 1;
}

//提现方式列表
//返回结果根据提现方式类型不一样而不一样
// 1:USDT 返回 WithdrawalResult.WithdrawalUSDTChannelList
// 2:E-wallet 返回 WithdrawalResult.WithdrawalChannelList
// 3:人工代发 返回 WithdrawalResult.ArtificialWithdrawalChannelList
// 4:沃达丰 回 WithdrawalResult.WithdrawalChannelList
message getWithdrawalChannelList {
  optional int32 expenseType = 1;//提现方式类型
  optional string countryId = 2;//国家代号 传空默认展示用户所在的国家列表，没有对应的国家则显示列表第一个
}
