package com.sandu.ximon.admin.vo;
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.sandu.ximon.admin.dto.BroadcastTaskType;
|
import com.sandu.ximon.admin.param.IPTaskParam;
|
import com.sandu.ximon.admin.param.IpVolumeMissionParam;
|
import lombok.Data;
|
|
import java.math.BigInteger;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Data
|
public class TaskVO {
|
|
private static final BigInteger systemReservation = BigInteger.valueOf(4294967295L);
|
//private static final BigInteger startTime = BigInteger.valueOf(1604851200L);
|
|
|
public static TaskVO generateTask(
|
IpVolumeMissionParam param
|
|
) {
|
TaskVO taskVO = new TaskVO();
|
taskVO.setUser(1);
|
taskVO.setId(0); // 任务唯一标识(>=1,添加任务时为 0)
|
taskVO.setEn(1); // 任务是否可用(开启 1,关闭 0)
|
taskVO.setExe(1); // 任务运行状态(运行中 1,空闲 0)
|
taskVO.setName(param.getMissionName()); // 任务名称
|
taskVO.setMode(0); // 任务广播方式(单播为 0,组播为 1)
|
taskVO.setDur(systemReservation); // 系统保留
|
taskVO.setPower(1); // 预开功放时间(秒)
|
taskVO.setPn(99); // 指定播放次数(默认为 1 次)
|
taskVO.setLv(10); // 任务优先级别(11-100),数值越小,优先级别 越 大。
|
taskVO.setBtime(systemReservation); // 系统保留
|
taskVO.setRule(1); // 任务执行规则(每天为 0,每周为 1,手动为 2)
|
taskVO.setBdate(param.getOnDate()); // 任务开始日期,一般为任务创建日期
|
taskVO.setEdate(param.getOffDate()); // 任务结束日期,一直有效为-1
|
taskVO.setWeek(0); // 每周执行规则,rule 为 1 时,有效
|
taskVO.setType(BroadcastTaskType.TIMED_TASK.getType()); //任务类型,定时任务为 1,采集任务为 2,实时音 频任务为 26,实时喊话任务为 27
|
taskVO.setSchemeID(1); // 任务方案 ID
|
taskVO.setEi(0); //
|
taskVO.setEchannel(0);
|
taskVO.setPrule(0);
|
taskVO.setSample(0); // 任务音频源类型为采集时,指定采集质量(8000、 16000、32000)
|
taskVO.setVoice(0);
|
taskVO.setInstime(1);
|
taskVO.setIsins(0);
|
taskVO.setPs(0); // 任务播放状态(空闲 0、播放中 1、暂停 2)
|
taskVO.setI(0); // 当前任务播放音频文件标识
|
taskVO.setVol(param.getMissionVolume());
|
taskVO.setExec(param.getExec());
|
taskVO.setFiles(param.getFiles());
|
taskVO.setTerminals(param.getTerminals());
|
return taskVO;
|
}
|
|
|
// 任务唯一标识(>=1,添加任务时为 0)
|
private Integer id;
|
// 任务是否可用(开启 1,关闭 0)
|
private Integer en;
|
// 任务运行状态(运行中 1,空闲 0)
|
private Integer exe;
|
// 任务名称
|
private String name;
|
// 任务广播方式(单播为 0,组播为 1)
|
private Integer mode;
|
// 系统保留
|
private BigInteger dur;
|
// 预开功放时间(秒)
|
private Integer power;
|
// 创建用户
|
private Integer user;
|
// 指定播放次数(默认为 1 次)
|
private Integer pn;
|
// 任务优先级别(11-100),数值越小,优先级别越大。
|
private Integer lv;
|
// 系统保留
|
private BigInteger btime;
|
// 任务执行规则(每天为 0,每周为 1,手动为 2)
|
@JsonIgnore
|
private Integer rule;
|
// 任务开始日期,一般为任务创建日期
|
private BigInteger bdate;
|
// 任务结束日期,一直有效为-1
|
private BigInteger edate;
|
// 每周执行规则,rule 为 1 时,有效
|
private Integer week;
|
// 任务类型,定时任务为 1
|
private Integer type;
|
//
|
private Integer SchemeID;
|
// 系统保留
|
private Integer ei;
|
// 系统保留
|
private Integer echannel;
|
// 系统保留
|
private Integer prule;
|
// 任务音频源类型为采集时,指定采集质量(8000、 16000、32000)
|
private Integer sample;
|
// 系统保留
|
private Integer voice;
|
// 系统保留
|
private Integer instime;
|
// 系统保留
|
private Integer isins;
|
// 任务播放状态(空闲 0、播放中 1、暂停 2)
|
private Integer ps;
|
// 当前任务播放音频文件标识
|
private Integer i;
|
// 任务指定音量(1—100,为-1 不指定音量)
|
private Integer vol;
|
// 任务执行时间列表
|
private TaskRunTimeVO[] exec;
|
// 音频文件列表
|
@JsonIgnore
|
private TaskMediaFileVO[] files;
|
// 播放终端 ID 列表
|
@JsonIgnore
|
private TaskTerminalVO[] terminals;
|
@JsonIgnore
|
private String userName;
|
|
private String weeks;
|
|
private List<Integer> fileIds=new ArrayList<>();
|
|
private List<Integer> TerminalIds=new ArrayList<>();
|
|
}
|