package com.tourism.webadmin.back.vo;

import com.tourism.common.core.base.vo.BaseVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

/**
 * 旅游项目日历价格VO视图对象。
 *
 * @author 吃饭睡觉
 * @date 2024-09-06
 */
@Schema(description = "旅游项目日历价格VO视图对象")
@Data
@EqualsAndHashCode(callSuper = true)
public class TourismDatePriceVo extends BaseVo {

    /**
     * id。
     */
    @Schema(description = "id")
    private Long id;

    /**
     * 旅游项目信息。
     */
    @Schema(description = "旅游项目信息")
    private Long projectId;

    /**
     * 出发日期。
     */
    @Schema(description = "出发日期")
    private Date departureDate;

    /**
     * 成人价格。
     */
    @Schema(description = "成人价格")
    private BigDecimal adultPrice;

    /**
     * 儿童价格。
     */
    @Schema(description = "儿童价格")
    private BigDecimal childrenPrice;

    /**
     * projectId 的一对一关联数据对象，数据对应类型为TourismProjectVo。
     */
    @Schema(description = "projectId 的一对一关联数据对象，数据对应类型为TourismProjectVo")
    private Map<String, Object> tourismProject;

    /**
     * projectId 字典关联数据。
     */
    @Schema(description = "projectId 字典关联数据")
    private Map<String, Object> projectIdDictMap;
}
