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; } /** * 暂停 * @param taskId * @return */ 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; } /** * 继续 * @param taskId * @return */ 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.setBdate(param.getOnDate()); task.setEdate(param.getOffDate()); task.setTerminals(param.getTerminals()); task.setFiles(param.getFiles()); task.setExec(param.getExec()); 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; } } } }