package com.ruoyi.rocketmq.domain.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.Instant;
import java.util.List;

@Data
public class ScriptPolicyVo {
    /**
     * 策略名称
     */
    private String policyName;
    /**
     * 文件
     */
    private List<ScriptFile> files;

    // 目标路径地址
    private String filePath;

    // 命令
    private List<String> commands;

    // 执行方式：0、立即执行；1、定时执行；
    private int method;

    // 执行方式为1、定时执行时必传-指定时间
    private long policyTime;
    // 时间戳
    private long timestamp = Instant.now().getEpochSecond();
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class ScriptFile{

        //文件类型：0、平台文件地址；1、外网HTTP（S）
        private int fileType;

        //文件类型为1、外网HTTP（S）时必传
        private String fileUrl;

        //文件类型为0、平台文件地址时必传（文件名）
        private String fileName;

        //文件类型为0、平台文件地址时必传（文件流）
        private String fileData;

    }
}
