From d8062f810c4ce3f3c2d2aa8fa3d766c945eaa386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Ctjq=E2=80=9D?= Date: Sat, 7 Nov 2020 22:09:38 +0800 Subject: [PATCH] fix: NPE when user use invalid params #87 --- .../powerjob/server/service/JobService.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/JobService.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/JobService.java index 2e1854ab..8f7738c7 100644 --- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/JobService.java +++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/JobService.java @@ -78,9 +78,8 @@ public class JobService { jobInfoDO.setTimeExpressionType(request.getTimeExpressionType().getV()); jobInfoDO.setStatus(request.isEnable() ? SwitchableStatus.ENABLE.getV() : SwitchableStatus.DISABLE.getV()); - if (jobInfoDO.getMaxWorkerCount() == null) { - jobInfoDO.setMaxWorkerCount(0); - } + // 填充默认值,非空保护防止 NPE + fillDefaultValue(jobInfoDO); // 转化报警用户列表 if (!CollectionUtils.isEmpty(request.getNotifyUserIds())) { @@ -230,4 +229,13 @@ public class JobService { jobInfoDO.setGmtModified(now); } + private void fillDefaultValue(JobInfoDO jobInfoDO) { + if (jobInfoDO.getMaxWorkerCount() == null) { + jobInfoDO.setMaxWorkerCount(0); + } + if (jobInfoDO.getMaxInstanceNum() == null) { + jobInfoDO.setMaxInstanceNum(0); + } + } + }