package com.wms_main.model.vo.wms;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms_main.model.po.TAppJobs;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class JobVo {
    /**
     * 任务名
     */
    @JsonProperty(value = "jobName")
    private String jobName;
    /**
     * 任务类class
     */
    @JsonProperty(value = "jobClass")
    private String jobClass;
    /**
     * cron表达式
     */
    @JsonProperty(value = "cronExpression")
    private String cronExpression;
    /**
     * 普通定时器---单位：毫秒。
     */
    @JsonProperty(value = "timer")
    private Integer timer;
    /**
     * timer类型
     * 1: 普通定时器
     * 2：cron
     */
    @JsonProperty(value = "timerType")
    private Integer timerType;
    /**
     * 任务状态
     * 1：启用
     * 0：未启用
     */
    @JsonProperty(value = "jobStatus")
    private Integer jobStatus;

    /**
     * 将po对象转换为vo对象
     * @param po po对象
     * @return vo
     */
    public static JobVo of(TAppJobs po) {
        if (po == null) {
            return new JobVo();
        }
        // 返回vo
        return new JobVo(
                po.getJobName(),
                po.getJobClass(),
                po.getCronExpression(),
                po.getTimer(),
                po.getTimerType(),
                po.getJobStatus()
        );
    }
}
