...
|
...
|
@@ -4,13 +4,13 @@ import com.monitor.awstools.constant.Constants; |
|
|
import com.monitor.awstools.constant.JobType;
|
|
|
import com.monitor.awstools.constant.TaskStatus;
|
|
|
import com.monitor.awstools.constant.TaskType;
|
|
|
import com.monitor.awstools.job.AwsTask;
|
|
|
import com.monitor.awstools.task.AwsTask;
|
|
|
import com.monitor.awstools.model.*;
|
|
|
import com.monitor.awstools.service.AwsQueryService;
|
|
|
import com.monitor.awstools.service.TaskService;
|
|
|
import com.monitor.model.response.BaseResponse;
|
|
|
import com.sun.javafx.collections.MappingChange;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.quartz.CronExpression;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
...
|
...
|
@@ -118,48 +118,43 @@ public class AwsToolController { |
|
|
*/
|
|
|
@RequestMapping(value = "/task/create")
|
|
|
public BaseResponse createTask(@RequestBody AwsEbsReq task) {
|
|
|
Map<String, String> proMaps = convertProMap(task);
|
|
|
//插入创建时间
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy/MM/dd HH:mm");
|
|
|
|
|
|
proMaps.put(Constants.CREATETIME, simpleDateFormat.format(new Date()));
|
|
|
|
|
|
try {
|
|
|
taskService.addTask(proMaps.get(Constants.TASKNAME), proMaps.get(Constants.TASKGROUP), JobType.valueOf(proMaps.get(Constants.JOBTYPE)), proMaps);
|
|
|
checkExpression(task);
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
DEBUG.error("Failed to create task.... error {}", e);
|
|
|
DEBUG.error("Failed to create task ... error {}", e.getMessage());
|
|
|
|
|
|
return new BaseResponse(400, e.getMessage());
|
|
|
}
|
|
|
|
|
|
return new BaseResponse();
|
|
|
}
|
|
|
Map<String, String> proMaps = convertProMap(task);
|
|
|
|
|
|
//插入创建时间
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy/MM/dd HH:mm");
|
|
|
|
|
|
/**
|
|
|
* 修改task
|
|
|
*
|
|
|
* @param task
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "/task/edit")
|
|
|
public BaseResponse editTask(@RequestBody AwsEbsReq task) {
|
|
|
Map<String, String> proMap = convertProMap(task);
|
|
|
proMaps.put(Constants.CREATETIME, simpleDateFormat.format(new Date()));
|
|
|
|
|
|
try {
|
|
|
taskService.configTask(proMap.get(Constants.TASKNAME), proMap.get(Constants.TASKGROUP), proMap);
|
|
|
|
|
|
if (taskService.checkTaskExist(task.getTaskName(), Constants.GROUP)) {
|
|
|
|
|
|
taskService.configTask(proMaps.get(Constants.TASKNAME), proMaps.get(Constants.TASKGROUP), proMaps);
|
|
|
|
|
|
} else {
|
|
|
taskService.addTask(proMaps.get(Constants.TASKNAME), proMaps.get(Constants.TASKGROUP), JobType.valueOf(proMaps.get(Constants.JOBTYPE)), proMaps);
|
|
|
}
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
DEBUG.error("Failed to re-config task .... error {}", e);
|
|
|
DEBUG.error("Failed to create task.... error {}", e);
|
|
|
|
|
|
return new BaseResponse(400, e.getMessage());
|
|
|
}
|
|
|
|
|
|
return new BaseResponse();
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 暂停task
|
|
|
*
|
...
|
...
|
@@ -296,6 +291,7 @@ public class AwsToolController { |
|
|
|
|
|
proMap.put(Constants.EXPRESSION, awsEbsReq.getTaskExp());
|
|
|
|
|
|
|
|
|
proMap.put(Constants.VOLUME, awsEbsReq.getVolumeId());
|
|
|
|
|
|
proMap.put(Constants.DESCRPTION, awsEbsReq.getSanpShotDesc());
|
...
|
...
|
@@ -307,6 +303,26 @@ public class AwsToolController { |
|
|
return proMap;
|
|
|
}
|
|
|
|
|
|
private void checkExpression(AwsEbsReq awsEbsReq) throws Exception {
|
|
|
|
|
|
try {
|
|
|
if (StringUtils.equals("1", awsEbsReq.getTaskType())) {
|
|
|
|
|
|
Integer exp = Integer.valueOf(awsEbsReq.getTaskExp());
|
|
|
|
|
|
if (exp <= 0) {
|
|
|
throw new Exception("Expression can not be less than 0...");
|
|
|
}
|
|
|
} else if (StringUtils.equals("2", awsEbsReq.getTaskType())) {
|
|
|
if (!CronExpression.isValidExpression(awsEbsReq.getTaskExp())) {
|
|
|
throw new Exception("Cron expression is error...");
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
throw e;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public AwsEbsTaskResp converAwsTask(AwsTask awsTask) {
|
|
|
|
|
|
AwsEbsTaskResp ebsTaskResp = new AwsEbsTaskResp();
|
...
|
...
|
|