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

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.mp.base.BaseEntity;

import java.util.Date;

/**
 * 资源预定表
 *
 * @author zhouhanwei
 * @since 2024-10-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("saas_park_resource_subscribe_info")
@ApiModel(value="SaasParkResourceSubscribeInfo对象", description="资源预定表")
public class SaasParkResourceSubscribeInfo extends BaseEntity {

    /**
     * 客户id
     */
    @ApiModelProperty(name = "customerId", value = "客户id")
    private Long customerId;
    /**
     * 项目id
     */
    @ApiModelProperty(name = "projectId", value = "项目id")
    private Long projectId;
    /**
     * 1：会所资源
     */
    @ApiModelProperty(name = "resourceTypeId", value = "1：会所资源")
    private Long resourceTypeId;
    /**
     * 资源标签
     */
    @ApiModelProperty(name = "resourceTag", value = "资源标签")
    private String resourceTag;
    /**
     * 资源id
     */
    @ApiModelProperty(name = "resourceId", value = "资源id")
    private Long resourceId;
    /**
     * 使用用户名称
     */
    @ApiModelProperty(name = "useUserName", value = "使用用户名称")
    private String useUserName;
    /**
     * 使用用户手机号
     */
    @ApiModelProperty(name = "userPhone", value = "使用用户手机号")
    private String userPhone;
    /**
     * 平台用户id,自主申请查看
     */
    @ApiModelProperty(name = "userDetailId", value = "平台用户id")
    private Long userDetailId;
    /**
     * 使用状态（0：待使用，1：使用中，2：已失效，3：已取消）
     */
    @ApiModelProperty(name = "useState", value = "使用状态（0：待使用，1：使用中，2：已失效，3：已取消）")
    private String useState;
    /**
     * 预定状态（0：待支付，1：预定成功）
     */
    private String subscribeState;
    /**
     * 备注
     */
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
    /**
     * 预定开始时间
     */
    @ApiModelProperty(name = "reserveStartTime", value = "预定开始时间")
    private Date reserveStartTime;
    /**
     * 预定结束时间
     */
    @ApiModelProperty(name = "reserveEndTime", value = "预定结束时间")
    private Date reserveEndTime;
    /**
     * 时间内容对象
     */
    @ApiModelProperty(name = "reserveTimeJson", value = "时间内容对象")
    private String reserveTimeJson;
    /**
     * 收费方式（1：收费，2：免费）
     */
    @ApiModelProperty(name = "chargeMode", value = "收费方式（1：收费，2：免费）")
    private String chargeMode;
    /**
     * 预定类型（1：按时，2：按天）
     */
    @ApiModelProperty(name = "subscribeType", value = "预定类型（1：按时，2：按天）")
    private String subscribeType;
    /**
     * 取消类型（1：用户取消，2：管理员取消）
     */
    private String cancelType;
    /**
     * 取消原因
     */
    private String cancelReason;
    /**
     * 取消人
     */
    private Long cancellerUserId;
}
