package com.muchinfo.mtp3pojos.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 托管银行信息表
 * </p>
 *
 * @author XKF
 * @since 2024-07-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BANK_CUSBANKINFO")
@ApiModel(value="BankCusbankinfo对象", description="托管银行信息表")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class BankCusbankinfo extends Model<BankCusbankinfo> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "托管银行编号(对应清算中心TRAN_NO)")
    @TableId(value = "CUSBANKID")
    private String cusbankid;

    @ApiModelProperty(value = "银行业务名称")
    @TableField("CUSBANKNAME")
    private String cusbankname;

    @ApiModelProperty(value = "银行业务简称")
    @TableField("CUSBANKSHORTNAME")
    private String cusbankshortname;

    @ApiModelProperty(value = "交易所开户银行ID")
    @TableField("EXCHBANKID")
    private String exchbankid;

    @ApiModelProperty(value = "交易所支出结算账户")
    @TableField("EXCHPAYBANKACCNO")
    private String exchpaybankaccno;

    @ApiModelProperty(value = "交易所支出结算账户户名")
    @TableField("EXCHPAYBANKACCNAME")
    private String exchpaybankaccname;

    @ApiModelProperty(value = "币种")
    @TableField("CURRENCY")
    private String currency;

    @ApiModelProperty(value = "是否可签约 - 0:不可 1:可以")
    @TableField("CANSIGN")
    private Integer cansign;

    @ApiModelProperty(value = "是否可解约 - 0:不可 1:可以")
    @TableField("CANRELEASE")
    private Integer canrelease;

    @ApiModelProperty(value = "是否可入金 - 0:不可 1:可以")
    @TableField("CANINAMOUNT")
    private Integer caninamount;

    @ApiModelProperty(value = "是否可出金 - 0:不可 1:可以")
    @TableField("CANOUTAMOUNT")
    private Integer canoutamount;

    @ApiModelProperty(value = "签约风险提示书")
    @TableField("RISKINFO")
    private String riskinfo;

    @ApiModelProperty(value = "是否可签约(网银端) - 0:不可 1:可以")
    @TableField("CANSIGN2")
    private Integer cansign2;

    @ApiModelProperty(value = "是否可解约(网银端) - 0:不可 1:可以")
    @TableField("CANRELEASE2")
    private Integer canrelease2;

    @ApiModelProperty(value = "是否可入金(网银端) - 0:不可 1:可以")
    @TableField("CANINAMOUNT2")
    private Integer caninamount2;

    @ApiModelProperty(value = "是否可出金(网银端) - 0:不可 1:可以")
    @TableField("CANOUTAMOUNT2")
    private Integer canoutamount2;

    @ApiModelProperty(value = "是否可绑卡与解卡 - 0:不可 1:可以")
    @TableField("CANBINDCARD")
    private Integer canbindcard;

    @ApiModelProperty(value = "是否需要清算 - 0:不需要 1:需要")
    @TableField("ISNEEDCLEAR")
    private Integer isneedclear;

    @ApiModelProperty(value = "是否可修改手机号 - 0:不可 1:可以")
    @TableField("CANMODIFYPHONE")
    private Integer canmodifyphone;

    @ApiModelProperty(value = "是否可修改签约信息 - 0:不可 1:可以")
    @TableField("CANMODIFYSIGNINFO")
    private Integer canmodifysigninfo;

    @ApiModelProperty(value = "是否需要对账 - 0:需要 1:不需要 [不需要界面配置]")
    @TableField("ISNEEDCHECK")
    private Integer isneedcheck;

    @ApiModelProperty(value = "是否可修改银行卡号 - 0:不可 1:可以")
    @TableField("CANMODIFYBANKCARD")
    private Integer canmodifybankcard;

    @ApiModelProperty(value = "是否支持跨行调拨 - 0:不支持 1:支持")
    @TableField("CANALLOT")
    private Integer canallot;

    @ApiModelProperty(value = "是否支持跨行调拨查询 - 0:不支持 1:支持")
    @TableField("CANALLOTQUERY")
    private Integer canallotquery;

    @ApiModelProperty(value = "手续费结转收款方银行行号 - 金登")
    @TableField("EXPUTBANKID")
    private String exputbankid;

    @ApiModelProperty(value = "手续费结转收款账户 - 金登")
    @TableField("EXPUTPAYBANKACCNO")
    private String exputpaybankaccno;

    @ApiModelProperty(value = "手续费结转收款账户户名 - 金登")
    @TableField("EXPUTPAYBANKACCNAME")
    private String exputpaybankaccname;

    @ApiModelProperty(value = "手续费结转收款子账户 - 金登")
    @TableField("EXPUTPAYBANKACCSUBNO")
    private String exputpaybankaccsubno;


    @Override
    public Serializable pkVal() {
        return this.cusbankid;
    }

}
