package com.yc.ship.module.product.controller.admin.voyagestockdistribute.vo;

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

import java.math.BigDecimal;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 航次库存分配 Response VO")
@Data
@ExcelIgnoreUnannotated
public class VoyageStockDistributeRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13019")
    @ExcelProperty("ID")
    private Long id;
    /**
     * 分销商类型
     */
    @Schema(description = "分销商类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("分销商类型")
    private Integer distributorType;
    private String distributorTypeName;

    @Schema(description = "分销商ID", example = "2991")
    @ExcelProperty("分销商ID")
    private Long distributorId;

    @Schema(description = "分销商名称", example = "王五")
    @ExcelProperty("分销商名称")
    private String distributorName;

    @Schema(description = "门店ID", example = "5290")
    @ExcelProperty("门店ID")
    private Long storeId;

    @Schema(description = "门店名称", example = "王五")
    @ExcelProperty("门店名称")
    private String storeName;

    @Schema(description = "游轮ID", example = "25510")
    @ExcelProperty("游轮ID")
    private Long shipId;

    @Schema(description = "航次ID", example = "6756")
    @ExcelProperty("航次ID")
    private Long voyageId;

    @Schema(description = "房型ID", example = "30594")
    @ExcelProperty("房型ID")
    private Long roomModelId;
    @Schema(description = "房型名称", example = "王五")
    @ExcelProperty("房型名称")
    private String roomModelName;

    @Schema(description = "楼层号")
    @ExcelProperty("楼层号")
    private Integer floor;

    @Schema(description = "分配房间数")
    @ExcelProperty("分配房间数")
    private BigDecimal num;

    /**
     * 剩余房间数
     */
    @Schema(description = "剩余房间数")
    private BigDecimal surplusNum;

    /**
     * 预订房间数
     */
    @Schema(description = "预订房间数")
    private BigDecimal bookNum;

    /**
     * 分配的房间号
     */
    @Schema(description = "分配的房间号", example = "1,2,3")
    private List<Integer> roomNums;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}