package com.erp.permission.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;

/**
 * 角色数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RoleDTO {
    
    /**
     * 角色ID
     */
    private Long id;
    
    /**
     * 角色名称
     */
    private String name;
    
    /**
     * 角色标识
     */
    private String code;
    
    /**
     * 角色级别
     */
    private Integer level;
    
    /**
     * 角色描述
     */
    private String description;
    
    /**
     * 用户数量
     */
    private Long userCount;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 权限标识列表
     */
    private List<String> permissions;
    
    /**
     * 角色详情（包含权限对象）
     */
    private Set<PermissionDTO> permissionSet;
}
