package co.yixiang.yshop.module.product.controller.admin.campaigninfo.vo;

import co.yixiang.yshop.module.product.controller.admin.campaigndetail.vo.CampaignDetailCreateReqVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 活动信息更新 Request VO")
@Data
@ToString(callSuper = true)
public class CampaignInfoUpdateReqVO {

    @Schema(description = "营销活动id", required = true, example = "8152")
    @NotNull(message = "营销活动id不能为空")
    private Long id;

    @Schema(description = "活动名称", required = true, example = "赵六")
    @NotNull(message = "活动名称不能为空")
    private String name;

    @Schema(description = "活动类型：1、拼团，2、秒杀，3、限时折扣", required = true, example = "2")
    @NotNull(message = "活动类型不能为空")
    private Integer type;

    @Schema(description = "备注", example = "你猜")
    private String remark;

    @Schema(description = "活动开始时间", required = true)
    @NotNull(message = "活动开始时间不能为空")
    private LocalDateTime startTime;

    @Schema(description = "活动结束时间", required = true)
    @NotNull(message = "活动结束时间不能为空")
    private LocalDateTime endTime;

    @Schema(description = "商品限购 1-不限购 2-限购", required = true)
    @NotNull(message = "商品限购不能为空")
    private Integer ifLimit;

    @Schema(description = "限购几件/人")
    private Integer limitNumber;

    @Schema(description = "活动预热   1-停用  2-启用", required = true)
    @NotNull(message = "活动预热不能为空")
    private Integer ifEnable;

    @Schema(description = "预热几分钟前")
    private Integer enableTime;

    @Schema(description = "成团人数")
    private Integer person;

    @Schema(description = "成团有效时间几（分钟）")
    private Integer effectiveTime;

    @Schema(description = "是否虚拟成团:0-否，1-是", required = true)
    private Integer isVirtually;

    @Schema(description = "活动商品数据")
    List<CampaignDetailCreateReqVO> details;
}
