package cn.stylefeng.team.portal.modular.front.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.util.Date;
import java.util.List;

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

    @NotNull(message = "主键id不能为空", groups = {edit.class, delete.class, detail.class})
    @ChineseDescription("主键id")
    private Long id;

    @ChineseDescription("日历标题")
    @NotBlank(message = "日历标题不能为空", groups = {add.class, edit.class})
    private String title;

    @ChineseDescription("日历描述")
    private String description;

    @ChineseDescription("日历记录的指定日期")
    @NotNull(message = "日历记录的指定日期不能为空", groups = {add.class, edit.class})
    private Date calendarDate;

    @ChineseDescription("开始时间，年月日时分秒")
    private Date startTime;

    @ChineseDescription("开始时间，年月日时分秒")
    private Date endTime;

    @ChineseDescription("紧急程度：10-普通，20-紧急")
    @NotNull(message = "紧急程度不能为空", groups = {add.class, edit.class})
    private Integer urgencyType;

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

    @NotNull(message = "年不能为空", groups = list.class)
    @ChineseDescription("搜索条件：年")
    private Integer year;

    @NotNull(message = "月不能为空", groups = list.class)
    @ChineseDescription("搜索条件：月")
    private Integer month;

}