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.util.Date;

/**
 * <p>
 * 托管银行状态表
 * </p>
 *
 * @author XKF
 * @since 2025-05-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BANK_CUSBANKSTATUS")
@ApiModel(value="BankCusbankstatus对象", description="托管银行状态表")
public class BankCusbankstatus extends Model<BankCusbankstatus> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "托管银行ID")
    @TableId(value = "CUSBANKID")
    private String cusbankid;

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

    @ApiModelProperty(value = "当前签到/签退状态 - 1:签到 2:签退")
    @TableField("SIGNSTATUS")
    private Integer signstatus;

    @ApiModelProperty(value = "当前签到/签退更新时间")
    @TableField("UPDATETIME")
    private Date updatetime;

    @ApiModelProperty(value = "最后签到时间")
    @TableField("LASTSIGNINTIME")
    private Date lastsignintime;

    @ApiModelProperty(value = "最后签退时间")
    @TableField("LASTSIGNOUTTIME")
    private Date lastsignouttime;

    @ApiModelProperty(value = "最后对账时间")
    @TableField("LASTCHECKTIME")
    private Date lastchecktime;

    @ApiModelProperty(value = "最后对账状态 -  对账状态 - 1:未对账 2:对账成功 3:对账失败")
    @TableField("LASTCHECKSTATUS")
    private Integer lastcheckstatus;

    @ApiModelProperty(value = "最后清算时间")
    @TableField("LASTCLEARTIME")
    private Date lastcleartime;

    @ApiModelProperty(value = "最后清算状态 - 1:未清算 2:清算成功 3:清算失败 4:清算部分成功")
    @TableField("LASTCLEARSTATUS")
    private Integer lastclearstatus;


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

}
