package com.sandu.ximon.admin.utils;
|
|
import com.alibaba.fastjson.JSON;
|
import com.sandu.ximon.admin.config.BroadcastAPI;
|
import com.sandu.ximon.admin.config.BroadcastV2Config;
|
import com.sandu.ximon.admin.param.IpVolumeMissionParam;
|
import com.sandu.ximon.admin.utils.request.CommonRequestParams;
|
import com.sandu.ximon.admin.utils.request.LoginRequestParams;
|
import com.sandu.ximon.admin.utils.response.CommonResponseVO;
|
import com.sandu.ximon.admin.utils.response.DataResponseVO;
|
import com.sandu.ximon.admin.vo.*;
|
|
|
public class TaskAPIUtils {
|
|
|
/**
|
* 添加v2音柱任务
|
*
|
* @return 0: 失败 成功返回ID
|
*/
|
public static Integer addTask(IpVolumeMissionParam param) {
|
TaskVO taskVO = TaskVO.generateTask(param);
|
LoginResponseVO responseVO1 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
|
IDResponseVO responseVO = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("data",taskVO)
|
.getKey(responseVO1),
|
BroadcastAPI.ADD_TASK.getUrl(),
|
CharUtils.UTF8),
|
IDResponseVO.class
|
);
|
|
if("access id 错误".equals(responseVO.getMsg())){
|
//去获取TOKEN或者ID
|
LoginResponseVO responseVO3 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
System.out.println(responseVO1);
|
System.out.println("---------------------------------------------------------");
|
|
IDResponseVO responseVO2 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("data",taskVO)// responseVO1.toString(),
|
.getKey(responseVO1),
|
BroadcastAPI.ADD_TASK.getUrl(),
|
CharUtils.UTF8),
|
IDResponseVO.class
|
);
|
|
//重新请求数据
|
}
|
|
if(responseVO.isOK()){
|
return responseVO.getId();
|
}
|
return 0;
|
|
}
|
|
public static TaskVO getTask(Integer taskId) {
|
LoginResponseVO responseVO1 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
DataResponseVO responseVO = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("id",taskId)
|
.getKey(responseVO1),
|
BroadcastAPI.GET_TASK.getUrl(),
|
CharUtils.UTF8),
|
DataResponseVO.class
|
);
|
|
if(responseVO.isOK()){
|
TaskVO taskVO = responseVO.convert(TaskVO.class);
|
return taskVO;
|
}
|
return null;
|
}
|
|
/**
|
* 删除任务
|
* @param taskId
|
* @return 0: 成功 1:任务不处于空闲状态 2:服务器删除失败
|
*/
|
public static Integer delTask(Integer taskId) {
|
|
TaskVO task = getTask(taskId);
|
if(task == null) {
|
return 0;
|
}
|
if(0 != task.getExe()) {
|
return 1;
|
}else {
|
LoginResponseVO responseVO1 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
CommonResponseVO responseVO = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("id",taskId)
|
.getKey(responseVO1),
|
BroadcastAPI.DEL_TASK.getUrl(),
|
CharUtils.UTF8),
|
CommonResponseVO.class
|
);
|
if(responseVO.isOK()){
|
return 0;
|
}else{
|
return 2;
|
}
|
}
|
|
}
|
|
public static boolean playTask(Integer taskId) {
|
LoginResponseVO responseVO1 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
CommonResponseVO responseVO = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("id",taskId)
|
.getKey(responseVO1),
|
BroadcastAPI.RUN_TASK.getUrl(),
|
CharUtils.UTF8),
|
CommonResponseVO.class
|
);
|
if(responseVO.isOK()){
|
return true;
|
}
|
return false;
|
}
|
|
public static boolean stopTask(Integer taskId) {
|
LoginResponseVO responseVO1 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
CommonResponseVO responseVO = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("id",taskId)
|
.getKey(responseVO1),
|
BroadcastAPI.END_TASK.getUrl(),
|
CharUtils.UTF8),
|
CommonResponseVO.class
|
);
|
if(responseVO.isOK()){
|
return true;
|
}
|
return false;
|
}
|
|
public static boolean pauseTask(Integer taskId) {
|
LoginResponseVO responseVO1 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
CommonResponseVO responseVO = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("id",taskId)
|
.getKey(responseVO1),
|
BroadcastAPI.PAUSE_TASK.getUrl(),
|
CharUtils.UTF8),
|
CommonResponseVO.class
|
);
|
if(responseVO.isOK()){
|
return true;
|
}
|
return false;
|
}
|
|
public static boolean continueTask(Integer taskId) {
|
LoginResponseVO responseVO1 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
CommonResponseVO responseVO = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("id",taskId)
|
.getKey(responseVO1),
|
BroadcastAPI.PLAY_TASK.getUrl(),
|
CharUtils.UTF8),
|
CommonResponseVO.class
|
);
|
if(responseVO.isOK()){
|
return true;
|
}
|
return false;
|
}
|
|
public static Integer updateTask(Integer taskId, Integer defaultVolumn) {
|
TaskVO task = getTask(taskId);
|
if(task == null) {
|
return 0;
|
}
|
if(0 != task.getExe()) {
|
return 1;
|
}else {
|
task.setVol(defaultVolumn);
|
LoginResponseVO responseVO1 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
CommonResponseVO responseVO = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("id",taskId)
|
.put("data",task)
|
.getKey(responseVO1),
|
BroadcastAPI.UPDATE_TASK.getUrl(),
|
CharUtils.UTF8),
|
CommonResponseVO.class
|
);
|
if(responseVO.isOK()){
|
return 0;
|
}else{
|
return 2;
|
}
|
}
|
}
|
|
/**
|
* 更新任务
|
* @param taskId
|
* @param
|
* @return 0:成功 1:服务器无该任务 2:任务正在执行,无法修改 3:服务器修改失败
|
*/
|
public static Integer updateTask(//
|
Integer taskId, IpVolumeMissionParam param) {
|
|
TaskVO task = getTask(taskId);
|
if(task == null) {
|
return 1;
|
}
|
if(0 != task.getExe()) {
|
return 2;
|
}else {
|
task.setName(param.getMissionName());
|
task.setVol(param.getMissionVolume());
|
task.setTerminals(param.getTerminals());
|
task.setFiles(param.getFiles());
|
|
LoginResponseVO responseVO1 = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new LoginRequestParams(
|
BroadcastV2Config.LOGIN_USERNAME,
|
BroadcastV2Config.LOGIN_PASSWORD
|
).getParams(),
|
BroadcastAPI.LOGIN.getUrl(), CharUtils.UTF8
|
)
|
,LoginResponseVO.class
|
);
|
CommonResponseVO responseVO = JSON.parseObject(
|
BroadcastPostUtils.Post(
|
new CommonRequestParams()
|
.put("id",taskId)
|
.put("data",task)
|
.getKey(responseVO1),
|
BroadcastAPI.UPDATE_TASK.getUrl(),
|
CharUtils.UTF8),
|
CommonResponseVO.class
|
);
|
if(responseVO.isOK()){
|
return 0;
|
}else{
|
return 3;
|
}
|
}
|
|
}
|
}
|