Merge pull request #1196 from Z-Beatles/hotfix-1022

Remove duplicate childJobId splices
This commit is contained in:
许雪里 2019-10-25 11:39:09 +08:00 committed by GitHub
commit 404500e981
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 21 deletions

View File

@ -91,11 +91,12 @@ public class XxlJobServiceImpl implements XxlJobService {
} }
// ChildJobId valid // ChildJobId valid
if (jobInfo.getChildJobId()!=null && jobInfo.getChildJobId().trim().length()>0) { String childJobId = jobInfo.getChildJobId();
String[] childJobIds = jobInfo.getChildJobId().split(","); if (childJobId !=null && childJobId.trim().length()>0) {
String[] childJobIds = childJobId.split(",");
for (String childJobIdItem: childJobIds) { for (String childJobIdItem: childJobIds) {
if (childJobIdItem!=null && childJobIdItem.trim().length()>0 && isNumeric(childJobIdItem)) { if (childJobIdItem!=null && childJobIdItem.trim().length()>0 && isNumeric(childJobIdItem)) {
XxlJobInfo childJobInfo = xxlJobInfoDao.loadById(Integer.valueOf(childJobIdItem)); XxlJobInfo childJobInfo = xxlJobInfoDao.loadById(Integer.parseInt(childJobIdItem));
if (childJobInfo==null) { if (childJobInfo==null) {
return new ReturnT<String>(ReturnT.FAIL_CODE, return new ReturnT<String>(ReturnT.FAIL_CODE,
MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_not_found")), childJobIdItem)); MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_not_found")), childJobIdItem));
@ -106,13 +107,7 @@ public class XxlJobServiceImpl implements XxlJobService {
} }
} }
String temp = ""; // join , jobInfo.setChildJobId(childJobId);
for (String item:childJobIds) {
temp += item + ",";
}
temp = temp.substring(0, temp.length()-1);
jobInfo.setChildJobId(temp);
} }
// add in db // add in db
@ -154,11 +149,12 @@ public class XxlJobServiceImpl implements XxlJobService {
} }
// ChildJobId valid // ChildJobId valid
if (jobInfo.getChildJobId()!=null && jobInfo.getChildJobId().trim().length()>0) { String childJobId = jobInfo.getChildJobId();
String[] childJobIds = jobInfo.getChildJobId().split(","); if (childJobId !=null && childJobId.trim().length()>0) {
String[] childJobIds = childJobId.split(",");
for (String childJobIdItem: childJobIds) { for (String childJobIdItem: childJobIds) {
if (childJobIdItem!=null && childJobIdItem.trim().length()>0 && isNumeric(childJobIdItem)) { if (childJobIdItem!=null && childJobIdItem.trim().length()>0 && isNumeric(childJobIdItem)) {
XxlJobInfo childJobInfo = xxlJobInfoDao.loadById(Integer.valueOf(childJobIdItem)); XxlJobInfo childJobInfo = xxlJobInfoDao.loadById(Integer.parseInt(childJobIdItem));
if (childJobInfo==null) { if (childJobInfo==null) {
return new ReturnT<String>(ReturnT.FAIL_CODE, return new ReturnT<String>(ReturnT.FAIL_CODE,
MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_not_found")), childJobIdItem)); MessageFormat.format((I18nUtil.getString("jobinfo_field_childJobId")+"({0})"+I18nUtil.getString("system_not_found")), childJobIdItem));
@ -169,13 +165,7 @@ public class XxlJobServiceImpl implements XxlJobService {
} }
} }
String temp = ""; // join , jobInfo.setChildJobId(childJobId);
for (String item:childJobIds) {
temp += item + ",";
}
temp = temp.substring(0, temp.length()-1);
jobInfo.setChildJobId(temp);
} }
// group valid // group valid
@ -216,7 +206,7 @@ public class XxlJobServiceImpl implements XxlJobService {
exists_jobInfo.setExecutorBlockStrategy(jobInfo.getExecutorBlockStrategy()); exists_jobInfo.setExecutorBlockStrategy(jobInfo.getExecutorBlockStrategy());
exists_jobInfo.setExecutorTimeout(jobInfo.getExecutorTimeout()); exists_jobInfo.setExecutorTimeout(jobInfo.getExecutorTimeout());
exists_jobInfo.setExecutorFailRetryCount(jobInfo.getExecutorFailRetryCount()); exists_jobInfo.setExecutorFailRetryCount(jobInfo.getExecutorFailRetryCount());
exists_jobInfo.setChildJobId(jobInfo.getChildJobId()); exists_jobInfo.setChildJobId(childJobId);
exists_jobInfo.setTriggerNextTime(nextTriggerTime); exists_jobInfo.setTriggerNextTime(nextTriggerTime);
xxlJobInfoDao.update(exists_jobInfo); xxlJobInfoDao.update(exists_jobInfo);