package com.muchinfo.mtp3pojos.vo.bankaccountsign;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.muchinfo.mtp3pojos.exportconverter.ApplyStatusConverter;
import com.muchinfo.mtp3pojos.exportconverter.BuyOrSellConverter;
import com.muchinfo.mtp3pojos.exportconverter.ExecuteTypeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ApiModel(value = "PutOrInAmountQueryResult对象", description = "出入金查询响应")
public class PutOrInAmountQueryResult {

    @ExcelProperty("资金账户")
    @ColumnWidth(20)
    @ApiModelProperty(value = "资金账户")
    private Long  accountcode;

    @ExcelProperty("银行卡号")
    @ColumnWidth(20)
    @ApiModelProperty(value = "银行卡号 / 银行业务出入金查询展示")
    private String  bankaccountno;

    @ExcelProperty("开户行")
    @ColumnWidth(20)
    @ApiModelProperty(value = "开户行 / 银行业务出入金查询展示")
    private String  bankname;

    @ExcelProperty("交易商子账号")
    @ColumnWidth(20)
    @ApiModelProperty(value = "交易商子账号 / 银行业务出入金查询展示")
    private String  cusbankid;

    @ExcelProperty("用户/机构")
    @ColumnWidth(20)
    @ApiModelProperty(value = "用户/机构")
    private String  accountname;

    @ExcelProperty("账户类型")
    @ColumnWidth(20)
    @ApiModelProperty(value = "账户类型")
    private Integer  usertype;

    @ExcelProperty("所属机构")
    @ColumnWidth(20)
    @ApiModelProperty(value = "所属机构")
    private String  parentaccountname;

    @ExcelProperty("所属会员")
    @ColumnWidth(20)
    @ApiModelProperty(value = "所属会员 / 银行业务出入金查询展示")
    private String  memberaccountname;

    @ExcelProperty("所属经纪人")
    @ColumnWidth(20)
    @ApiModelProperty(value = "所属经纪人 / 银行业务出入金查询展示")
    private String  brokername;

    @ExcelProperty("托管银行")
    @ColumnWidth(20)
    @ApiModelProperty(value = "托管银行")
    private String  cusbankname;

    @ExcelProperty("交易日")
    @ColumnWidth(20)
    @ApiModelProperty(value = "交易日")
    private String tradedate;

    @ExcelProperty("金额")
    @ColumnWidth(20)
    @ApiModelProperty(value = "金额")
    private BigDecimal amount;

    @ExcelProperty("出入金服务费")
    @ColumnWidth(20)
    @ApiModelProperty(value = "出入金服务费")
    private BigDecimal  charge;

    @ExcelProperty("币种")
    @ColumnWidth(20)
    @ApiModelProperty(value = "币种")
    private String  currency;

    @ExcelProperty(value = "类型", converter = ExecuteTypeConverter.class)
    @ColumnWidth(20)
    @ApiModelProperty(value = "类型")
    private Integer  executetype;

    @ExcelProperty(value = "状态", converter = ApplyStatusConverter.class)
    @ColumnWidth(20)
    @ApiModelProperty(value = "状态")
    private Integer  applystatus;

    @ExcelProperty("更新时间")
    @ColumnWidth(20)
    @ApiModelProperty(value = "更新时间")
    private Date  updatetime;

    private String exchticket;
}
