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

import com.yc.ship.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.yc.ship.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;


@Schema(description = "管理后台 - 产品通知规则分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ProductNoticeRulePageReqVO extends PageParam {

    @Schema(description = "是否预定后通知")
    private Integer isBookNotice;

    @Schema(description = "预定通知内容，也可是模版ID")
    private String bookNoticeContent;

    @Schema(description = "是否退款后通知")
    private Integer isRefundNotice;

    @Schema(description = "退款通知内容，也可是模版ID")
    private String refundNoticeContent;

    @Schema(description = "过期多少天通知 -1不通知")
    private Integer expireNoticeDay;

    @Schema(description = "过期通知内容")
    private String expireNoticeContent;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "预定通知类型", example = "2")
    private Integer bookNoticeType;

    @Schema(description = "退款通知类型", example = "2")
    private Integer refundNoticeType;

    @Schema(description = "过期通知类型", example = "2")
    private Integer expireNoticeType;

}