package com.yuchen.saas.park.api.dto.property;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @Author 蔡文强
 * @Date 2023/11/24 10:56
 * @Description 房源树列表查询参数
 */
@Data
@ApiModel(value = "PropertyBindHouseTreeQueryDto对象", description = "房源树列表查询参数")
public class PropertyBindHouseTreeQueryDto {
    /**
     * 查询类型(1:批量添加查询 2:批量修改或者批量删除)
     *
     */
    @ApiModelProperty(name = "selectType", value = "查询类型(1:批量添加查询 2:批量修改或者批量删除)")
    @NotNull(message = "查询类型不能为空")
    private Integer selectType;
    /**
     * 园区ID
     */
    @ApiModelProperty(name = "parkId", value = "园区ID")
    @NotNull(message = "园区ID不能为空")
    private Long parkId;
    /**
     * 楼栋ID列表
     */
    @ApiModelProperty(name = "buildingIdList", value = "楼栋ID列表")
    private List<Long> buildingIdList;
    /**
     * 开始楼层
     */
    @ApiModelProperty(value = "开始楼层")
    private Integer startFloorNum;
    /**
     * 结束楼层
     */
    @ApiModelProperty(value = "结束楼层")
    private Integer endFloorNum;
    /**
     * 房源代码列表
     */
    @ApiModelProperty(name = "houseIdList", value = "房源代码列表")
    private List<Long> houseIdList;
    /**
     * 房源类型：1-底层、2-中层、3-中高层、4-高层
     *
     */
    @ApiModelProperty(name = "heightType", value = "房源类型：1-底层、2-中层、3-中高层、4-高层")
    private Integer heightType;
    /**
     * 房间状态：1-未售、2-已售、3-交房、4-接房、5-空置、6-装修、7-出租、8-预订、9-入驻、10-自用
     */
    @ApiModelProperty(name = "houseStatusList", value = "房间状态：1-未售、2-已售、3-交房、4-接房、5-空置、6-装修、7-出租、8-预订、9-入驻、10-自用")
    private List<Integer> houseStatusList;
    /**
     * 收费项目ID列表
     */
    @ApiModelProperty(name = "feeItemIdList", value = "收费项目ID列表")
    private List<Long> feeItemIdList;
    /**
     * 收费标准ID列表
     */
    @ApiModelProperty(name = "feeStandardIdList", value = "收费标准ID列表")
    private List<Long> feeStandardIdList;
    /**
     * 开始日期
     */
    @ApiModelProperty(name = "startDateOne", value = "开始日期")
    private Date startDateOne;
    /**
     * 开始日期
     */
    @ApiModelProperty(name = "startDateTwo", value = "开始日期")
    private Date startDateTwo;
    /**
     * 结束日期
     */
    @ApiModelProperty(name = "endDateOne", value = "结束日期")
    private Date endDateOne;
    /**
     * 结束日期
     */
    @ApiModelProperty(name = "endDateTwo", value = "结束日期")
    private Date endDateTwo;

}
