package com.muchinfo.mtp3pojos.vo.investor;

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

import java.util.Date;

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="DealerQueryResult对象", description="子机构交易商查询列表响应")
public class DealerQueryResult {

    @ApiModelProperty(value = "id")
    private Long userId;

    @ExcelProperty("交易商名称")
    @ColumnWidth(20)
    @ApiModelProperty(value = "交易商名称")
    private String accountName;

    @ExcelProperty("登陆账号")
    @ColumnWidth(20)
    @ApiModelProperty(value = "登陆账号")
    private String loginId;

    @ExcelProperty("资金账号")
    @ColumnWidth(20)
    @ApiModelProperty(value = "资金账号")
    private String accountId;

    @ExcelProperty("所属会员")
    @ColumnWidth(20)
    @ApiModelProperty(value = "所属会员")
    private String memberUserName;

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

    @ExcelProperty("推荐人")
    @ColumnWidth(20)
    @ApiModelProperty(value = "推荐人")
    private String refereeName;

    @ExcelProperty(value = "是否实名", converter = IsAuthConverter.class)
    @ColumnWidth(20)
    @ApiModelProperty(value = "是否实名")
    private Integer hasAuth;

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

    @ExcelProperty(value = "变更状态", converter = ModifyStatusConverter.class)
    @ColumnWidth(20)
    @ApiModelProperty(value = "变更状态")
    private Integer modifyStatus;

    @ExcelProperty("开户时间")
    @ColumnWidth(20)
    @ApiModelProperty(value = "开户时间")
    private Date createTime;

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

    @ExcelProperty("审核时间")
    @ColumnWidth(20)
    @ApiModelProperty(value = "审核时间")
    private Date auditTime;

    @ExcelProperty("销户时间")
    @ColumnWidth(20)
    @ApiModelProperty(value = "销户时间")
    private Date cancelTime;
}
