
package com.tmerclub.cloud.api.auth.bo;

import com.tmerclub.cloud.common.constant.SysTypeEnum;
import lombok.Data;

import java.io.Serializable;

/**
 * @author xxw
 * @version 1.0
 * @description:保存在token信息里面的用户信息
 * @since 2024/1/3 10:09
 */
@Data
public class UidInfoBO implements Serializable {

    /**
     * 系统类型
     */
    private Integer sysType;

    /**
     * SysTypeEnum = 0时，表示c端用户的用户id
     * SysTypeEnum = 1时，表示商家的员工id
     * SysTypeEnum = 2时，表示平台的员工id
     * SysTypeEnum = 3时，表示自供应商的的员工id
     * SysTypeEnum = 4时，表示自提点的id
     */
    private Long userId;

    /**
     * 系统账号全局唯一的id,
     */
    private Long accountUid;


    /**
     * 用户名称
     */
    private String username;


    /**
     * 店铺/供应商id，仅当SysTypeEnum != 0时有用
     * SysTypeEnum=2时shopId固定为0
     */
    private Long tenantId;

    /**
     * 是否是管理员，仅当SysTypeEnum != 0时有用
     */
    private Integer isAdmin;

    /**
     * 店铺/供应商是否已经入驻 0: 未入驻，1：已入驻
     */
    private Integer isPassShop;


    public UidInfoBO() {
    }

    public UidInfoBO(Integer sysType, Long accountUid, Long userId) {
        this.sysType = sysType;
        this.accountUid = accountUid;
        this.userId = userId;
    }

    public UidInfoBO(Integer sysType, Long accountUid, Long userId, Long tenantId) {
        this.sysType = sysType;
        this.accountUid = accountUid;
        this.userId = userId;
        this.tenantId = tenantId;
    }

}
