package cn.iocoder.yudao.module.hrm.controller.admin.attendance.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.time.LocalDate; import java.util.List; /** * 管理后台 - 按日期区间更新节假日配置 Request VO * * 列表按连续区间合并展示,编辑时把该区间内的全部记录 ID 一起提交, * 后端先删除旧记录再按新的起止日期重新写入,避免只改到某一天导致区间断裂。 */ @Schema(description = "管理后台 - 按日期区间更新节假日配置 Request VO") @Data public class HrmAttendanceHolidayRangeUpdateReqVO { @Schema(description = "区间内原有记录ID列表", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "区间记录ID不能为空") private List ids; @Schema(description = "节假日名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "国庆节") @NotBlank(message = "节假日名称不能为空") private String name; @Schema(description = "开始日期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-10-01") @NotNull(message = "开始日期不能为空") private LocalDate startDate; @Schema(description = "结束日期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-10-03") @NotNull(message = "结束日期不能为空") private LocalDate endDate; @Schema(description = "类型:1-休息日,2-工作日", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "类型不能为空") private Integer type; @Schema(description = "是否法定节假日:false-否,true-是", example = "true") private Boolean isLegal; @Schema(description = "备注", example = "国庆节法定假期") private String remark; }