package cn.iocoder.yudao.module.system.controller.admin.biz.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Schema(description = "管理后台 - 楼栋楼层房间树 Response VO")
@Data
public class BuildFloorTreeRespVO implements Serializable {

    @Schema(description = "楼栋ID", example = "1")
    private Long buildingId;

    @Schema(description = "楼栋名称", example = "A栋")
    private String buildingName;

    @Schema(description = "楼层列表")
    private List<FloorVO> floorList;

    @Data
    public static class FloorVO implements Serializable {

        @Schema(description = "楼层ID", example = "11")
        private Long floorId;

        @Schema(description = "楼层名称", example = "6层")
        private String floorName;

        @Schema(description = "房间列表")
        private List<RoomVO> roomList;
    }

    @Data
    public static class RoomVO implements Serializable {

        @Schema(description = "房间ID", example = "101")
        private Long roomId;

        @Schema(description = "房间名称", example = "601")
        private String roomName;

        @Schema(description = "是否完成", example = "false")
        private Boolean isFinish;

        @Schema(description = "床位列表")
        private List<BedVO> bedList;
    }

    @Data
    public static class BedVO implements Serializable {

        @Schema(description = "床位id", example = "101")
        private Long bedId;

        @Schema(description = "床位名称", example = "601")
        private String bedName;

        @Schema(description = "长者id", example = "101")
        private Long elderId;

        @Schema(description = "长者名称", example = "601")
        private String elderName;

    }
}

