|
|
@@ -21,10 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
|
@@ -49,9 +46,46 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
|
|
|
@Override
|
|
|
public Map<String, Object> insertSmartDataTask(SmartDataTask smartDataTask) {
|
|
|
// 检测参数,还有是否存在重复记录
|
|
|
- Map<String, Object> stringStringMap = validateParams(smartDataTask, "insert");
|
|
|
- if (stringStringMap != null) {
|
|
|
- return stringStringMap;
|
|
|
+ if (smartDataTask.getTkName() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【任务名称】不能为空!");
|
|
|
+ }
|
|
|
+ QueryWrapper<SmartDataTask> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq(smartDataTask.getTkName() != null, "tk_name", smartDataTask.getTkName());
|
|
|
+ SmartDataTask sdt = smartDataTaskMapper.selectOne(queryWrapper);
|
|
|
+ if (sdt != null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "任务名有重名!");
|
|
|
+ }
|
|
|
+ // 检测必要参数是否为null
|
|
|
+ if (smartDataTask.getTkDsId() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【数据源id】不能为空!");
|
|
|
+ }
|
|
|
+ SmartDataSource smartDataSource = smartDataSourceMapper.selectById(smartDataTask.getTkDsId());
|
|
|
+ if (smartDataSource == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "选择的【数据源】不存在!");
|
|
|
+ }
|
|
|
+ if (smartDataTask.getTkCron() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【定时表达式】不能为空!");
|
|
|
+ }
|
|
|
+ if (CronExpression.isValidExpression(smartDataTask.getTkCron())) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【定时表达式】不正确!");
|
|
|
+ }
|
|
|
+ if (smartDataTask.getTkSql() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【任务sql】不能为空!");
|
|
|
+ }
|
|
|
+ if (smartDataTask.getTkDescrition() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【任务描述】不能为空!");
|
|
|
+ }
|
|
|
+ if (smartDataTask.getTkActivation() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【是否启用】不能为空!");
|
|
|
+ }
|
|
|
+ queryWrapper.eq(smartDataTask.getTkDsId() != null, "tk_ds_id", smartDataTask.getTkDsId());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkCron()), "tk_cron", smartDataTask.getTkCron());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkSql()), "tk_sql", smartDataTask.getTkSql());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkDescrition()), "tk_descrition", smartDataTask.getTkDescrition());
|
|
|
+ queryWrapper.eq(smartDataTask.getTkActivation() != null, "tk_activation", smartDataTask.getTkActivation());
|
|
|
+ sdt = smartDataTaskMapper.selectOne(queryWrapper);
|
|
|
+ if (sdt != null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "有重复记录!");
|
|
|
}
|
|
|
|
|
|
int result = smartDataTaskMapper.insert(smartDataTask);
|
|
|
@@ -62,93 +96,56 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 检测验证参数,和数据库中是否存在重复记录
|
|
|
- private Map<String, Object> validateParams(SmartDataTask smartDataTask, String action) {
|
|
|
- // 看是否有相同的记录
|
|
|
- if ("update".equals(action)) {
|
|
|
- List<SmartDataTask> smartDataSources = smartDataTaskMapper.isRepeatTaskName(smartDataTask);
|
|
|
- if (smartDataSources.size() > 0) {
|
|
|
- return CommonUtil.getReturnMap("0", "任务名有重名!");
|
|
|
- }
|
|
|
- }
|
|
|
- QueryWrapper<SmartDataTask> queryWrapper = new QueryWrapper<>();
|
|
|
- if ("update".equals(action) || "active".equals(action)) {
|
|
|
- queryWrapper.eq(smartDataTask.getTkId() != null, "tk_id", smartDataTask.getTkId());
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> updateSmartDataTaskById(SmartDataTask smartDataTask) {
|
|
|
+ if (smartDataTask.getTkId() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【任务id】不能为空!");
|
|
|
}
|
|
|
-
|
|
|
- if (!"active".equals(action)) {
|
|
|
- queryWrapper.eq(smartDataTask.getTkName() != null, "tk_name", smartDataTask.getTkName());
|
|
|
- if ("insert".equals(action)) {
|
|
|
- List<SmartDataTask> smartDataSources = smartDataTaskMapper.selectList(queryWrapper);
|
|
|
- if (smartDataSources.size() > 0) {
|
|
|
- return CommonUtil.getReturnMap("0", "任务名有重名!");
|
|
|
- }
|
|
|
- }
|
|
|
- queryWrapper.eq(smartDataTask.getTkDsId() != null, "tk_ds_id", smartDataTask.getTkDsId());
|
|
|
- queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkCron()), "tk_cron", smartDataTask.getTkCron());
|
|
|
- queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkSql()), "tk_sql", smartDataTask.getTkSql());
|
|
|
- queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkDescrition()), "tk_descrition", smartDataTask.getTkDescrition());
|
|
|
+ if (smartDataTask.getTkName() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【任务名称】不能为空!");
|
|
|
}
|
|
|
- queryWrapper.eq(smartDataTask.getTkActivation() != null, "tk_activation", smartDataTask.getTkActivation());
|
|
|
- List<SmartDataTask> smartDataSources = smartDataTaskMapper.selectList(queryWrapper);
|
|
|
+ // 检测参数,还有是否存在重复记录
|
|
|
+ List<SmartDataTask> smartDataSources = smartDataTaskMapper.isRepeatTaskName(smartDataTask);
|
|
|
if (smartDataSources.size() > 0) {
|
|
|
- if ("update".equals(action)) {
|
|
|
- return CommonUtil.getReturnMap("0", "数据未修改,请修改后再提交!");
|
|
|
- }
|
|
|
- if ("active".equals(action)) {
|
|
|
- if (smartDataTask.getTkActivation() == 1) {
|
|
|
- return CommonUtil.getReturnMap("0", "任务之前已启动!");
|
|
|
- } else {
|
|
|
- return CommonUtil.getReturnMap("0", "任务之前已是停止状态!");
|
|
|
- }
|
|
|
- }
|
|
|
- if ("insert".equals(action)) {
|
|
|
- return CommonUtil.getReturnMap("0", "有重复记录!");
|
|
|
- }
|
|
|
+ return CommonUtil.getReturnMap("0", "任务名有重名!");
|
|
|
}
|
|
|
- // 检测必要参数是否为null
|
|
|
- if ("update".equals(action) || "active".equals(action)) {
|
|
|
- if (smartDataTask.getTkId() == null) {
|
|
|
- return CommonUtil.getReturnMap("0", "【任务id】不能为空!");
|
|
|
- }
|
|
|
- SmartDataTask sdc = smartDataTaskMapper.selectById(smartDataTask.getTkId());
|
|
|
- if (sdc == null) {
|
|
|
- return CommonUtil.getReturnMap("0", "要修改的【任务】不存在!");
|
|
|
- }
|
|
|
+ SmartDataTask sdc = smartDataTaskMapper.selectById(smartDataTask.getTkId());
|
|
|
+ if (sdc == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "要修改的【任务】不存在!");
|
|
|
}
|
|
|
-
|
|
|
- if (!"active".equals(action)) {
|
|
|
- // 检测必要参数是否为null
|
|
|
- if (smartDataTask.getTkDsId() == null) {
|
|
|
- return CommonUtil.getReturnMap("0", "【数据源id】不能为空!");
|
|
|
- }
|
|
|
- SmartDataSource smartDataSource = smartDataSourceMapper.selectById(smartDataTask.getTkDsId());
|
|
|
- if (smartDataSource == null) {
|
|
|
- return CommonUtil.getReturnMap("0", "选择的【数据源】不存在!");
|
|
|
- }
|
|
|
- if (smartDataTask.getTkCron() == null) {
|
|
|
- return CommonUtil.getReturnMap("0", "【定时表达式】不能为空!");
|
|
|
- }
|
|
|
- if (CronExpression.isValidExpression(smartDataTask.getTkCron())) {
|
|
|
- return CommonUtil.getReturnMap("0", "【定时表达式】不正确!");
|
|
|
- }
|
|
|
- if (smartDataTask.getTkSql() == null) {
|
|
|
- return CommonUtil.getReturnMap("0", "【任务sql】不能为空!");
|
|
|
- }
|
|
|
+ if (smartDataTask.getTkDsId() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【数据源id】不能为空!");
|
|
|
+ }
|
|
|
+ SmartDataSource smartDataSource = smartDataSourceMapper.selectById(smartDataTask.getTkDsId());
|
|
|
+ if (smartDataSource == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "选择的【数据源】不存在!");
|
|
|
+ }
|
|
|
+ if (smartDataTask.getTkCron() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【定时表达式】不能为空!");
|
|
|
+ }
|
|
|
+ if (CronExpression.isValidExpression(smartDataTask.getTkCron())) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【定时表达式】不正确!");
|
|
|
+ }
|
|
|
+ if (smartDataTask.getTkSql() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【任务sql】不能为空!");
|
|
|
+ }
|
|
|
+ if (smartDataTask.getTkDescrition() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【任务描述】不能为空!");
|
|
|
}
|
|
|
-
|
|
|
if (smartDataTask.getTkActivation() == null) {
|
|
|
return CommonUtil.getReturnMap("0", "【是否启动】不能为空!");
|
|
|
}
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Map<String, Object> updateSmartDataTaskById(SmartDataTask smartDataTask) {
|
|
|
- // 检测参数,还有是否存在重复记录
|
|
|
- Map<String, Object> stringStringMap = validateParams(smartDataTask, "update");
|
|
|
- if (stringStringMap != null) {
|
|
|
- return stringStringMap;
|
|
|
+ QueryWrapper<SmartDataTask> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq(smartDataTask.getTkId() != null, "tk_id", smartDataTask.getTkId());
|
|
|
+ queryWrapper.eq(smartDataTask.getTkDsId() != null, "tk_ds_id", smartDataTask.getTkDsId());
|
|
|
+ queryWrapper.eq(smartDataTask.getTkName() != null, "tk_name", smartDataTask.getTkName());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkCron()), "tk_cron", smartDataTask.getTkCron());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkSql()), "tk_sql", smartDataTask.getTkSql());
|
|
|
+ queryWrapper.eq(StringUtils.hasText(smartDataTask.getTkDescrition()), "tk_descrition", smartDataTask.getTkDescrition());
|
|
|
+ queryWrapper.eq(smartDataTask.getTkActivation() != null, "tk_activation", smartDataTask.getTkActivation());
|
|
|
+ SmartDataTask sdt = smartDataTaskMapper.selectOne(queryWrapper);
|
|
|
+ if (sdt != null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "数据未修改,请修改后再提交!");
|
|
|
}
|
|
|
|
|
|
int result = smartDataTaskMapper.updateById(smartDataTask);
|
|
|
@@ -161,24 +158,25 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
|
|
|
|
|
|
private Map<String, Object> updateSmartDataTaskActivation(SmartDataTask smartDataTask) {
|
|
|
// 检测参数,还有是否存在重复记录
|
|
|
- Map<String, Object> stringStringMap = validateParams(smartDataTask, "active");
|
|
|
- if (stringStringMap != null) {
|
|
|
- return stringStringMap;
|
|
|
+ if (smartDataTask.getTkId() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【任务id】不能为空!");
|
|
|
+ }
|
|
|
+ SmartDataTask sdc = smartDataTaskMapper.selectById(smartDataTask.getTkId());
|
|
|
+ if (sdc == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "要修改的【任务】不存在!");
|
|
|
+ }
|
|
|
+ if (smartDataTask.getTkActivation() == null) {
|
|
|
+ return CommonUtil.getReturnMap("0", "【是否启用】不能为空!");
|
|
|
}
|
|
|
|
|
|
- Integer tkActivation = smartDataTask.getTkActivation();
|
|
|
int result = smartDataTaskMapper.updateById(smartDataTask);
|
|
|
- if (tkActivation == 1) {
|
|
|
- if (result > 0) {
|
|
|
- return CommonUtil.getReturnMap(String.valueOf(result), "启动成功!");
|
|
|
- } else {
|
|
|
- return CommonUtil.getReturnMap(String.valueOf(result), "启动失败!");
|
|
|
- }
|
|
|
+ if (result > 0) {
|
|
|
+ return CommonUtil.getReturnMap(String.valueOf(result), "标注成功!");
|
|
|
} else {
|
|
|
- if (result > 0) {
|
|
|
- return CommonUtil.getReturnMap(String.valueOf(result), "取消启动成功!");
|
|
|
+ if (smartDataTask.getTkActivation() == 1) {
|
|
|
+ return CommonUtil.getReturnMap(String.valueOf(result), "标注失败,之前已是启用状态!");
|
|
|
} else {
|
|
|
- return CommonUtil.getReturnMap(String.valueOf(result), "取消启动失败!");
|
|
|
+ return CommonUtil.getReturnMap(String.valueOf(result), "标注失败,之前已是启用状态!");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -232,6 +230,7 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
|
|
|
SmartDataTask smartDataTask_return = (SmartDataTask) tmp_map.get("msg");
|
|
|
Map<String, Object> returnMap = QuartzJobUtils.createScheduleJob(scheduler, smartDataTask_return);
|
|
|
if ("0".equals(returnMap.get("code"))) {
|
|
|
+ smartDataTask.setTkId(smartDataTask_return.getTkId());
|
|
|
smartDataTask.setTkActivation(1);
|
|
|
Map<String, Object> stringStringMap = updateSmartDataTaskActivation(smartDataTask);
|
|
|
String msg;
|
|
|
@@ -291,7 +290,21 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
|
|
|
|
|
|
SmartDataTask smartDataTask_return = (SmartDataTask) tmp_map.get("msg");
|
|
|
|
|
|
- return QuartzJobUtils.deleteScheduleJob(scheduler, smartDataTask_return.getTkName());
|
|
|
+ Map<String, Object> returnMap = QuartzJobUtils.deleteScheduleJob(scheduler, smartDataTask_return.getTkName());
|
|
|
+ if ("0".equals(returnMap.get("code"))) {
|
|
|
+ smartDataTask.setTkId(smartDataTask_return.getTkId());
|
|
|
+ smartDataTask.setTkActivation(0);
|
|
|
+ Map<String, Object> stringStringMap = updateSmartDataTaskActivation(smartDataTask);
|
|
|
+ String msg;
|
|
|
+ if ("0".equals(stringStringMap.get("code"))) {
|
|
|
+ msg = (String) returnMap.get("msg") + stringStringMap.get("msg");
|
|
|
+ } else {
|
|
|
+ msg = (String) returnMap.get("msg") + stringStringMap.get("msg");
|
|
|
+ }
|
|
|
+ return CommonResult.ok(msg);
|
|
|
+ } else {
|
|
|
+ return CommonResult.fail((String) returnMap.get("msg"));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|