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

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 产品销售规则 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ProductSaleRuleRespVO {

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

    @Schema(description = "主键同产品ID", example = "30133")
    @ExcelProperty("主键同产品ID")
    private Long id;

    @Schema(description = "需提前几小时预购")
    @ExcelProperty("需提前几小时预购")
    private Integer prebuyLimitDay;

    @Schema(description = "需提前几小时预购")
    @ExcelProperty("需提前几小时预购")
    private Integer prebuyLimitHour;

    @Schema(description = "预售天数: 默认15天,最大90天")
    @ExcelProperty("预售天数")
    private Integer presaleLimitDay;

    @Schema(description = "一票多人人数（最小值1）")
    @ExcelProperty("一票多人人数（最小值1）")
    private Integer oneLimitNum;

    @Schema(description = "下单当前产品最小票数，不填不限制")
    @ExcelProperty("下单当前产品最小票数，不填不限制")
    private Integer minNum;

    @Schema(description = "下单当前产品最大票数，不填不限制")
    @ExcelProperty("下单当前产品最大票数，不填不限制")
    private Integer maxNum;

    @Schema(description = "是否实名", example = "1")
    @ExcelProperty("是否实名")
    private Integer isLimitType;

    @Schema(description = "实名制方式 0身份证 1护照 2人像 3社保卡")
    @ExcelProperty("实名制方式")
    private String limitCertificate;

    @Schema(description = "是否需要游客姓名", example = "李四")
    @ExcelProperty("是否需要游客姓名")
    private Integer needVisitorName;

    @Schema(description = "是否需要游客手机号")
    @ExcelProperty("是否需要游客手机号")
    private Integer needVisitorPhone;

    @Schema(description = "是否需要订单联系人")
    @ExcelProperty("是否需要订单联系人")
    private Integer needContact;

    @Schema(description = "允许购买区域：多个区域以,分隔")
    @ExcelProperty("允许购买区域")
    private String allowArea;

    @Schema(description = "允许购买地址：多个地址以,分隔")
    @ExcelProperty("允许购买地址")
    private String allowAddr;

    @Schema(description = "限制购买区域：多个区域以,分隔")
    @ExcelProperty("限制购买区域")
    private String limitArea;

    @Schema(description = "限制购买地址：多个地址以,分隔")
    @ExcelProperty("限制购买地址")
    private String limitAddr;

    @Schema(description = "年龄限制")
    @ExcelProperty("年龄限制")
    private String limitAge;

    @Schema(description = "年龄限制 0男士可买 1女生可买")
    @ExcelProperty("年龄限制")
    private String limitSex;

    @Schema(description = "能否重复购买:0不可以，1可以")
    @ExcelProperty("能否重复购买")
    private Integer canRepeatBuy;

    @Schema(description = "生日票验证 0不验证 1按日验证 2按月验证", example = "1")
    @ExcelProperty("生日票验证")
    private Integer birthdayVerifyType;

    @Schema(description = "是否需要激活")
    @ExcelProperty("是否需要激活")
    private Integer needActivate;

    @Schema(description = "激活方式 1下单即激活 2下单后几天内激活", example = "1")
    @ExcelProperty("激活方式")
    private Integer activateType;

    @Schema(description = "激活有效期 下单后几天内激活 不填不限制")
    @ExcelProperty("激活有效期")
    private Integer activateDayNum;

    @Schema(description = "订单是否需要二次确认 0否 1是")
    private Integer needConfirm;
}