diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/SceneConfigController.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/SceneConfigController.java index 41a26d8c..aca7eb88 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/SceneConfigController.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/SceneConfigController.java @@ -43,6 +43,12 @@ public class SceneConfigController { return sceneConfigService.getSceneConfigDetail(id); } + @LoginRequired + @PutMapping("/{id}/status/{status}") + public Boolean updateStatus(@PathVariable("id") Long id, @PathVariable("status") Integer status) { + return sceneConfigService.updateStatus(id, status); + } + @LoginRequired @PostMapping public Boolean saveSceneConfig(@RequestBody @Validated SceneConfigRequestVO requestVO) { diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/SceneConfigService.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/SceneConfigService.java index baafd294..fb130fe2 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/SceneConfigService.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/SceneConfigService.java @@ -1,9 +1,5 @@ package com.aizuda.snailjob.server.web.service; -import com.aizuda.snailjob.server.web.model.base.PageResult; -import com.aizuda.snailjob.server.web.model.request.SceneConfigQueryVO; -import com.aizuda.snailjob.server.web.model.request.SceneConfigRequestVO; -import com.aizuda.snailjob.server.web.model.response.SceneConfigResponseVO; import com.aizuda.snailjob.server.web.model.base.PageResult; import com.aizuda.snailjob.server.web.model.request.SceneConfigQueryVO; import com.aizuda.snailjob.server.web.model.request.SceneConfigRequestVO; @@ -26,4 +22,6 @@ public interface SceneConfigService { Boolean updateSceneConfig(SceneConfigRequestVO requestVO); SceneConfigResponseVO getSceneConfigDetail(Long id); + + boolean updateStatus(Long id, final Integer status); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/SceneConfigServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/SceneConfigServiceImpl.java index 5759c2f5..cfcfcd7f 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/SceneConfigServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/SceneConfigServiceImpl.java @@ -152,4 +152,18 @@ public class SceneConfigServiceImpl implements SceneConfigService { .eq(RetrySceneConfig::getId, id)); return SceneConfigResponseVOConverter.INSTANCE.convert(retrySceneConfig); } + + @Override + public boolean updateStatus(final Long id, final Integer status) { + + String namespaceId = UserSessionUtils.currentUserSession().getNamespaceId(); + + RetrySceneConfig config = new RetrySceneConfig(); + config.setSceneStatus(status); + + return 1 == accessTemplate.getSceneConfigAccess().update(config, + new LambdaUpdateWrapper() + .eq(RetrySceneConfig::getId, id) + .eq(RetrySceneConfig::getNamespaceId, namespaceId)); + } }