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

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

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

/**
 * 营销活动明细 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class CampaignDetailBaseVO {

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

    @Schema(description = "商品id", required = true, example = "1690")
    @NotNull(message = "商品id不能为空")
    private Long productId;

    @Schema(description = "规格id", required = true, example = "9358")
    @NotNull(message = "规格id不能为空")
    private Long skuId;

    @Schema(description = "活动价格", required = true, example = "25390")
    @NotNull(message = "活动价格不能为空")
    private BigDecimal price;

    @Schema(description = "折扣比例", required = true, example = "6397")
    @NotNull(message = "折扣比例不能为空")
    private BigDecimal discount;

    @Schema(description = "活动库存剩余数量", required = true)
    @NotNull(message = "活动库存剩余数量不能为空")
    private Integer stock;

    @Schema(description = "活动库存总数量", required = true)
    @NotNull(message = "活动库存总数量不能为空")
    private Integer total;

}
