/** * Copyright (c) 2018 人人开源 All rights reserved. * * https://www.renren.io * * 版权所有,侵权必究! */ package com.iailab.module.job.dto; import com.fasterxml.jackson.annotation.JsonProperty; import com.iailab.framework.common.validation.group.AddGroup; import com.iailab.framework.common.validation.group.DefaultGroup; import com.iailab.framework.common.validation.group.UpdateGroup; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Null; import java.io.Serializable; import java.util.Date; /** * 定时任务 * * @author Mark sunlightcs@gmail.com * @since 1.0.0 */ @Data @Schema(name = "定时任务") public class ScheduleJobDTO implements Serializable { private static final long serialVersionUID = 1L; @Schema(name = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private Long id; @Schema(name = "spring bean名称") @NotBlank(message = "{schedule.bean.require}", groups = DefaultGroup.class) private String beanName; @Schema(name = "参数") private String params; @Schema(name = "cron表达式") @NotBlank(message = "{schedule.cron.require}", groups = DefaultGroup.class) private String cronExpression; @Schema(name = "任务状态 0:暂停 1:正常") // @Range(min=0, max=1, message = "{schedule.status.range}", groups = DefaultGroup.class) private Integer status; @Schema(name = "备注") private String remark; @Schema(name = "创建时间") @JsonProperty(access = JsonProperty.Access.READ_ONLY) private Date createDate; }