package com.yc.ship.module.product.controller.admin.productSpu.baseRuleVO;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 产品基础规则新增/修改 Request VO")
@Data
public class ProductBasicRuleSaveReqVO {

    @Schema(description = "主键", example = "32528")
    private Long id;

    @Schema(description = "是否需要出行日期 0不需要 1需要")
    @NotNull(message = "是否需要出行日期不能为空")
    private Integer needPlayDate;

    @Schema(description = "有效期类型：1出行日期当天 2下单后X天内 3出行日期前后X天内 4出行日期至指定日期", example = "1")
    @NotNull(message = "有效期类型不能为空")
    private Integer validityType;

    @Schema(description = "有效期天数（类型中的X）")
    private Integer validityNum;

    @Schema(description = "有效期类型中的指定日期")
    private LocalDateTime validityDate;

    @Schema(description = "销售开始日期")
    private LocalDate saleStartDate;

    @Schema(description = "销售结束日期")
    private LocalDate saleEndDate;

    @Schema(description = "检票开始日期")
    private LocalDate checkStartDate;

    @Schema(description = "检票结束日期")
    private LocalDate checkEndDate;

    @Schema(description = "销售开始时间")
    private String saleStartTime;

    @Schema(description = "销售结束时间")
    private String saleEndTime;

    @Schema(description = "检票开始时间")
    private String checkStartTime;

    @Schema(description = "检票结束时间")
    private String checkEndTime;

    @Schema(description = "库存数 不填不限制")
    private Integer stock;

}