/*
 * Copyright (c) 2023 codvision.com All Rights Reserved.
 */

package com.codvision.auth.entity.vo;

import com.codvision.auth.entity.SysUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * <p>
 * 系统用户展示信息
 * </p>
 *
 * @author lingee
 * @since 2023-11-09
 */
@Data
@ApiModel(value = "SysUserVO", description = "系统用户展示信息")
public class SysUserVO extends SysUser {

    private static final long serialVersionUID = 1L;

    private String token;

    @ApiModelProperty("当前组织OID")
    private Integer activeOid;

    @ApiModelProperty("当前组织父级OID")
    private Integer activePoid;

    @ApiModelProperty("当前组织名称")
    private String activeOrgName;

    @ApiModelProperty("当前组织路径")
    private String activeOrgPath;

    @ApiModelProperty("当前角色ID")
    private Integer activeRoleId;

    @ApiModelProperty("当前角色名称")
    private String activeRoleName;

    @ApiModelProperty("当前角色编码")
    private String activeRoleCode;

    @ApiModelProperty("关联信息（组织与角色）")
    private List<UserAssociatedInfoVO> associatedInfos;

    @ApiModelProperty("是否已禁用")
    private Boolean isForbidden;

    @ApiModelProperty(value = "状态：0未读，1已读")
    private Integer readStatus;

    @ApiModelProperty(value = "通知消息是否撤回：0否，1是")
    private Integer flagDel;

    @ApiModelProperty("组织角色")
    private UserOrgRoleVO activeOrgRole;

    @ApiModelProperty("组织角色列表")
    private List<UserOrgRoleVO> orgRoles;
}
