package com.tashow.cloud.product.vo.prodadditionalfeedates;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 特殊日期附加费用规则 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ProdAdditionalFeeDatesRespVO {

    @Schema(description = "特殊日期规则的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "1445")
    @ExcelProperty("特殊日期规则的唯一标识符")
    private Long id;

    @Schema(description = "商品id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24324")
    @ExcelProperty("商品id")
    private Long prodId;

    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @ExcelProperty("名称")
    private String name;

    @Schema(description = "日期类型0：'自定义日期范围':1：'指定日期':2：'法定节假日',3：'固定休息日'", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("日期类型0：'自定义日期范围':1：'指定日期':2：'法定节假日',3：'固定休息日'")
    private Boolean dateType;

    @Schema(description = "自定义日期时间段（JSON格式存储）")
    @ExcelProperty("自定义日期时间段（JSON格式存储）")
    private String customTimeSlots;

    @Schema(description = "指定日期（JSON格式存储）")
    @ExcelProperty("指定日期（JSON格式存储）")
    private String specificDates;

    @Schema(description = "收费方式", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("收费方式")
    private String chargeMode;

    @Schema(description = "价格或上浮百分比", example = "17305")
    @ExcelProperty("价格或上浮百分比")
    private BigDecimal price;

    @Schema(description = "是否启用该规则", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否启用该规则")
    private Boolean isEnabled;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "更新时间")
    @ExcelProperty("更新时间")
    private LocalDateTime updatedAt;

}