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;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 机构角色表
 * </p>
 *
 * @author XKF
 * @since 2024-04-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("AREAROLE")
@ApiModel(value="Arearole对象", description="机构角色表")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Arearole extends Model<Arearole> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "机构用户ID 其他做市关系，都设置为 1 ")
    @TableId(value = "USERID")
    private Long userid;

    @ApiModelProperty(value = "角色类型 -  1:交易所 2:运营机构 3:营销中心 4:仓库机构 5:三方服务机构 6:自营会员 7:经纪会员 8:做市会员 9:产业会员 10:金融机构 11:商城店铺 12:子机构 13:报价商 14:积分服务商 15:供货商 16:圈内会员 17:物流机构 18:报价配置机构 19:场外期权做市商 20:组织机构 21:顶级机构 22:业务员 23:跟单员 24:交易员 25:客户      97:客户经理 98:代理 99:门店")
    @TableField("ROLETYPE")
    private Integer roletype;

    @ApiModelProperty(value = "默认交易资金账号ID(做市会员被动接单使用、商城店铺默认资金账 号、圈内会员默认资金账号)  - 作废， 使用UserReckonAccount")
    @TableField("TRADEACCOUNTID")
    private Long tradeaccountid;

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

    @ApiModelProperty(value = "创建人ID")
    @TableField("CREATORID")
    private Long creatorid;

    @ApiModelProperty(value = "修改时间")
    @TableField("MODIFYTIME")
    private Date modifytime;

    @ApiModelProperty(value = "修改人ID")
    @TableField("MODIFIERID")
    private Long modifierid;

    @ApiModelProperty(value = "商城店铺登陆密码(商城店铺角色使用)")
    @TableField("SHOPPASSWORD")
    private String shoppassword;

    @ApiModelProperty(value = "是否返还积分 [经纪会员-辽东湾] - 0:不返还 1:返还")
    @TableField("ISRETURNSCORE")
    private Integer isreturnscore;

    @ApiModelProperty(value = "物流地址(物流机构)")
    @TableField("TRANSURL")
    private String transurl;

    @ApiModelProperty(value = "外部账户[场外期权做市商]")
    @TableField("OUTUSERID")
    private String outuserid;

    @ApiModelProperty(value = "上级组织机构(组织机构)")
    @TableField("PARENTUSERID")
    private Long parentuserid;

    @ApiModelProperty(value = "顶级组织机构用户ID(组织机构)")
    @TableField("ROOTUSERID")
    private Long rootuserid;

    @ApiModelProperty(value = "组织机构层级路径(逗号分隔,首尾加逗号)")
    @TableField("SUBLEVELPATH")
    private String sublevelpath;

    @ApiModelProperty(value = "组织机构类型 1:机构分支节点 2:交易员叶子节点 3:部门分支节点")
    @TableField("ORGTYPE")
    private Integer orgtype;

    @ApiModelProperty(value = "子机构类型(千海金) - 0:机构 1:代理(千海金) 2:门店(千海金) ")
    @TableField("SUBORGTYPE")
    private Integer suborgtype;

    @ApiModelProperty(value = "所属机构(组织机构)( OrgType = 1时为自己， = 2\3时取上级机构的所属机构)")
    @TableField("FROMUSERID")
    private Long fromuserid;


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