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.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @Author 蔡文强
 * @Date 2023/11/7 10:56
 * @Description 新增预约DTO
 */
@Data
@ApiModel(value = "PropertyAppointHouseCreateAppointDTO对象", description = "新增预约DTO")
public class PropertyAppointHouseCreateAppointDTO {
    /**
     * 看房意向信息
     */
    @ApiModelProperty(name = "appointHouseIntention", value = "看房意向信息")
    PropertyAppointHouseIntention appointHouseIntention;
    /**
     * 预约看房登记信息
     */
    @ApiModelProperty(name = "appointHouseRegister", value = "预约看房登记信息")
    PropertyAppointHouseRegister appointHouseRegister;
    @Data
    public static class PropertyAppointHouseIntention {
        /**
         * 看房类型(1:个人看房 2:企业看房)
         */
        @ApiModelProperty(name = "houseType", value = "看房类型(1:个人看房 2:企业看房)")
        @NotNull(message = "看房类型不能为空")
        private Integer houseType;
        /**
         * 公司名称
         */
        @ApiModelProperty(name = "companyName", value = "公司名称")
        private String companyName;
        /**
         * 机构类型
         */
        @ApiModelProperty(name = "organType", value = "机构类型")
        private String organType;
        /**
         * 所属行业
         */
        @ApiModelProperty(name = "organIndustry", value = "所属行业")
        private String organIndustry;
        /**
         * 人员规模
         */
        @ApiModelProperty(name = "staffSize", value = "人员规模")
        private String staffSize;
        /**
         * 联系人
         */
        @ApiModelProperty(name = "linkMan", value = "联系人")
        @NotBlank(message = "联系人不能为空")
        private String linkMan;
        /**
         * 联系电话
         */
        @ApiModelProperty(name = "linkPhone", value = "联系电话")
        @NotBlank(message = "联系电话不能为空")
        private String linkPhone;
        /**
         * 园区ID
         */
        @ApiModelProperty(name = "parkId", value = "园区ID")
        @NotNull(message = "园区ID不能为空")
        private Long parkId;
        /**
         * 房源ID
         */
        @ApiModelProperty(name = "houseIds", value = "房源ID")
        @NotBlank(message = "房源ID不能为空")
        private String houseIds;
        /**
         * 房源名称
         */
        @ApiModelProperty(name = "houseNames", value = "房源名称")
        @NotBlank(message = "房源名称不能为空")
        private String houseNames;
        /**
         * 需求说明
         */
        @ApiModelProperty(name = "demandMsg", value = "需求说明")
        @NotBlank(message = "需求说明不能为空")
        private String demandMsg;
    }

    @Data
    public static class PropertyAppointHouseRegister {
        /**
         * 看房日期
         */
        @ApiModelProperty(name = "viewDate", value = "看房日期")
        @NotBlank(message = "看房日期不能为空")
        private String viewDate;
        /**
         * 看房时间
         */
        @ApiModelProperty(name = "viewTime", value = "看房时间")
        @NotBlank(message = "看房时间不能为空")
        private String viewTime;
        /**
         * 联系人
         */
        @ApiModelProperty(name = "linkMan", value = "联系人")
        @NotBlank(message = "联系人不能为空")
        private String linkMan;
        /**
         * 联系电话
         */
        @ApiModelProperty(name = "linkPhone", value = "联系电话")
        @NotBlank(message = "联系电话不能为空")
        private String linkPhone;
        /**
         * 预计看房人数
         */
        @ApiModelProperty(name = "viewPeopleCount", value = "预计看房人数")
        private Integer viewPeopleCount;
        /**
         * 预计到达时间
         */
        @ApiModelProperty(name = "arriveTime", value = "预计到达时间")
        private Date arriveTime;
        /**
         * 接待人员姓名
         */
        @ApiModelProperty(name = "receivePeopleName", value = "接待人员姓名")
        @NotBlank(message = "接待人员姓名不能为空")
        private String receivePeopleName;
        /**
         * 接待人员手机号
         */
        @ApiModelProperty(name = "receivePeoplePhone", value = "接待人员手机号")
        @NotBlank(message = "接待人员手机号不能为空")
        private String receivePeoplePhone;
        /**
         * 带看人员姓名
         */
        @ApiModelProperty(name = "takeLookPeopleName", value = "带看人员姓名")
        @NotBlank(message = "带看人员姓名不能为空")
        private String takeLookPeopleName;
        /**
         * 带看人员手机号
         */
        @ApiModelProperty(name = "takeLookPeoplePhone", value = "带看人员手机号")
        @NotBlank(message = "带看人员手机号不能为空")
        private String takeLookPeoplePhone;
        /**
         * 接待地址
         */
        @ApiModelProperty(name = "receiveAddress", value = "接待地址")
        @NotBlank(message = "接待地址不能为空")
        private String receiveAddress;
        /**
         * 备注信息
         */
        @ApiModelProperty(name = "remark", value = "备注信息")
        private String remark;
    }

}

