package com.muchinfo.mtp3pojos.entity;

import com.baomidou.mybatisplus.annotation.*;
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-01-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("INVESTORTRANSFER")
@ApiModel(value="Investortransfer对象", description="投资者转移表")
@KeySequence(value = "SEQ_INVESTORTRANSFER")
public class Investortransfer extends Model<Investortransfer> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "AutoID")
    @TableId(value = "AUTOID", type = IdType.INPUT)
    private Long autoid;

    @ApiModelProperty(value = "转移类型 - 1:单个转移(交易商)  2:批量转移(交易商) 3:子机构转移")
    @TableField("TRANSFERTYPE")
    private Integer transfertype;

    @ApiModelProperty(value = "转出投资者[单个转移]")
    @TableField("INVESTORUSERID")
    private Long investoruserid;

    @ApiModelProperty(value = "转出会员 [批量转移]")
    @TableField("MEMBERUSERID")
    private Long memberuserid;

    @ApiModelProperty(value = "转出机构 [批量转移]")
    @TableField("AREAUSERID")
    private Long areauserid;

    @ApiModelProperty(value = "转出经纪人 [批量转移]")
    @TableField("BROKERUSERID")
    private Long brokeruserid;

    @ApiModelProperty(value = "转入会员")
    @TableField("NEWMEMBERUSERID")
    private Long newmemberuserid;

    @ApiModelProperty(value = "转入机构")
    @TableField("NEWAREAUSERID")
    private Long newareauserid;

    @ApiModelProperty(value = "转入经纪人")
    @TableField("NEWBROKERUSERID")
    private Long newbrokeruserid;

    @ApiModelProperty(value = "转移状态 - 1:未执行 2:执行成功 3:执行失败 4:已撤销 5:执行中")
    @TableField("TRANSFERSTATUS")
    private Integer transferstatus;

    @ApiModelProperty(value = "错误码")
    @TableField("RETCODE")
    private String retcode;

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

    @ApiModelProperty(value = "操作人")
    @TableField("OPERATORID")
    private String operatorid;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATETIME")
    private Date createtime;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATETIME")
    private Date updatetime;

    @ApiModelProperty(value = "转出运营中心 [批量转移]")
    @TableField("OPCENTERUSERID")
    private Long opcenteruserid;

    @ApiModelProperty(value = "转出代理商 [批量转移]")
    @TableField("AGENTUSERID")
    private Long agentuserid;

    @ApiModelProperty(value = "转入运营中心 [批量转移]")
    @TableField("NEWOPCENTERUSERID")
    private Long newopcenteruserid;

    @ApiModelProperty(value = "转入代理商 [批量转移]")
    @TableField("NEWAGENTUSERID")
    private Long newagentuserid;

    @ApiModelProperty(value = "转移方式(3:子机构转移) 1:转下级 2:整体转移")
    @TableField("TRANSFERMODE")
    private Integer transfermode;


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

}
