package com.yc.ship.module.product.dal.dataobject.pricesinglesetting;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;

/**
 * 价格单人票设置 DO
 *
 * @author 管理员
 */
@TableName("product_price_single_setting")
@KeySequence("product_price_single_setting_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PriceSingleSettingDO extends TenantBaseDO {

    /**
     * ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 房型ID
     */
    private Long roomModelId;
    /**
     * 价格模板ID或者船票价格ID
     */
    private Long objectId;

    /**
     * 房型入住模式ID
     */
    private Long roomModelTypeId;
    /**
     * 成人占床
     */
    private BigDecimal adultTake;
    /**
     * 成人加床(套房)
     */
    private BigDecimal adultPlusSuite;
    /**
     * 成人加床(非套房)
     */
    private BigDecimal adultPlusNonSuite;
    /**
     * 成人加床固定费用
     */
    private BigDecimal adultPlusPrice;
    /**
     * 儿童不占床(非套房)
     */
    private BigDecimal childNonTakeNonSuite;
    /**
     * 儿童占床(非套房)
     */
    private BigDecimal childTakeNonSuite;
    /**
     * 儿童加床(非套房)
     */
    private BigDecimal childPlusNonSuite;
    /**
     * 儿童加床固定费用(非套房)
     */
    private BigDecimal childPlusNonSuitePrice;
    /**
     * 儿童不占床(套房)
     */
    private BigDecimal childNonTakeSuite;
    /**
     * 儿童占床(套房)
     */
    private BigDecimal childTakeSuite;
    /**
     * 儿童加床(套房)
     */
    private BigDecimal childPlusSuite;
    /**
     * 儿童加床固定费用(套房)
     */
    private BigDecimal childPlusSuitePrice;
    /**
     * 婴儿不占床(非套房)
     */
    private BigDecimal babyNonTakeNonSuite;
    /**
     * 婴儿占床(非套房)
     */
    private BigDecimal babyTakeNonSuite;
    /**
     * 婴儿加床(非套房)
     */
    private BigDecimal babyPlusNonSuite;
    /**
     * 婴儿加床固定费用(非套房)
     */
    private BigDecimal babyPlusNonSuitePrice;
    /**
     * 婴儿不占床(套房)
     */
    private BigDecimal babyNonTakeSuite;
    /**
     * 婴儿占床(套房)
     */
    private BigDecimal babyTakeSuite;
    /**
     * 婴儿加床(套房)
     */
    private BigDecimal babyPlusSuite;
    /**
     * 婴儿加床固定费用(套房)
     */
    private BigDecimal babyPlusSuitePrice;
    /**
     * 加床类型 0：固定金额 1：百分比
     */
    private Integer jctype;

    /**
     * 加系数
     */
    private BigDecimal addRate;

}