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

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

/**
 * <p>
 * 用户登录流水 - 导历史
 * </p>
 *
 * @author XKF
 * @since 2024-04-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("USERLOGINFLOW")
@ApiModel(value="Userloginflow对象", description="用户登录流水 - 导历史")
@AllArgsConstructor
@NoArgsConstructor
@Builder
@KeySequence(value = "SEQ_USERLOGINFLOW")
public class Userloginflow extends Model<Userloginflow> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "登录流水号(AutoID)")
    @TableId(value = "LOGINFLOWNO", type=IdType.INPUT)
    private Long loginflowno;

    @ApiModelProperty(value = "登陆账号")
    @TableField("LOGINID")
    private Long loginid;

    @ApiModelProperty(value = "功能号")
    @TableField("FUNCODE")
    private Long funcode;

    @ApiModelProperty(value = "客户端类型 -  0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号  9:报价终端(中江)")
    @TableField("CLIENTTYPE")
    private Integer clienttype;

    @ApiModelProperty(value = "软件版本")
    @TableField("SOFTVERSION")
    private String softversion;

    @ApiModelProperty(value = "操作时间")
    @TableField("OPERATETIME")
    private Date operatetime;

    @ApiModelProperty(value = "登录IP地址")
    @TableField("LOGINIP")
    private String loginip;

    @ApiModelProperty(value = "登录端口")
    @TableField("LOGINPORT")
    private Long loginport;

    @ApiModelProperty(value = "登录设备信息")
    @TableField("DEVICEID")
    private String deviceid;

    @ApiModelProperty(value = "登录软件环境信息")
    @TableField("ENVIRONMENTINFO")
    private String environmentinfo;

    @ApiModelProperty(value = "登录结果-0:成功、非0均为失败")
    @TableField("LOGINRETCODE")
    private Integer loginretcode;

    @ApiModelProperty(value = "操作类型-1:人工操作、2:系统操作")
    @TableField("OPERATETYPE")
    private Integer operatetype;

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

    @ApiModelProperty(value = "登录类型 - 1:账号登录 2:手机号登录 3:三方登录")
    @TableField("LOGINTYPE")
    private Integer logintype;

    @ApiModelProperty(value = "三方认证ID")
    @TableField("AUTHID")
    private String authid;

    @ApiModelProperty(value = "三方认证类型 - 1:微信 2:支付宝")
    @TableField("AUTHTYPE")
    private Integer authtype;


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

}
