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

import com.thinkunion.park.service.common.constant.GroupAction;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.util.Date;

/**
 * @author zhouhanwei
 * @create 2024/10/22 9:50
 */
@Data
public class ResourceSubscribeSubmitReqDTO {

    @NotNull(groups = GroupAction.UpdateAction.class, message = "id不能为空")
    @Null(groups = GroupAction.InsertAction.class, message = "id必须为空")
    private Long id;
    /**
     * 项目id
     */
    @ApiModelProperty(name = "projectId", value = "项目id")
    @NotNull(message = "请选择项目")
    private Long projectId;
    /**
     * 1：会所资源
     */
    @ApiModelProperty(name = "resourceTypeId", value = "1：会所资源")
    @NotNull(message = "请选择资源类型")
    private Long resourceTypeId;
    /**
     * 资源标签
     */
    @ApiModelProperty(name = "resourceTag", value = "资源标签")
    @NotBlank(message = "请选择资源标签")
    private String resourceTag;
    /**
     * 资源id
     */
    @ApiModelProperty(name = "resourceId", value = "资源id")
    @NotNull(message = "请选择资源")
    private Long resourceId;
    /**
     * 使用用户名称
     */
    @ApiModelProperty(name = "useUserName", value = "使用用户名称")
    @NotBlank(message = "用户名称不能为空")
    private String useUserName;
    /**
     * 使用用户手机号
     */
    @ApiModelProperty(name = "userPhone", value = "使用用户手机号")
    @NotBlank(message = "用户手机号不能为空")
    private String userPhone;
    /**
     * 平台用户id,自主申请查看
     */
    @ApiModelProperty(name = "userDetailId", value = "平台用户id")
    private Long userDetailId;
    /**
     * 备注
     */
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;

    /**
     * 预定开始时间
     */
    @ApiModelProperty(name = "reserveStartTime", value = "预定开始时间")
    @NotNull(message = "预约开始时间")
    private Date reserveStartTime;
    /**
     * 预定结束时间
     */
    @ApiModelProperty(name = "reserveEndTime", value = "预定结束时间")
    @NotNull(message = "预约结束时间")
    private Date reserveEndTime;

}
