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.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 平台资金划转申请表  -  银行系统参数表添加配置“平台资金划转是否需要审核”
 * </p>
 *
 * @author XKF
 * @since 2025-06-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BANK_AMOUNTTRANSFER")
@ApiModel(value="BankAmounttransfer对象", description="平台资金划转申请表  -  银行系统参数表添加配置“平台资金划转是否需要审核”")
public class BankAmounttransfer extends Model<BankAmounttransfer> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "银行服务流水号")
    private String exchticket;

    @ApiModelProperty(value = "资金划转类别 - [1-资金调拨; 2-费用划转; 3-利息划转 4-手续费提现（金登光大) 5-利息提现(光大)] - 枚举“banktransfertype”")
    @TableField("TRANSFERTYPE")
    private Integer transfertype;

    @ApiModelProperty(value = "交易日(yyyyMMdd)")
    @TableField("TRADEDATE")
    private String tradedate;

    @ApiModelProperty(value = "银行流水")
    @TableField("BANKTICKET")
    private String bankticket;

    @ApiModelProperty(value = "托管银行编号")
    @TableField("CUSBANKID")
    private String cusbankid;

    @ApiModelProperty(value = "银行账号")
    @TableField("BANKACCNO")
    private String bankaccno;

    @ApiModelProperty(value = "银行账户名")
    @TableField("BANKACCNAME")
    private String bankaccname;

    @ApiModelProperty(value = "收款方银行行号")
    @TableField("TARGETBANKID")
    private String targetbankid;

    @ApiModelProperty(value = "收款方银行账号")
    @TableField("TARGETBANKACCNO")
    private String targetbankaccno;

    @ApiModelProperty(value = "收款方银行账户名")
    @TableField("TARGETBANKACCNAME")
    private String targetbankaccname;

    @ApiModelProperty(value = "开始日期")
    @TableField("BEGINDATE")
    private Date begindate;

    @ApiModelProperty(value = "结束日期")
    @TableField("ENDDATE")
    private Date enddate;

    @ApiModelProperty(value = "金额")
    @TableField("AMOUNT")
    private BigDecimal amount;

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

    @ApiModelProperty(value = "备注")
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty(value = "申请状态 - 1:待审核 2:审核通过 3:审核拒绝 4:审核失败")
    @TableField("APPLYSTATUS")
    private Integer applystatus;

    @ApiModelProperty(value = "处理状态")
    @TableField("HANDLESTATUS")
    private Integer handlestatus;

    @ApiModelProperty(value = "返回代号")
    @TableField("RETCODE")
    private Integer retcode;


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

}
