package com.yc.ship.module.miniapplet.controller.admin.advert.vo;

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

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

@Schema(description = "管理后台 - 广告管理新增/修改 Request VO")
@Data
public class AdvertSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "16726")
    private Long id;

    @Schema(description = "广告位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25367")
    @NotNull(message = "广告位id不能为空")
    private Long adsenseId;

    @Schema(description = "排序号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "排序号不能为空")
    private Integer sort;

    @Schema(description = "标题")
    private String title;

    @Schema(description = "副标题")
    private String subTitle;

    @Schema(description = "上传图片地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "上传图片地址不能为空")
    private String advertUrl;

    @Schema(description = "链接类型 0.外部链接 1.产品 2.子产品", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "链接类型不能为空")
    private Integer linkType;

    @Schema(description = "跳转地址", example = "https://www.iocoder.cn")
    private String linkUrl;

    @Schema(description = "是否投放 Ticket_Yes_No")
    private Integer isDisplay;

    @Schema(description = "有效期类型：0 永久，1限时", example = "2")
    private Integer validType;

    @Schema(description = "广告有效开始日期")
    private LocalDateTime staDate;

    @Schema(description = "广告有效结束日期")
    private LocalDateTime endDate;

}
