package cn.stylefeng.team.portal.modular.management.pojo.request;

import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
public class PortalSlideshowRequest extends BaseRequest {

    @NotNull(message = "轮播图id不能为空", groups = {edit.class, delete.class})
    @ChineseDescription("轮播图id")
    private Long slideshowId;

    @ChineseDescription("门户设计id")
    @NotNull(message = "门户设计id不能为空", groups = {add.class, edit.class, page.class})
    private Long designId;

    @ChineseDescription("轮播图标题")
    @NotBlank(message = "门户设计id不能为空", groups = {add.class, edit.class})
    private String slideshowTitle;

    @ChineseDescription("轮播图文件id")
    @NotNull(message = "轮播图文件id不能为空", groups = {add.class, edit.class})
    private Long slideshowCoverFileId;

    @ChineseDescription("轮播图跳转类型：5-无跳转，10-跳转到新闻，20-跳转到指定URL")
    @NotNull(message = "轮播图跳转类型不能为空", groups = {add.class, edit.class})
    private Integer slideshowRedirectType;

    @ChineseDescription("轮播图关联的新闻文章id")
    private Long slideshowNewsId;

    @ChineseDescription("轮播图外部URL地址")
    private String slideshowRedirectUrl;

    @ChineseDescription("轮播图排序")
    private BigDecimal fldSort;

    @NotNull(message = "批量删除id集合不能为空", groups = batchDelete.class)
    @ChineseDescription("批量删除用的id集合")
    private List<Long> batchDeleteIdList;

}